@paraswap/dex-lib 3.3.0-v6-only → 3.3.1-return-amount-pos.0

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 (519) 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 +3 -2
  41. package/build/dex/angle-staked-stable/angle-staked-stable.js +20 -37
  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 +3 -6
  330. package/build/router/simpleswap.js.map +1 -1
  331. package/build/types.d.ts +1 -0
  332. package/dex-template/__DexName__.ts.template +29 -2
  333. package/package.json +1 -1
  334. package/src/dex/aave-v1/aave-v1.ts +1 -0
  335. package/src/dex/aave-v2/aave-v2.ts +1 -0
  336. package/src/dex/aave-v3/aave-v3.ts +1 -0
  337. package/src/dex/algebra/algebra.ts +9 -0
  338. package/src/dex/angle-staked-stable/angle-staked-stable.ts +42 -38
  339. package/src/dex/bProtocol/bProtocol.ts +8 -0
  340. package/src/dex/balancer-v1/balancer-v1.ts +9 -0
  341. package/src/dex/balancer-v2/balancer-v2.ts +3 -2
  342. package/src/dex/bancor/bancor.ts +8 -0
  343. package/src/dex/camelot/camelot.ts +1 -0
  344. package/src/dex/compound/compound.ts +1 -0
  345. package/src/dex/curve-v1/curve-v1.ts +1 -0
  346. package/src/dex/curve-v1-factory/curve-v1-factory.ts +1 -0
  347. package/src/dex/curve-v2/curve-v2.ts +1 -0
  348. package/src/dex/dexalot/dexalot.ts +1 -0
  349. package/src/dex/dodo-v1/dodo-v1.ts +9 -0
  350. package/src/dex/dodo-v2.ts +9 -0
  351. package/src/dex/etherfi.ts +2 -0
  352. package/src/dex/generic-rfq/generic-rfq.ts +1 -0
  353. package/src/dex/gmx/gmx.ts +8 -0
  354. package/src/dex/hashflow/hashflow.ts +1 -0
  355. package/src/dex/idex.ts +3 -5
  356. package/src/dex/jarvis-v6/jarvis-v6.ts +1 -0
  357. package/src/dex/jarvis.ts +14 -0
  358. package/src/dex/kyberdmm/kyberdmm.ts +9 -0
  359. package/src/dex/lido/lido.ts +8 -0
  360. package/src/dex/maker-psm/maker-psm.ts +1 -0
  361. package/src/dex/maverick-v1/maverick-v1.ts +9 -0
  362. package/src/dex/nerve/nerve.ts +8 -0
  363. package/src/dex/onebit/onebit.ts +8 -0
  364. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +9 -0
  365. package/src/dex/paraswap-limit-orders/paraswap-limit-orders.ts +1 -0
  366. package/src/dex/platypus/platypus.ts +20 -3
  367. package/src/dex/polygon-migrator/polygon-migrator.ts +1 -0
  368. package/src/dex/quick-perps/quick-perps.ts +11 -1
  369. package/src/dex/smoothy/smoothy.ts +1 -0
  370. package/src/dex/solidly/solidly.ts +1 -0
  371. package/src/dex/solidly-v3/solidly-v3.ts +1 -1
  372. package/src/dex/spark/spark.ts +10 -0
  373. package/src/dex/stable-pool/stable-pool.ts +8 -0
  374. package/src/dex/swaap-v1/swaap-v1.ts +9 -0
  375. package/src/dex/swaap-v2/swaap-v2.ts +1 -0
  376. package/src/dex/swell/swell.ts +1 -0
  377. package/src/dex/synthetix/synthetix.ts +11 -0
  378. package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +9 -0
  379. package/src/dex/uniswap-v2/uniswap-v2.ts +1 -0
  380. package/src/dex/uniswap-v3/uniswap-v3.ts +9 -0
  381. package/src/dex/uniswap-v3.ts +9 -0
  382. package/src/dex/weth/weth.ts +1 -0
  383. package/src/dex/wombat/wombat.ts +9 -0
  384. package/src/dex/woo-fi-v2/woo-fi-v2.ts +5 -0
  385. package/src/dex/wsteth/wsteth.ts +13 -4
  386. package/src/dex/zerox/index.ts +1 -0
  387. package/src/executor/Executor01BytecodeBuilder.ts +8 -1
  388. package/src/executor/Executor02BytecodeBuilder.ts +13 -0
  389. package/src/executor/ExecutorBytecodeBuilder.ts +6 -1
  390. package/src/executor/ExecutorDetector.ts +3 -2
  391. package/src/executor/constants.ts +4 -1
  392. package/src/executor/executor01-bytecode-builder-e2e.test.ts +39 -0
  393. package/src/executor/utils.ts +44 -0
  394. package/src/router/simpleswap.ts +3 -7
  395. package/src/types.ts +1 -0
  396. package/tests/constants-e2e.ts +6 -1
  397. package/build/abi/Redstone.json +0 -739
  398. package/build/abi/angle-transmuter/MorphoVault.json +0 -2506
  399. package/build/abi/angle-transmuter/Pyth.json +0 -1534
  400. package/build/abi/angle-transmuter/Transmuter.json +0 -1711
  401. package/build/abi/idle-dao/idle-cdo-factory.json +0 -38
  402. package/build/abi/idle-dao/idle-cdo.json +0 -1245
  403. package/build/abi/pharaoh/PharaohPool.abi.json +0 -1582
  404. package/build/abi/smardex/smardex-factory.json +0 -185
  405. package/build/abi/smardex/smardex-pool.json +0 -578
  406. package/build/abi/smardex/smardex-router.json +0 -648
  407. package/build/abi/trader-joe-v2_1/FactoryABI.json +0 -1208
  408. package/build/abi/trader-joe-v2_1/PairABI.json +0 -1493
  409. package/build/abi/trader-joe-v2_1/RouterABI.json +0 -1489
  410. package/build/abi/trader-joe-v2_1/StateMulticall.json +0 -193
  411. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -61
  412. package/build/dex/angle-transmuter/angle-transmuter-pool.js +0 -415
  413. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +0 -1
  414. package/build/dex/angle-transmuter/angle-transmuter.js +0 -262
  415. package/build/dex/angle-transmuter/angle-transmuter.js.map +0 -1
  416. package/build/dex/angle-transmuter/backedOracle.d.ts +0 -19
  417. package/build/dex/angle-transmuter/backedOracle.js +0 -56
  418. package/build/dex/angle-transmuter/backedOracle.js.map +0 -1
  419. package/build/dex/angle-transmuter/config.js +0 -30
  420. package/build/dex/angle-transmuter/config.js.map +0 -1
  421. package/build/dex/angle-transmuter/constants.d.ts +0 -77
  422. package/build/dex/angle-transmuter/constants.js +0 -94
  423. package/build/dex/angle-transmuter/constants.js.map +0 -1
  424. package/build/dex/angle-transmuter/morphoOracle.js +0 -179
  425. package/build/dex/angle-transmuter/morphoOracle.js.map +0 -1
  426. package/build/dex/angle-transmuter/morphoVault.d.ts +0 -19
  427. package/build/dex/angle-transmuter/morphoVault.js +0 -78
  428. package/build/dex/angle-transmuter/morphoVault.js.map +0 -1
  429. package/build/dex/angle-transmuter/pyth.d.ts +0 -19
  430. package/build/dex/angle-transmuter/pyth.js +0 -70
  431. package/build/dex/angle-transmuter/pyth.js.map +0 -1
  432. package/build/dex/angle-transmuter/redstone.d.ts +0 -20
  433. package/build/dex/angle-transmuter/redstone.js +0 -73
  434. package/build/dex/angle-transmuter/redstone.js.map +0 -1
  435. package/build/dex/angle-transmuter/transmuter.d.ts +0 -52
  436. package/build/dex/angle-transmuter/transmuter.js +0 -374
  437. package/build/dex/angle-transmuter/transmuter.js.map +0 -1
  438. package/build/dex/angle-transmuter/types.d.ts +0 -188
  439. package/build/dex/angle-transmuter/types.js +0 -33
  440. package/build/dex/angle-transmuter/types.js.map +0 -1
  441. package/build/dex/angle-transmuter/utils.d.ts +0 -9
  442. package/build/dex/angle-transmuter/utils.js +0 -252
  443. package/build/dex/angle-transmuter/utils.js.map +0 -1
  444. package/build/dex/idle-dao/config.d.ts +0 -6
  445. package/build/dex/idle-dao/config.js +0 -29
  446. package/build/dex/idle-dao/config.js.map +0 -1
  447. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  448. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  449. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  450. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  451. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  452. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  453. package/build/dex/idle-dao/idle-dao.d.ts +0 -52
  454. package/build/dex/idle-dao/idle-dao.js +0 -310
  455. package/build/dex/idle-dao/idle-dao.js.map +0 -1
  456. package/build/dex/idle-dao/tokens.d.ts +0 -16
  457. package/build/dex/idle-dao/tokens.js +0 -87
  458. package/build/dex/idle-dao/tokens.js.map +0 -1
  459. package/build/dex/idle-dao/types.d.ts +0 -37
  460. package/build/dex/idle-dao/types.js +0 -11
  461. package/build/dex/idle-dao/types.js.map +0 -1
  462. package/build/dex/idle-dao/utils.d.ts +0 -8
  463. package/build/dex/idle-dao/utils.js +0 -145
  464. package/build/dex/idle-dao/utils.js.map +0 -1
  465. package/build/dex/smardex/subgraph-queries.d.ts +0 -1
  466. package/build/dex/smardex/subgraph-queries.js +0 -17
  467. package/build/dex/smardex/subgraph-queries.js.map +0 -1
  468. package/build/dex/smardex/usd-reserves.d.ts +0 -23
  469. package/build/dex/smardex/usd-reserves.js +0 -86
  470. package/build/dex/smardex/usd-reserves.js.map +0 -1
  471. package/build/dex/trader-joe-v2-1-2/config.js +0 -47
  472. package/build/dex/trader-joe-v2-1-2/config.js.map +0 -1
  473. package/build/dex/trader-joe-v2-1-2/constants.d.ts +0 -20
  474. package/build/dex/trader-joe-v2-1-2/constants.js +0 -22
  475. package/build/dex/trader-joe-v2-1-2/constants.js.map +0 -1
  476. package/build/dex/trader-joe-v2-1-2/math/index.d.ts +0 -37
  477. package/build/dex/trader-joe-v2-1-2/math/index.js +0 -291
  478. package/build/dex/trader-joe-v2-1-2/math/index.js.map +0 -1
  479. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.d.ts +0 -60
  480. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js +0 -248
  481. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2-pool.js.map +0 -1
  482. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.d.ts +0 -53
  483. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js +0 -307
  484. package/build/dex/trader-joe-v2-1-2/trader-joe-v2-1-2.js.map +0 -1
  485. package/build/dex/trader-joe-v2-1-2/types.d.ts +0 -82
  486. package/build/dex/trader-joe-v2-1-2/types.js +0 -9
  487. package/build/dex/trader-joe-v2-1-2/types.js.map +0 -1
  488. package/build/dex/trader-joe-v2_1/config.js +0 -47
  489. package/build/dex/trader-joe-v2_1/config.js.map +0 -1
  490. package/build/dex/trader-joe-v2_1/constants.d.ts +0 -20
  491. package/build/dex/trader-joe-v2_1/constants.js +0 -22
  492. package/build/dex/trader-joe-v2_1/constants.js.map +0 -1
  493. package/build/dex/trader-joe-v2_1/math/index.d.ts +0 -37
  494. package/build/dex/trader-joe-v2_1/math/index.js +0 -291
  495. package/build/dex/trader-joe-v2_1/math/index.js.map +0 -1
  496. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.d.ts +0 -0
  497. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js +0 -384
  498. package/build/dex/trader-joe-v2_1/trader-joe-v2.1.js.map +0 -1
  499. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.d.ts +0 -60
  500. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js +0 -247
  501. package/build/dex/trader-joe-v2_1/trader-joe-v2_1-pool.js.map +0 -1
  502. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.d.ts +0 -53
  503. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js +0 -307
  504. package/build/dex/trader-joe-v2_1/trader-joe-v2_1.js.map +0 -1
  505. package/build/dex/trader-joe-v2_1/types.d.ts +0 -82
  506. package/build/dex/trader-joe-v2_1/types.js +0 -9
  507. package/build/dex/trader-joe-v2_1/types.js.map +0 -1
  508. package/build/dex/wombat/wombat-pool-poller.d.ts +0 -22
  509. package/build/dex/wombat/wombat-pool-poller.js +0 -164
  510. package/build/dex/wombat/wombat-pool-poller.js.map +0 -1
  511. package/build/dex-helper/Cache.d.ts +0 -31
  512. package/build/dex-helper/Cache.js +0 -106
  513. package/build/dex-helper/Cache.js.map +0 -1
  514. package/build/dex-helper/RedisBatcher.d.ts +0 -20
  515. package/build/dex-helper/RedisBatcher.js +0 -75
  516. package/build/dex-helper/RedisBatcher.js.map +0 -1
  517. package/build/dex-helper/RedisWrapper.d.ts +0 -37
  518. package/build/dex-helper/RedisWrapper.js +0 -165
  519. 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":";;;;;;AAQA,4CAAwC;AACxC,2EAAiD;AACjD,4CAA+C;AAC/C,oCAAuD;AACvD,2CAAwC;AAIxC,uDAI2B;AAC3B,yCAAiD;AASjD,MAAsB,gBAAgB;IAKpC,YACY,iBAAoC,EACpC,IAAc,EACd,qBAA6B,IAAI,KAAK,oBAAQ,CAAC,IAAI;QAC3D,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,WAAW;IAEf,mDAAmD;IACnD,gEAAgE;IACtD,wBAAwB,WAAI,CAAC,kBAAkB,CAAC,MAAM,CAE9D,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAClB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC;QAfI,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,SAAI,GAAJ,IAAI,CAAU;QACd,uBAAkB,GAAlB,kBAAkB,CAEb;QAIL,0BAAqB,GAArB,qBAAqB,CAOzB;QAEN,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,wBAAY,CAAC,CAAC;IACvD,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,8BAA8B,CACpC,mBAAwC;QAExC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC;QAC9C,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAClD;QAED,OAAO;YACL,OAAO,EAAE,mBAAmB,CAAC,OAAO;YACpC,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,YAAY;YACZ,YAAY;SACb,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,UAAuB,EACvB,YAAoB;QAKpB,MAAM,WAAW,GACf,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;QAEzE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrE,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;YACzB,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,kGAAkG;YAClG,qFAAqF;YACrF,iCAAiC;YACjC,MAAM,UAAU,GACd,SAAS,GAAG,CAAC;gBACb,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBAC3B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,OAAO;gBAC9D,CAAC,CAAC,EAAE,CAAC,SAAS;gBACd,CAAC,CAAC,CACE,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC7C,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAC7B,CAAC,QAAQ,EAAE,CAAC;YAEnB,0DAA0D;YAC1D,0DAA0D;YAC1D,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC;YAEtE,IAAI,GAAG,CAAC,cAAc,EAAE;gBACtB,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC/B,IAAI,SAAS,KAAK,CAAC,EAAE;wBACnB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;qBAC5D;oBACD,IAAI,GAAG,WAAW,CAAC;oBACnB,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;iBAClC;gBAED,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBAChC,IAAI,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;qBAChE;oBACD,KAAK,GAAG,WAAW,CAAC;oBACpB,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;iBACpC;aACF;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,cAAc,CAC3C,IAAI,EACJ,KAAK,EACL,UAAU,EACV,WAAW,EACX,EAAE,CAAC,IAAI,EACP,IAAI,CAAC,IAAI,CACV,CAAC;YAEF,OAAO;gBACL,YAAY;gBACZ,WAAW;gBACX,YAAY;aACb,CAAC;QACJ,CAAC,CAAC,CACH,CACF,CAAC;QAEF,MAAM,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,GACzB,GAAG,MAAM,eAAe,CAAC,MAAM,CAK9B,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACV,GAAG,CAAC,sBAAsB,IAAI,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YACrD,GAAG,CAAC,wBAAwB,IAAI,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACxD,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACjD,OAAO,GAAG,CAAC;QACb,CAAC,EACD;YACE,sBAAsB,EAAE,EAAE;YAC1B,sBAAsB,EAAE,EAAE;YAC1B,wBAAwB,EAAE,EAAE;SAC7B,CACF,CAAC;QAEF,MAAM,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC1C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;YACpC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;SACxE,CAAC,EACF,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAC3D,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,8BAA8B,CAC3D,sBAAsB,EACtB,wBAAwB,CACzB,CAAC;QAEF,IAAI,iBAAiB,EAAE;YACrB,IAAI,iBAAiB,CAAC,OAAO,EAAE;gBAC7B,sBAAsB,CAAC,OAAO,CAAC,OAAO,CACpC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CACjC,CAAC;gBACF,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CACrC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CACnC,CAAC;aACH;YACD,IAAI,iBAAiB,CAAC,QAAQ,EAAE;gBAC9B,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAClC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CACpC,CAAC;aACH;SACF;QAED,OAAO;YACL,yBAAyB,EAAE,IAAI,CAAC,8BAA8B,CAC5D,sBAAsB,CACvB;YACD,UAAU,EAAE,sBAAsB,CAAC,UAAU;SAC9C,CAAC;IACJ,CAAC;IAgBS,8BAA8B,CACtC,aAAqB,EACrB,cAAsB;QAEtB,IAAI,aAAa,KAAK,EAAE,IAAI,cAAc,KAAK,EAAE;YAAE,OAAO;QAE1D,OACE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CACzC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAE7D,CAAC,uBAAuB,CACvB,aAAa,CAAC,QAAQ,EAAE,EACxB,cAAc,CAAC,QAAQ,EAAE,EACzB,IAAI,CAAC,IAAI,EACT,sBAAe,CAAC,EAAE,CACnB,CAAC;IACJ,CAAC;CACF;AA5ND,4CA4NC;AAED,MAAsB,YAAa,SAAQ,gBAAiC;IAC1E,YACE,iBAAoC,EACpC,IAAc,EACd,kBAA0B;QAE1B,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAES,iBAAiB,CAAC,UAAuB;QACjD,OAAO,CACL,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YACvC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAuB,EACvB,YAAoB,EACpB,WAAoB,EACpB,eAAoC,EACpC,cAAuB,EACvB,iBAAyB,EACzB,WAAoB,EACpB,WAAoB,EACpB,MAAc,EACd,QAAgB,EAChB,IAAY;QAEZ,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,oBAAoB,CAAC,CAAC;QAElE,MAAM,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CACrE,UAAU,EACV,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAe;YAC3C,CAAC,CAAC,CAAC,eAAe,EAAE,IAAA,6CAA2B,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,CAAC,CAAC;gBACE,IAAA,iDAA+B,EAAC;oBAC9B,cAAc;oBACd,iBAAiB;oBACjB,WAAW;iBACZ,CAAC;gBACF,IAAA,kCAAgB,EAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;aAC5D,CAAC;QAEN,MAAM,QAAQ,GAAwB;YACpC,GAAG,yBAAyB;YAC5B,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,OAAO,EAAE,UAAU,CAAC,SAAS;YAC7B,UAAU,EACR,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;YACnE,QAAQ,EACN,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU;YACpE,cAAc,EACZ,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACzB,CAAC,CAAC,UAAU,CAAC,UAAU;gBACvB,CAAC,CAAC,UAAU,CAAC,SAAS;YAC1B,WAAW;YACX,OAAO;YACP,UAAU;YACV,MAAM;YACN,QAAQ;YACR,IAAI,EAAE,IAAA,qBAAa,EAAC,IAAI,CAAC;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAa,EAAE,EAAE,CACnC,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CACvC,IAAI,CAAC,kBAAkB,EACvB,MAAM,CACP,CAAC;QACJ,wBAAwB;QACxB,OAAO;YACL,OAAO;YACP,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,UAAU;SACX,CAAC;IACJ,CAAC;CACF;AAjFD,oCAiFC;AAED,MAAa,UAAW,SAAQ,YAAY;IAE1C,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,EAAE,oBAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;;AAJH,gCAKC;AAJQ,gBAAK,GAAG,KAAK,CAAC;AAMvB,MAAa,SAAU,SAAQ,YAAY;IAEzC,YAAY,iBAAoC;QAC9C,KAAK,CAAC,iBAAiB,EAAE,oBAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,qEAAqE;IACrE,8BAA8B;IACpB,iBAAiB,CAAC,UAAuB;QACjD,OAAO,CACL,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG;YACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBACzC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;oBACzC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAClD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,kBAAkB,CACvD,CAAC,CAAC,CACR,CAAC;IACJ,CAAC;;AAlBH,8BAmBC;AAlBQ,eAAK,GAAG,IAAI,CAAC"}
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?: {
@@ -105,8 +105,7 @@ export class __DexName__
105
105
  }
106
106
 
107
107
  // Encode params required by the exchange adapter
108
- // V5: Used for multiSwap, buy & megaSwap
109
- // V6: Not used, can be left blank
108
+ // Used for multiSwap, buy & megaSwap
110
109
  // Hint: abiCoder.encodeParameter() could be useful
111
110
  getAdapterParam(
112
111
  srcToken: string,
@@ -129,6 +128,34 @@ export class __DexName__
129
128
  };
130
129
  }
131
130
 
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
+
132
159
  // This is called once before getTopPoolsForToken is
133
160
  // called for multiple tokens. This can be helpful to
134
161
  // update common state required for calculating
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.3.0-v6-only",
3
+ "version": "3.3.1-return-amount-pos.0",
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,45 +187,48 @@ export class AngleStakedStable
187
187
  };
188
188
  }
189
189
 
190
- // TODO: Uncomment after testing
191
- // async getSimpleParam(
192
- // srcToken: string,
193
- // destToken: string,
194
- // srcAmount: string,
195
- // destAmount: string,
196
- // data: AngleStakedStableData,
197
- // side: SwapSide,
198
- // ): Promise<SimpleExchangeParam> {
199
- // const { exchange } = data;
190
+ // Encode call data used by simpleSwap like routers
191
+ // Used for simpleSwap & simpleBuy
192
+ // Hint: this.buildSimpleParamWithoutWETHConversion
193
+ // could be useful
194
+ async getSimpleParam(
195
+ srcToken: string,
196
+ destToken: string,
197
+ srcAmount: string,
198
+ destAmount: string,
199
+ data: AngleStakedStableData,
200
+ side: SwapSide,
201
+ ): Promise<SimpleExchangeParam> {
202
+ const { exchange } = data;
200
203
 
201
- // // Encode here the transaction arguments
202
- // const swapData =
203
- // srcToken.toLowerCase() === this.config.agToken
204
- // ? AngleStakedStableEventPool.angleStakedStableIface.encodeFunctionData(
205
- // side === SwapSide.SELL ? 'deposit' : 'mint',
206
- // [
207
- // side === SwapSide.SELL ? srcAmount : destAmount,
208
- // this.augustusAddress,
209
- // ],
210
- // )
211
- // : AngleStakedStableEventPool.angleStakedStableIface.encodeFunctionData(
212
- // side === SwapSide.SELL ? 'redeem' : 'withdraw',
213
- // [
214
- // side === SwapSide.SELL ? srcAmount : destAmount,
215
- // this.augustusAddress,
216
- // this.augustusAddress,
217
- // ],
218
- // );
204
+ // Encode here the transaction arguments
205
+ const swapData =
206
+ srcToken.toLowerCase() === this.config.agToken
207
+ ? AngleStakedStableEventPool.angleStakedStableIface.encodeFunctionData(
208
+ side === SwapSide.SELL ? 'deposit' : 'mint',
209
+ [
210
+ side === SwapSide.SELL ? srcAmount : destAmount,
211
+ this.augustusAddress,
212
+ ],
213
+ )
214
+ : AngleStakedStableEventPool.angleStakedStableIface.encodeFunctionData(
215
+ side === SwapSide.SELL ? 'redeem' : 'withdraw',
216
+ [
217
+ side === SwapSide.SELL ? srcAmount : destAmount,
218
+ this.augustusAddress,
219
+ this.augustusAddress,
220
+ ],
221
+ );
219
222
 
220
- // return this.buildSimpleParamWithoutWETHConversion(
221
- // srcToken,
222
- // srcAmount,
223
- // destToken,
224
- // destAmount,
225
- // swapData,
226
- // exchange,
227
- // );
228
- // }
223
+ return this.buildSimpleParamWithoutWETHConversion(
224
+ srcToken,
225
+ srcAmount,
226
+ destToken,
227
+ destAmount,
228
+ swapData,
229
+ exchange,
230
+ );
231
+ }
229
232
 
230
233
  getDexParam(
231
234
  srcToken: Address,
@@ -260,6 +263,7 @@ export class AngleStakedStable
260
263
  dexFuncHasRecipient: true,
261
264
  exchangeData: swapData,
262
265
  targetExchange: exchange,
266
+ returnAmountPos: undefined,
263
267
  };
264
268
  }
265
269
 
@@ -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,8 +53,7 @@ export interface IDexTxBuilder<ExchangeData, DirectParam = null> {
53
53
  getTokenFromAddress?(address: Address): Token;
54
54
 
55
55
  // Encode params required by the exchange adapter
56
- // V5: Used for multiSwap, buy & megaSwap
57
- // V6: NOT used, pass a placeholder
56
+ // Used for multiSwap, buy & megaSwap
58
57
  getAdapterParam(
59
58
  srcToken: Address,
60
59
  destToken: Address,
@@ -65,9 +64,8 @@ export interface IDexTxBuilder<ExchangeData, DirectParam = null> {
65
64
  ): AdapterExchangeParam;
66
65
 
67
66
  // Encode call data used by simpleSwap like routers
68
- // V5: Used for simpleSwap & simpleBuy
69
- // V6: NOT used, don't implement
70
- getSimpleParam?(
67
+ // Used for simpleSwap & simpleBuy
68
+ getSimpleParam(
71
69
  srcToken: Address,
72
70
  destToken: Address,
73
71
  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