@paraswap/dex-lib 4.0.1-cables.0 → 4.0.2

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 (919) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/{integral/pool.json → inception/inception-ineth-pool.json} +558 -537
  5. package/build/abi/inception/inception-ratio-feed.json +329 -0
  6. package/build/abi/inception/inception-vault.json +991 -0
  7. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  8. package/build/abi/usual-m-smart-m/usualM.abi.json +483 -0
  9. package/build/abi/usual-m-usd0/usualCollateralDao.abi.json +681 -0
  10. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  11. package/build/bigint-constants.d.ts +1 -0
  12. package/build/bigint-constants.js +2 -1
  13. package/build/bigint-constants.js.map +1 -1
  14. package/build/bignumber-constants.js +2 -2
  15. package/build/bignumber-constants.js.map +1 -1
  16. package/build/calldata-gas-cost.js +2 -2
  17. package/build/calldata-gas-cost.js.map +1 -1
  18. package/build/composed-event-subscriber.js.map +1 -1
  19. package/build/config.js +33 -5
  20. package/build/config.js.map +1 -1
  21. package/build/constants.d.ts +2 -0
  22. package/build/constants.js +6 -3
  23. package/build/constants.js.map +1 -1
  24. package/build/dex/aave-gsm/aave-gsm-pool.js.map +1 -1
  25. package/build/dex/aave-gsm/aave-gsm.js +17 -7
  26. package/build/dex/aave-gsm/aave-gsm.js.map +1 -1
  27. package/build/dex/aave-gsm/types.d.ts +3 -3
  28. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  29. package/build/dex/aave-v1/aave-v1.js +23 -0
  30. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  31. package/build/dex/aave-v2/aave-v2.js +17 -7
  32. package/build/dex/aave-v2/aave-v2.js.map +1 -1
  33. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  34. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  35. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  36. package/build/dex/aave-v2/tokens.js +3 -3
  37. package/build/dex/aave-v2/tokens.js.map +1 -1
  38. package/build/dex/aave-v2/types.d.ts +8 -8
  39. package/build/dex/aave-v2/types.js +1 -1
  40. package/build/dex/aave-v2/types.js.map +1 -1
  41. package/build/dex/aave-v3/aave-v3.js +17 -7
  42. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  43. package/build/dex/aave-v3/tokens.js +4 -4
  44. package/build/dex/aave-v3/tokens.js.map +1 -1
  45. package/build/dex/aave-v3/types.d.ts +8 -8
  46. package/build/dex/aave-v3/types.js +1 -1
  47. package/build/dex/aave-v3/types.js.map +1 -1
  48. package/build/dex/aave-v3/utils.js.map +1 -1
  49. package/build/dex/aave-v3-stata/aave-v3-stata.js +23 -13
  50. package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
  51. package/build/dex/aave-v3-stata/tokens.js +4 -4
  52. package/build/dex/aave-v3-stata/tokens.js.map +1 -1
  53. package/build/dex/aave-v3-stata/types.d.ts +7 -7
  54. package/build/dex/aave-v3-stata/types.js +3 -3
  55. package/build/dex/aave-v3-stata/types.js.map +1 -1
  56. package/build/dex/aave-v3-stata/utils.d.ts +1 -1
  57. package/build/dex/aave-v3-stata/utils.js.map +1 -1
  58. package/build/dex/algebra/algebra-factory.d.ts +1 -1
  59. package/build/dex/algebra/algebra-factory.js.map +1 -1
  60. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  61. package/build/dex/algebra/algebra-pool-v1_9.js.map +1 -1
  62. package/build/dex/algebra/algebra.d.ts +1 -2
  63. package/build/dex/algebra/algebra.js +18 -8
  64. package/build/dex/algebra/algebra.js.map +1 -1
  65. package/build/dex/algebra/lib/AlgebraMath.js +2 -2
  66. package/build/dex/algebra/lib/AlgebraMath.js.map +1 -1
  67. package/build/dex/algebra/lib/TickManager.js.map +1 -1
  68. package/build/dex/algebra/lib/TickTable.js.map +1 -1
  69. package/build/dex/algebra/scripts/validate-state.js.map +1 -1
  70. package/build/dex/algebra/types.d.ts +17 -17
  71. package/build/dex/algebra/types.js +1 -1
  72. package/build/dex/algebra/types.js.map +1 -1
  73. package/build/dex/algebra/utils.js +4 -5
  74. package/build/dex/algebra/utils.js.map +1 -1
  75. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +1 -1
  76. package/build/dex/angle-staked-stable/angle-staked-stable.js +17 -7
  77. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -1
  78. package/build/dex/angle-staked-stable/types.d.ts +3 -3
  79. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +0 -1
  80. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -1
  81. package/build/dex/angle-transmuter/angle-transmuter.js +17 -7
  82. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -1
  83. package/build/dex/angle-transmuter/morphoOracle.js.map +1 -1
  84. package/build/dex/angle-transmuter/morphoVault.js.map +1 -1
  85. package/build/dex/angle-transmuter/transmuter.js.map +1 -1
  86. package/build/dex/angle-transmuter/types.d.ts +24 -24
  87. package/build/dex/angle-transmuter/types.js +3 -3
  88. package/build/dex/angle-transmuter/types.js.map +1 -1
  89. package/build/dex/angle-transmuter/utils.js +6 -7
  90. package/build/dex/angle-transmuter/utils.js.map +1 -1
  91. package/build/dex/augustus-approvals.d.ts +3 -2
  92. package/build/dex/augustus-approvals.js +35 -16
  93. package/build/dex/augustus-approvals.js.map +1 -1
  94. package/build/dex/augustus-rfq.d.ts +6 -6
  95. package/build/dex/augustus-rfq.js.map +1 -1
  96. package/build/dex/balancer-v1/balancer-v1-math.js +2 -3
  97. package/build/dex/balancer-v1/balancer-v1-math.js.map +1 -1
  98. package/build/dex/balancer-v1/balancer-v1-pool.js.map +1 -1
  99. package/build/dex/balancer-v1/balancer-v1.js +17 -7
  100. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  101. package/build/dex/balancer-v1/optimizer.js +1 -2
  102. package/build/dex/balancer-v1/optimizer.js.map +1 -1
  103. package/build/dex/balancer-v1/types.d.ts +16 -16
  104. package/build/dex/balancer-v1/types.js +1 -1
  105. package/build/dex/balancer-v1/types.js.map +1 -1
  106. package/build/dex/balancer-v1/utils.js +1 -2
  107. package/build/dex/balancer-v1/utils.js.map +1 -1
  108. package/build/dex/balancer-v2/balancer-v2-math.js.map +1 -1
  109. package/build/dex/balancer-v2/balancer-v2.d.ts +0 -1
  110. package/build/dex/balancer-v2/balancer-v2.js +17 -7
  111. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  112. package/build/dex/balancer-v2/constants.js +2 -2
  113. package/build/dex/balancer-v2/constants.js.map +1 -1
  114. package/build/dex/balancer-v2/optimizer.js +1 -2
  115. package/build/dex/balancer-v2/optimizer.js.map +1 -1
  116. package/build/dex/balancer-v2/pools/balancer-v2-pool.js.map +1 -1
  117. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.d.ts +1 -1
  118. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js.map +1 -1
  119. package/build/dex/balancer-v2/pools/gyro/GyroEPool.d.ts +1 -1
  120. package/build/dex/balancer-v2/pools/gyro/GyroEPool.js.map +1 -1
  121. package/build/dex/balancer-v2/pools/gyro/gyro-helpers.js +2 -3
  122. package/build/dex/balancer-v2/pools/gyro/gyro-helpers.js.map +1 -1
  123. package/build/dex/balancer-v2/pools/linear/LinearMath.d.ts +1 -1
  124. package/build/dex/balancer-v2/pools/linear/LinearMath.js +13 -14
  125. package/build/dex/balancer-v2/pools/linear/LinearMath.js.map +1 -1
  126. package/build/dex/balancer-v2/pools/linear/LinearPool.d.ts +1 -1
  127. package/build/dex/balancer-v2/pools/linear/LinearPool.js +18 -8
  128. package/build/dex/balancer-v2/pools/linear/LinearPool.js.map +1 -1
  129. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js +10 -11
  130. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js.map +1 -1
  131. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.d.ts +1 -1
  132. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js +17 -7
  133. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js.map +1 -1
  134. package/build/dex/balancer-v2/pools/stable/StableMath.js.map +1 -1
  135. package/build/dex/balancer-v2/pools/stable/StablePool.d.ts +1 -1
  136. package/build/dex/balancer-v2/pools/stable/StablePool.js.map +1 -1
  137. package/build/dex/balancer-v2/pools/weighted/WeightedPool.d.ts +1 -1
  138. package/build/dex/balancer-v2/queryOnChain.js +1 -2
  139. package/build/dex/balancer-v2/queryOnChain.js.map +1 -1
  140. package/build/dex/balancer-v2/types.d.ts +17 -17
  141. package/build/dex/balancer-v2/types.js +2 -2
  142. package/build/dex/balancer-v2/types.js.map +1 -1
  143. package/build/dex/balancer-v2/utils.js +7 -7
  144. package/build/dex/balancer-v2/utils.js.map +1 -1
  145. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  146. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  147. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  148. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  149. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  150. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  151. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  152. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  153. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  154. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +1 -1
  155. package/build/dex/balancer-v3/balancer-v3-pool.js +12 -4
  156. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
  157. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  158. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  159. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  160. package/build/dex/balancer-v3/balancer-v3.d.ts +5 -3
  161. package/build/dex/balancer-v3/balancer-v3.js +109 -27
  162. package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
  163. package/build/dex/balancer-v3/config.js +6 -2
  164. package/build/dex/balancer-v3/config.js.map +1 -1
  165. package/build/dex/balancer-v3/getGasCost.js +1 -2
  166. package/build/dex/balancer-v3/getGasCost.js.map +1 -1
  167. package/build/dex/balancer-v3/getOnChainState.js +2 -3
  168. package/build/dex/balancer-v3/getOnChainState.js.map +1 -1
  169. package/build/dex/balancer-v3/getPoolsApi.js +1 -2
  170. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
  171. package/build/dex/balancer-v3/getTopPoolsApi.js +5 -2
  172. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -1
  173. package/build/dex/balancer-v3/optimizer.js +1 -2
  174. package/build/dex/balancer-v3/optimizer.js.map +1 -1
  175. package/build/dex/balancer-v3/stablePool.d.ts +1 -1
  176. package/build/dex/balancer-v3/stablePool.js +5 -5
  177. package/build/dex/balancer-v3/stablePool.js.map +1 -1
  178. package/build/dex/balancer-v3/types.d.ts +10 -10
  179. package/build/dex/bancor/types.d.ts +2 -2
  180. package/build/dex/bancor/types.js +1 -1
  181. package/build/dex/bancor/types.js.map +1 -1
  182. package/build/dex/bebop/bebop.js +18 -8
  183. package/build/dex/bebop/bebop.js.map +1 -1
  184. package/build/dex/bebop/config.js +5 -5
  185. package/build/dex/bebop/config.js.map +1 -1
  186. package/build/dex/bebop/rate-fetcher.js +2 -2
  187. package/build/dex/bebop/rate-fetcher.js.map +1 -1
  188. package/build/dex/bebop/types.d.ts +13 -13
  189. package/build/dex/cables/cables.d.ts +0 -1
  190. package/build/dex/cables/cables.js +80 -48
  191. package/build/dex/cables/cables.js.map +1 -1
  192. package/build/dex/cables/constants.js +1 -1
  193. package/build/dex/cables/constants.js.map +1 -1
  194. package/build/dex/cables/rate-fetcher.d.ts +0 -1
  195. package/build/dex/cables/rate-fetcher.js +10 -30
  196. package/build/dex/cables/rate-fetcher.js.map +1 -1
  197. package/build/dex/cables/types.d.ts +0 -1
  198. package/build/dex/cables/types.js +4 -1
  199. package/build/dex/cables/types.js.map +1 -1
  200. package/build/dex/camelot/camelot.d.ts +1 -1
  201. package/build/dex/camelot/camelot.js +19 -9
  202. package/build/dex/camelot/camelot.js.map +1 -1
  203. package/build/dex/camelot/config.js +1 -1
  204. package/build/dex/camelot/config.js.map +1 -1
  205. package/build/dex/camelot/types.d.ts +3 -3
  206. package/build/dex/compound/types.d.ts +2 -2
  207. package/build/dex/compound/types.js +1 -1
  208. package/build/dex/compound/types.js.map +1 -1
  209. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -1
  210. package/build/dex/concentrator-arusd/concentrator-arusd.js +17 -7
  211. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -1
  212. package/build/dex/concentrator-arusd/types.d.ts +4 -4
  213. package/build/dex/concentrator-arusd/utils.js +1 -2
  214. package/build/dex/concentrator-arusd/utils.js.map +1 -1
  215. package/build/dex/curve-v1/config.js +5 -5
  216. package/build/dex/curve-v1/config.js.map +1 -1
  217. package/build/dex/curve-v1/curve-v1.js +17 -7
  218. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  219. package/build/dex/curve-v1/forks/curve-forks/curve-forks.js.map +1 -1
  220. package/build/dex/curve-v1/forks/swerve/swerve.js.map +1 -1
  221. package/build/dex/curve-v1/packer.js.map +1 -1
  222. package/build/dex/curve-v1/pools/3pool.js.map +1 -1
  223. package/build/dex/curve-v1/pools/curve-metapool.js.map +1 -1
  224. package/build/dex/curve-v1/pools/curve-pool.js.map +1 -1
  225. package/build/dex/curve-v1/pools/getstate-multicall.js +1 -2
  226. package/build/dex/curve-v1/pools/getstate-multicall.js.map +1 -1
  227. package/build/dex/curve-v1/pools/sETHpool.js.map +1 -1
  228. package/build/dex/curve-v1/types.d.ts +7 -7
  229. package/build/dex/curve-v1/types.js +2 -2
  230. package/build/dex/curve-v1/types.js.map +1 -1
  231. package/build/dex/curve-v1-factory/config.js +7 -7
  232. package/build/dex/curve-v1-factory/config.js.map +1 -1
  233. package/build/dex/curve-v1-factory/curve-v1-factory.js +17 -7
  234. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  235. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  236. package/build/dex/curve-v1-factory/optimizer.js +1 -2
  237. package/build/dex/curve-v1-factory/optimizer.js.map +1 -1
  238. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  239. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  240. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  241. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  242. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  243. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  244. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  245. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  246. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  247. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.js.map +1 -1
  248. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  249. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  250. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  251. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  252. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js +2 -2
  253. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js.map +1 -1
  254. package/build/dex/curve-v1-factory/price-handlers/price-handler.js.map +1 -1
  255. package/build/dex/curve-v1-factory/price-handlers/types.d.ts +15 -15
  256. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.d.ts +1 -1
  257. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js.map +1 -1
  258. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +1 -1
  259. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  260. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.js.map +1 -1
  261. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.d.ts +3 -3
  262. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
  263. package/build/dex/curve-v1-factory/types.d.ts +17 -17
  264. package/build/dex/curve-v1-factory/types.js +6 -6
  265. package/build/dex/curve-v1-factory/types.js.map +1 -1
  266. package/build/dex/curve-v1-stable-ng/config.js +7 -7
  267. package/build/dex/curve-v1-stable-ng/config.js.map +1 -1
  268. package/build/dex/curve-v2/curve-v2.d.ts +2 -2
  269. package/build/dex/curve-v2/curve-v2.js.map +1 -1
  270. package/build/dex/curve-v2/types.d.ts +2 -2
  271. package/build/dex/curve-v2/types.js +1 -1
  272. package/build/dex/curve-v2/types.js.map +1 -1
  273. package/build/dex/dexalot/dexalot.js +57 -8
  274. package/build/dex/dexalot/dexalot.js.map +1 -1
  275. package/build/dex/dexalot/types.d.ts +17 -17
  276. package/build/dex/dexalot/types.js +1 -1
  277. package/build/dex/dexalot/types.js.map +1 -1
  278. package/build/dex/dodo-v1/types.d.ts +2 -2
  279. package/build/dex/dodo-v1/types.js +1 -1
  280. package/build/dex/dodo-v1/types.js.map +1 -1
  281. package/build/dex/dodo-v2.d.ts +5 -5
  282. package/build/dex/dodo-v2.js +1 -1
  283. package/build/dex/dodo-v2.js.map +1 -1
  284. package/build/dex/etherfi.d.ts +5 -5
  285. package/build/dex/etherfi.js.map +1 -1
  286. package/build/dex/fluid-dex/fluid-dex-factory.d.ts +1 -1
  287. package/build/dex/fluid-dex/fluid-dex-factory.js.map +1 -1
  288. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  289. package/build/dex/fluid-dex/fluid-dex.js +17 -7
  290. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  291. package/build/dex/fluid-dex/types.d.ts +14 -14
  292. package/build/dex/fluid-dex/utils.js +1 -2
  293. package/build/dex/fluid-dex/utils.js.map +1 -1
  294. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js.map +1 -1
  295. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js +17 -7
  296. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js.map +1 -1
  297. package/build/dex/fx-protocol-rusd/types.d.ts +3 -3
  298. package/build/dex/fx-protocol-rusd/utils.js +1 -2
  299. package/build/dex/fx-protocol-rusd/utils.js.map +1 -1
  300. package/build/dex/generic-rfq/fetch-mm-api.js +1 -1
  301. package/build/dex/generic-rfq/fetch-mm-api.js.map +1 -1
  302. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  303. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  304. package/build/dex/generic-rfq/security.d.ts +1 -1
  305. package/build/dex/generic-rfq/security.js.map +1 -1
  306. package/build/dex/generic-rfq/types.d.ts +23 -23
  307. package/build/dex/generic-rfq/utils.d.ts +1 -1
  308. package/build/dex/generic-rfq/utils.js.map +1 -1
  309. package/build/dex/generic-rfq/validators.js +17 -7
  310. package/build/dex/generic-rfq/validators.js.map +1 -1
  311. package/build/dex/gmx/fast-price-feed.js.map +1 -1
  312. package/build/dex/gmx/gmx.js +17 -7
  313. package/build/dex/gmx/gmx.js.map +1 -1
  314. package/build/dex/gmx/pool.js.map +1 -1
  315. package/build/dex/gmx/types.d.ts +10 -10
  316. package/build/dex/gmx/usdg.js.map +1 -1
  317. package/build/dex/gmx/vault-price-feed.js.map +1 -1
  318. package/build/dex/gmx/vault-utils.js.map +1 -1
  319. package/build/dex/gmx/vault.js.map +1 -1
  320. package/build/dex/hashflow/constants.js +10 -10
  321. package/build/dex/hashflow/constants.js.map +1 -1
  322. package/build/dex/hashflow/hashflow.js +17 -7
  323. package/build/dex/hashflow/hashflow.js.map +1 -1
  324. package/build/dex/hashflow/rate-fetcher.js.map +1 -1
  325. package/build/dex/hashflow/types.d.ts +8 -8
  326. package/build/dex/hashflow/types.js +1 -1
  327. package/build/dex/hashflow/types.js.map +1 -1
  328. package/build/dex/idex.d.ts +3 -3
  329. package/build/dex/idle-dao/idle-dao.js +17 -7
  330. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  331. package/build/dex/idle-dao/tokens.js +5 -5
  332. package/build/dex/idle-dao/tokens.js.map +1 -1
  333. package/build/dex/idle-dao/types.d.ts +7 -7
  334. package/build/dex/idle-dao/types.js +1 -1
  335. package/build/dex/idle-dao/types.js.map +1 -1
  336. package/build/dex/idle-dao/utils.d.ts +1 -1
  337. package/build/dex/idle-dao/utils.js.map +1 -1
  338. package/build/dex/inception/config.d.ts +4 -0
  339. package/build/dex/inception/config.js +109 -0
  340. package/build/dex/inception/config.js.map +1 -0
  341. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  342. package/build/dex/inception/inception-event-pool.js +49 -0
  343. package/build/dex/inception/inception-event-pool.js.map +1 -0
  344. package/build/dex/inception/inception.d.ts +43 -0
  345. package/build/dex/inception/inception.js +180 -0
  346. package/build/dex/inception/inception.js.map +1 -0
  347. package/build/dex/inception/tokens.d.ts +9 -0
  348. package/build/dex/inception/tokens.js +28 -0
  349. package/build/dex/inception/tokens.js.map +1 -0
  350. package/build/dex/inception/types.d.ts +22 -0
  351. package/build/dex/inception/types.js +3 -0
  352. package/build/dex/inception/types.js.map +1 -0
  353. package/build/dex/inception/utils.d.ts +7 -0
  354. package/build/dex/inception/utils.js +58 -0
  355. package/build/dex/inception/utils.js.map +1 -0
  356. package/build/dex/index.d.ts +2 -2
  357. package/build/dex/index.js +4 -2
  358. package/build/dex/index.js.map +1 -1
  359. package/build/dex/infusion/infusion-stable-pool.js.map +1 -1
  360. package/build/dex/infusion/infusion.js +1 -1
  361. package/build/dex/infusion/infusion.js.map +1 -1
  362. package/build/dex/infusion/types.d.ts +6 -6
  363. package/build/dex/infusion/utils/isStablePair.js +4 -4
  364. package/build/dex/infusion/utils/isStablePair.js.map +1 -1
  365. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +1 -1
  366. package/build/dex/jarvis-v6/jarvis-v6.js +18 -8
  367. package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
  368. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +1 -1
  369. package/build/dex/jarvis-v6/types.d.ts +10 -10
  370. package/build/dex/jarvis-v6/types.js +1 -1
  371. package/build/dex/jarvis-v6/types.js.map +1 -1
  372. package/build/dex/jarvis-v6/utils.js +5 -5
  373. package/build/dex/jarvis-v6/utils.js.map +1 -1
  374. package/build/dex/jarvis.d.ts +2 -1
  375. package/build/dex/jarvis.js +58 -0
  376. package/build/dex/jarvis.js.map +1 -1
  377. package/build/dex/kyberdmm/fee-formula.d.ts +1 -1
  378. package/build/dex/kyberdmm/fee-formula.js.map +1 -1
  379. package/build/dex/kyberdmm/kyberdmm.js +17 -7
  380. package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
  381. package/build/dex/kyberdmm/math-ext.js.map +1 -1
  382. package/build/dex/kyberdmm/pool.d.ts +2 -2
  383. package/build/dex/kyberdmm/pool.js.map +1 -1
  384. package/build/dex/kyberdmm/types.d.ts +8 -8
  385. package/build/dex/kyberdmm/types.js +1 -1
  386. package/build/dex/kyberdmm/types.js.map +1 -1
  387. package/build/dex/lido/types.d.ts +1 -1
  388. package/build/dex/lido/types.js +1 -1
  389. package/build/dex/lido/types.js.map +1 -1
  390. package/build/dex/limit-order-exchange.js.map +1 -1
  391. package/build/dex/lite-psm/lite-psm-event-pool.js +2 -2
  392. package/build/dex/lite-psm/lite-psm-event-pool.js.map +1 -1
  393. package/build/dex/lite-psm/lite-psm.js +18 -8
  394. package/build/dex/lite-psm/lite-psm.js.map +1 -1
  395. package/build/dex/lite-psm/types.d.ts +6 -6
  396. package/build/dex/maker-psm/maker-psm.js +17 -7
  397. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  398. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  399. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  400. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  401. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  402. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  403. package/build/dex/maker-psm/types.d.ts +6 -6
  404. package/build/dex/maverick-v1/maverick-math/maverick-basic-math.js.map +1 -1
  405. package/build/dex/maverick-v1/maverick-math/maverick-bin-map.d.ts +1 -1
  406. package/build/dex/maverick-v1/maverick-math/maverick-bin-map.js.map +1 -1
  407. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.d.ts +1 -1
  408. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.js.map +1 -1
  409. package/build/dex/maverick-v1/maverick-v1-pool.js +17 -7
  410. package/build/dex/maverick-v1/maverick-v1-pool.js.map +1 -1
  411. package/build/dex/maverick-v1/maverick-v1.js +17 -7
  412. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  413. package/build/dex/maverick-v1/types.d.ts +7 -7
  414. package/build/dex/maverick-v1/types.js +1 -1
  415. package/build/dex/maverick-v1/types.js.map +1 -1
  416. package/build/dex/maverick-v2/maverick-math/maverick-basic-math.js.map +1 -1
  417. package/build/dex/maverick-v2/maverick-math/maverick-bin-math.js.map +1 -1
  418. package/build/dex/maverick-v2/maverick-math/maverick-delta-math.d.ts +1 -1
  419. package/build/dex/maverick-v2/maverick-math/maverick-delta-math.js.map +1 -1
  420. package/build/dex/maverick-v2/maverick-math/maverick-math.js.map +1 -1
  421. package/build/dex/maverick-v2/maverick-math/maverick-pool-lib.js.map +1 -1
  422. package/build/dex/maverick-v2/maverick-math/maverick-pool-math.js.map +1 -1
  423. package/build/dex/maverick-v2/maverick-math/maverick-swap-math.js.map +1 -1
  424. package/build/dex/maverick-v2/maverick-math/maverick-tick-math.js.map +1 -1
  425. package/build/dex/maverick-v2/maverick-v2-pool.js.map +1 -1
  426. package/build/dex/maverick-v2/maverick-v2.js +17 -7
  427. package/build/dex/maverick-v2/maverick-v2.js.map +1 -1
  428. package/build/dex/maverick-v2/types.d.ts +14 -14
  429. package/build/dex/nerve/config.js +67 -67
  430. package/build/dex/nerve/config.js.map +1 -1
  431. package/build/dex/nerve/nerve-math.js.map +1 -1
  432. package/build/dex/nerve/nerve-pool.js.map +1 -1
  433. package/build/dex/nerve/nerve.js +17 -7
  434. package/build/dex/nerve/nerve.js.map +1 -1
  435. package/build/dex/nerve/types.d.ts +6 -6
  436. package/build/dex/nerve/types.js +1 -1
  437. package/build/dex/nerve/types.js.map +1 -1
  438. package/build/dex/nerve/utils.js +2 -2
  439. package/build/dex/nerve/utils.js.map +1 -1
  440. package/build/dex/oswap/config.js +3 -3
  441. package/build/dex/oswap/config.js.map +1 -1
  442. package/build/dex/oswap/oswap-pool.js.map +1 -1
  443. package/build/dex/oswap/oswap.js +17 -7
  444. package/build/dex/oswap/oswap.js.map +1 -1
  445. package/build/dex/oswap/types.d.ts +4 -4
  446. package/build/dex/pancakeswap-v3/contract-math/BitMath.js.map +1 -1
  447. package/build/dex/pancakeswap-v3/contract-math/LiquidityMath.js.map +1 -1
  448. package/build/dex/pancakeswap-v3/contract-math/Oracle.js.map +1 -1
  449. package/build/dex/pancakeswap-v3/contract-math/SqrtPriceMath.js.map +1 -1
  450. package/build/dex/pancakeswap-v3/contract-math/SwapMath.js.map +1 -1
  451. package/build/dex/pancakeswap-v3/contract-math/Tick.js.map +1 -1
  452. package/build/dex/pancakeswap-v3/contract-math/TickBitMap.js.map +1 -1
  453. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.d.ts +1 -1
  454. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.js.map +1 -1
  455. package/build/dex/pancakeswap-v3/contract-math/utils.js +3 -4
  456. package/build/dex/pancakeswap-v3/contract-math/utils.js.map +1 -1
  457. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.d.ts +1 -1
  458. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js.map +1 -1
  459. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
  460. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +0 -1
  461. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +17 -7
  462. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  463. package/build/dex/pancakeswap-v3/utils.js +1 -2
  464. package/build/dex/pancakeswap-v3/utils.js.map +1 -1
  465. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +17 -7
  466. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  467. package/build/dex/paraswap-limit-orders/types.d.ts +11 -11
  468. package/build/dex/paraswap-limit-orders/utils.js +2 -3
  469. package/build/dex/paraswap-limit-orders/utils.js.map +1 -1
  470. package/build/dex/platypus/platypus.d.ts +2 -1
  471. package/build/dex/platypus/platypus.js +45 -0
  472. package/build/dex/platypus/platypus.js.map +1 -1
  473. package/build/dex/polygon-migrator/polygon-migrator.js +17 -7
  474. package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
  475. package/build/dex/polygon-migrator/types.d.ts +2 -2
  476. package/build/dex/polygon-migrator/types.js +1 -1
  477. package/build/dex/polygon-migrator/types.js.map +1 -1
  478. package/build/dex/quick-perps/fast-price-feed.js.map +1 -1
  479. package/build/dex/quick-perps/pool.js.map +1 -1
  480. package/build/dex/quick-perps/quick-perps.js +17 -7
  481. package/build/dex/quick-perps/quick-perps.js.map +1 -1
  482. package/build/dex/quick-perps/types.d.ts +10 -10
  483. package/build/dex/quick-perps/usdq.js.map +1 -1
  484. package/build/dex/quick-perps/vault-price-feed.js.map +1 -1
  485. package/build/dex/quick-perps/vault-utils.js.map +1 -1
  486. package/build/dex/quick-perps/vault.js.map +1 -1
  487. package/build/dex/quickswap/quickswap-v3.d.ts +1 -1
  488. package/build/dex/quickswap/quickswap-v3.js.map +1 -1
  489. package/build/dex/simple-exchange.js.map +1 -1
  490. package/build/dex/sky-converter/config.js +2 -2
  491. package/build/dex/sky-converter/config.js.map +1 -1
  492. package/build/dex/sky-converter/sky-converter.js +17 -7
  493. package/build/dex/sky-converter/sky-converter.js.map +1 -1
  494. package/build/dex/sky-converter/types.d.ts +2 -2
  495. package/build/dex/smoothy/types.d.ts +2 -2
  496. package/build/dex/smoothy/types.js +1 -1
  497. package/build/dex/smoothy/types.js.map +1 -1
  498. package/build/dex/solidly/config.js +10 -10
  499. package/build/dex/solidly/config.js.map +1 -1
  500. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -1
  501. package/build/dex/solidly/forks-override/ramses.d.ts +2 -2
  502. package/build/dex/solidly/solidly-stable-pool.js.map +1 -1
  503. package/build/dex/solidly/solidly.js.map +1 -1
  504. package/build/dex/solidly/types.d.ts +3 -3
  505. package/build/dex/solidly-v3/constants.js +1 -1
  506. package/build/dex/solidly-v3/constants.js.map +1 -1
  507. package/build/dex/solidly-v3/contract-math/BitMath.js.map +1 -1
  508. package/build/dex/solidly-v3/contract-math/LiquidityMath.js.map +1 -1
  509. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js.map +1 -1
  510. package/build/dex/solidly-v3/contract-math/SwapMath.js.map +1 -1
  511. package/build/dex/solidly-v3/contract-math/Tick.js.map +1 -1
  512. package/build/dex/solidly-v3/contract-math/TickBitMap.js.map +1 -1
  513. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.d.ts +3 -3
  514. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js +2 -2
  515. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js.map +1 -1
  516. package/build/dex/solidly-v3/contract-math/utils.js +5 -6
  517. package/build/dex/solidly-v3/contract-math/utils.js.map +1 -1
  518. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  519. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  520. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  521. package/build/dex/solidly-v3/solidly-v3-factory.d.ts +1 -1
  522. package/build/dex/solidly-v3/solidly-v3-factory.js.map +1 -1
  523. package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
  524. package/build/dex/solidly-v3/solidly-v3.d.ts +4 -5
  525. package/build/dex/solidly-v3/solidly-v3.js +17 -7
  526. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  527. package/build/dex/solidly-v3/types.d.ts +19 -19
  528. package/build/dex/solidly-v3/types.js +1 -1
  529. package/build/dex/solidly-v3/types.js.map +1 -1
  530. package/build/dex/solidly-v3/utils.js +2 -3
  531. package/build/dex/solidly-v3/utils.js.map +1 -1
  532. package/build/dex/spark/config.js +3 -3
  533. package/build/dex/spark/config.js.map +1 -1
  534. package/build/dex/spark/scripts/validate-state.js.map +1 -1
  535. package/build/dex/spark/spark-sdai-pool.d.ts +1 -1
  536. package/build/dex/spark/spark-sdai-pool.js.map +1 -1
  537. package/build/dex/spark/spark.js +17 -7
  538. package/build/dex/spark/spark.js.map +1 -1
  539. package/build/dex/spark/types.d.ts +3 -3
  540. package/build/dex/spark/types.js +2 -2
  541. package/build/dex/spark/types.js.map +1 -1
  542. package/build/dex/spark/utils.js +3 -4
  543. package/build/dex/spark/utils.js.map +1 -1
  544. package/build/dex/stable-pool/types.d.ts +2 -2
  545. package/build/dex/stable-pool/types.js +1 -1
  546. package/build/dex/stable-pool/types.js.map +1 -1
  547. package/build/dex/stable-pool.js +1 -8
  548. package/build/dex/stable-pool.js.map +1 -1
  549. package/build/dex/stader/stader-pool.js.map +1 -1
  550. package/build/dex/stader/stader.js +17 -7
  551. package/build/dex/stader/stader.js.map +1 -1
  552. package/build/dex/stader/types.d.ts +3 -3
  553. package/build/dex/stader/types.js +1 -1
  554. package/build/dex/stader/types.js.map +1 -1
  555. package/build/dex/stader/utils.js +1 -2
  556. package/build/dex/stader/utils.js.map +1 -1
  557. package/build/dex/stkgho/stkgho-pool.js.map +1 -1
  558. package/build/dex/stkgho/stkgho.js +17 -7
  559. package/build/dex/stkgho/stkgho.js.map +1 -1
  560. package/build/dex/stkgho/types.d.ts +3 -3
  561. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  562. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  563. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  564. package/build/dex/swaap-v2/rate-fetcher.js.map +1 -1
  565. package/build/dex/swaap-v2/stable-coins.js +9 -9
  566. package/build/dex/swaap-v2/stable-coins.js.map +1 -1
  567. package/build/dex/swaap-v2/swaap-v2.js +17 -7
  568. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  569. package/build/dex/swaap-v2/types.d.ts +12 -12
  570. package/build/dex/swaap-v2/utils.js.map +1 -1
  571. package/build/dex/swaap-v2/validators.js +17 -7
  572. package/build/dex/swaap-v2/validators.js.map +1 -1
  573. package/build/dex/swell/config.d.ts +1 -1
  574. package/build/dex/swell/swell.d.ts +2 -2
  575. package/build/dex/swell/swell.js +18 -8
  576. package/build/dex/swell/swell.js.map +1 -1
  577. package/build/dex/swell/type.d.ts +2 -2
  578. package/build/dex/swell/utils.js +2 -3
  579. package/build/dex/swell/utils.js.map +1 -1
  580. package/build/dex/synthetix/config.js +18 -18
  581. package/build/dex/synthetix/config.js.map +1 -1
  582. package/build/dex/synthetix/constants.js +1 -1
  583. package/build/dex/synthetix/constants.js.map +1 -1
  584. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +1 -1
  585. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +1 -1
  586. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +1 -1
  587. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +1 -1
  588. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +1 -1
  589. package/build/dex/synthetix/contract-math/synthetix-math.js.map +1 -1
  590. package/build/dex/synthetix/synthetix-state.js.map +1 -1
  591. package/build/dex/synthetix/synthetix.d.ts +0 -1
  592. package/build/dex/synthetix/synthetix.js +17 -7
  593. package/build/dex/synthetix/synthetix.js.map +1 -1
  594. package/build/dex/synthetix/types.d.ts +12 -12
  595. package/build/dex/synthetix/utils.js +2 -2
  596. package/build/dex/synthetix/utils.js.map +1 -1
  597. package/build/dex/trader-joe-v2.1/types.d.ts +5 -5
  598. package/build/dex/trader-joe-v2.1/types.js +1 -1
  599. package/build/dex/trader-joe-v2.1/types.js.map +1 -1
  600. package/build/dex/uniswap-v2/config.js +6 -6
  601. package/build/dex/uniswap-v2/config.js.map +1 -1
  602. package/build/dex/uniswap-v2/nomiswap-v2.js +2 -2
  603. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
  604. package/build/dex/uniswap-v2/optimizer.js +1 -2
  605. package/build/dex/uniswap-v2/optimizer.js.map +1 -1
  606. package/build/dex/uniswap-v2/types.d.ts +15 -15
  607. package/build/dex/uniswap-v2/types.js +2 -2
  608. package/build/dex/uniswap-v2/types.js.map +1 -1
  609. package/build/dex/uniswap-v2/uniswap-v2-constant-product-pool.js.map +1 -1
  610. package/build/dex/uniswap-v2/uniswap-v2-factory.d.ts +2 -2
  611. package/build/dex/uniswap-v2/uniswap-v2-factory.js.map +1 -1
  612. package/build/dex/uniswap-v2/uniswap-v2.js +19 -9
  613. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  614. package/build/dex/uniswap-v3/constants.js +2 -2
  615. package/build/dex/uniswap-v3/constants.js.map +1 -1
  616. package/build/dex/uniswap-v3/contract-math/BitMath.js.map +1 -1
  617. package/build/dex/uniswap-v3/contract-math/LiquidityMath.js.map +1 -1
  618. package/build/dex/uniswap-v3/contract-math/Oracle.js.map +1 -1
  619. package/build/dex/uniswap-v3/contract-math/SqrtPriceMath.js.map +1 -1
  620. package/build/dex/uniswap-v3/contract-math/SwapMath.js.map +1 -1
  621. package/build/dex/uniswap-v3/contract-math/Tick.js.map +1 -1
  622. package/build/dex/uniswap-v3/contract-math/TickBitMap.js.map +1 -1
  623. package/build/dex/uniswap-v3/contract-math/uniswap-v3-math.d.ts +3 -3
  624. package/build/dex/uniswap-v3/contract-math/uniswap-v3-math.js +2 -2
  625. package/build/dex/uniswap-v3/contract-math/uniswap-v3-math.js.map +1 -1
  626. package/build/dex/uniswap-v3/contract-math/utils.js +5 -6
  627. package/build/dex/uniswap-v3/contract-math/utils.js.map +1 -1
  628. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  629. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  630. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  631. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  632. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  633. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  634. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js +1 -2
  635. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js.map +1 -1
  636. package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js +1 -2
  637. package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js.map +1 -1
  638. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js +1 -1
  639. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js.map +1 -1
  640. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +1 -1
  641. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -1
  642. package/build/dex/uniswap-v3/scripts/measure-calc-time.js +17 -7
  643. package/build/dex/uniswap-v3/scripts/measure-calc-time.js.map +1 -1
  644. package/build/dex/uniswap-v3/types.d.ts +22 -22
  645. package/build/dex/uniswap-v3/types.js +1 -1
  646. package/build/dex/uniswap-v3/types.js.map +1 -1
  647. package/build/dex/uniswap-v3/uniswap-v3-factory.d.ts +1 -1
  648. package/build/dex/uniswap-v3/uniswap-v3-factory.js.map +1 -1
  649. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  650. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  651. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  652. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  653. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  654. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  655. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  656. package/build/dex/uniswap-v3/uniswap-v3.d.ts +5 -6
  657. package/build/dex/uniswap-v3/uniswap-v3.js +17 -7
  658. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  659. package/build/dex/uniswap-v3/utils.js +2 -3
  660. package/build/dex/uniswap-v3/utils.js.map +1 -1
  661. package/build/dex/uniswap-v3.d.ts +4 -4
  662. package/build/dex/uniswap-v3.js.map +1 -1
  663. package/build/dex/usual/types.d.ts +13 -0
  664. package/build/dex/usual/types.js +3 -0
  665. package/build/dex/usual/types.js.map +1 -0
  666. package/build/dex/usual/usual-bond.d.ts +18 -0
  667. package/build/dex/usual/usual-bond.js +52 -0
  668. package/build/dex/usual/usual-bond.js.map +1 -0
  669. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  670. package/build/dex/usual/usual-m-smart-m.js +50 -0
  671. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  672. package/build/dex/usual/usual-m-usd0.d.ts +17 -0
  673. package/build/dex/usual/usual-m-usd0.js +51 -0
  674. package/build/dex/usual/usual-m-usd0.js.map +1 -0
  675. package/build/dex/usual/usual.d.ts +27 -0
  676. package/build/dex/usual/usual.js +125 -0
  677. package/build/dex/usual/usual.js.map +1 -0
  678. package/build/dex/usual-bond/types.d.ts +3 -3
  679. package/build/dex/usual-bond/usual-bond.js +17 -7
  680. package/build/dex/usual-bond/usual-bond.js.map +1 -1
  681. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  682. package/build/dex/usual-m-smart-m/config.js +13 -0
  683. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  684. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  685. package/build/dex/usual-m-smart-m/types.js +3 -0
  686. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  687. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  688. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  689. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  690. package/build/dex/usual-m-usd0/config.d.ts +3 -0
  691. package/build/dex/usual-m-usd0/config.js +14 -0
  692. package/build/dex/usual-m-usd0/config.js.map +1 -0
  693. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  694. package/build/dex/usual-m-usd0/types.js +3 -0
  695. package/build/dex/usual-m-usd0/types.js.map +1 -0
  696. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  697. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  698. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  699. package/build/dex/weth/config.js +3 -0
  700. package/build/dex/weth/config.js.map +1 -1
  701. package/build/dex/weth/types.d.ts +4 -4
  702. package/build/dex/weth/types.js +1 -1
  703. package/build/dex/weth/types.js.map +1 -1
  704. package/build/dex/weth/weth.js +18 -8
  705. package/build/dex/weth/weth.js.map +1 -1
  706. package/build/dex/wombat/types.d.ts +7 -7
  707. package/build/dex/wombat/utils.js +7 -7
  708. package/build/dex/wombat/utils.js.map +1 -1
  709. package/build/dex/wombat/wombat-bmw.js.map +1 -1
  710. package/build/dex/wombat/wombat-pool.js.map +1 -1
  711. package/build/dex/wombat/wombat-quoter.js.map +1 -1
  712. package/build/dex/wombat/wombat.js +17 -7
  713. package/build/dex/wombat/wombat.js.map +1 -1
  714. package/build/dex/woo-fi-v2/decoders.js +3 -4
  715. package/build/dex/woo-fi-v2/decoders.js.map +1 -1
  716. package/build/dex/woo-fi-v2/types.d.ts +9 -9
  717. package/build/dex/woo-fi-v2/woo-fi-v2-math.js.map +1 -1
  718. package/build/dex/woo-fi-v2/woo-fi-v2.js +17 -7
  719. package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
  720. package/build/dex/wsteth/types.d.ts +3 -3
  721. package/build/dex/wsteth/wsteth.js +17 -7
  722. package/build/dex/wsteth/wsteth.js.map +1 -1
  723. package/build/dex/wusdm/config.js +1 -1
  724. package/build/dex/wusdm/config.js.map +1 -1
  725. package/build/dex/wusdm/types.d.ts +3 -3
  726. package/build/dex/wusdm/types.js +1 -1
  727. package/build/dex/wusdm/types.js.map +1 -1
  728. package/build/dex/wusdm/wusdm-pool.js.map +1 -1
  729. package/build/dex/wusdm/wusdm.js +17 -7
  730. package/build/dex/wusdm/wusdm.js.map +1 -1
  731. package/build/dex/zerox/index.d.ts +4 -26
  732. package/build/dex/zerox/index.js +50 -42
  733. package/build/dex/zerox/index.js.map +1 -1
  734. package/build/dex/zerox/types.d.ts +29 -0
  735. package/build/dex/zerox/types.js +8 -1
  736. package/build/dex/zerox/types.js.map +1 -1
  737. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  738. package/build/dex-helper/irequest-wrapper.d.ts +2 -2
  739. package/build/executor/Executor01BytecodeBuilder.d.ts +2 -2
  740. package/build/executor/Executor01BytecodeBuilder.js +9 -14
  741. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  742. package/build/executor/Executor02BytecodeBuilder.d.ts +2 -2
  743. package/build/executor/Executor02BytecodeBuilder.js +23 -28
  744. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  745. package/build/executor/Executor03BytecodeBuilder.d.ts +2 -2
  746. package/build/executor/Executor03BytecodeBuilder.js +15 -20
  747. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  748. package/build/executor/ExecutorBytecodeBuilder.d.ts +5 -3
  749. package/build/executor/ExecutorBytecodeBuilder.js +51 -18
  750. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  751. package/build/executor/ExecutorDetector.js +5 -5
  752. package/build/executor/ExecutorDetector.js.map +1 -1
  753. package/build/executor/constants.js +16 -16
  754. package/build/executor/constants.js.map +1 -1
  755. package/build/executor/types.d.ts +20 -20
  756. package/build/executor/types.js +4 -4
  757. package/build/executor/types.js.map +1 -1
  758. package/build/executor/utils.js.map +1 -1
  759. package/build/generic-swap-transaction-builder.js +5 -1
  760. package/build/generic-swap-transaction-builder.js.map +1 -1
  761. package/build/implementations/local-paraswap-sdk.js +17 -7
  762. package/build/implementations/local-paraswap-sdk.js.map +1 -1
  763. package/build/lens.d.ts +2 -2
  764. package/build/lib/api3-feed.d.ts +1 -1
  765. package/build/lib/api3-feed.js.map +1 -1
  766. package/build/lib/benqi/staked-avax.d.ts +1 -1
  767. package/build/lib/benqi/staked-avax.js.map +1 -1
  768. package/build/lib/chainlink.d.ts +1 -1
  769. package/build/lib/decoders.js +2 -2
  770. package/build/lib/decoders.js.map +1 -1
  771. package/build/lib/fetcher/fetcher.d.ts +2 -2
  772. package/build/lib/fetcher/fetcher.js.map +1 -1
  773. package/build/lib/fetcher/wsFetcher.d.ts +2 -2
  774. package/build/lib/fetcher/wsFetcher.js.map +1 -1
  775. package/build/lib/generics-events-subscribers/erc20-event-subscriber-factory.js.map +1 -1
  776. package/build/lib/generics-events-subscribers/erc20-event-subscriber.js.map +1 -1
  777. package/build/lib/generics-events-subscribers/types.d.ts +6 -6
  778. package/build/lib/generics-events-subscribers/types.js +2 -2
  779. package/build/lib/generics-events-subscribers/types.js.map +1 -1
  780. package/build/lib/log-messages-suppressor.d.ts +4 -4
  781. package/build/lib/log-messages-suppressor.js.map +1 -1
  782. package/build/lib/log4js.d.ts +1 -1
  783. package/build/lib/log4js.js +18 -8
  784. package/build/lib/log4js.js.map +1 -1
  785. package/build/lib/multi-wrapper.d.ts +2 -2
  786. package/build/lib/multi-wrapper.js.map +1 -1
  787. package/build/lib/promise-scheduler.js.map +1 -1
  788. package/build/lib/stateful-rpc-poller/state-polling-manager.js.map +1 -1
  789. package/build/lib/stateful-rpc-poller/stateful-rpc-poller.js.map +1 -1
  790. package/build/lib/stateful-rpc-poller/types.d.ts +2 -2
  791. package/build/lib/stateful-rpc-poller/types.js +1 -1
  792. package/build/lib/stateful-rpc-poller/types.js.map +1 -1
  793. package/build/lib/stateful-rpc-poller/utils.js +2 -3
  794. package/build/lib/stateful-rpc-poller/utils.js.map +1 -1
  795. package/build/lib/task-scheduler.js.map +1 -1
  796. package/build/lib/token-transfer-fee.js.map +1 -1
  797. package/build/lib/tokens/balancer-fetcher.d.ts +5 -5
  798. package/build/lib/tokens/balancer-fetcher.js +1 -1
  799. package/build/lib/tokens/balancer-fetcher.js.map +1 -1
  800. package/build/lib/tokens/types.d.ts +11 -11
  801. package/build/lib/tokens/types.js +5 -5
  802. package/build/lib/tokens/types.js.map +1 -1
  803. package/build/lib/tokens/utils.js +2 -2
  804. package/build/lib/tokens/utils.js.map +1 -1
  805. package/build/lib/validators.d.ts +1 -1
  806. package/build/lib/validators.js.map +1 -1
  807. package/build/pools-helper.js.map +1 -1
  808. package/build/pricing-helper.js.map +1 -1
  809. package/build/router/buy.d.ts +1 -1
  810. package/build/router/index.js.map +1 -1
  811. package/build/router/megaswap.d.ts +1 -1
  812. package/build/router/multiswap.d.ts +1 -1
  813. package/build/router/payload-encoder.js +4 -4
  814. package/build/router/payload-encoder.js.map +1 -1
  815. package/build/router/simpleswap.d.ts +2 -2
  816. package/build/router/simpleswap.js.map +1 -1
  817. package/build/router/simpleswapnft.d.ts +1 -1
  818. package/build/router/simpleswapnft.js.map +1 -1
  819. package/build/stateful-event-subscriber.d.ts +1 -1
  820. package/build/stateful-event-subscriber.js.map +1 -1
  821. package/build/types.d.ts +39 -39
  822. package/build/utils.d.ts +7 -7
  823. package/build/utils.js +11 -11
  824. package/build/utils.js.map +1 -1
  825. package/package.json +2 -1
  826. package/scripts/run-dex-integration-v3.ts +78 -0
  827. package/src/abi/balancer-v3/batch-router.json +989 -0
  828. package/src/abi/balancer-v3/router.json +1792 -0
  829. package/src/abi/balancer-v3/vault-extension.json +2834 -0
  830. package/src/abi/permit2.json +581 -0
  831. package/src/bigint-constants.ts +1 -0
  832. package/src/config.ts +29 -0
  833. package/src/constants.ts +4 -0
  834. package/src/dex/augustus-approvals.ts +52 -19
  835. package/src/dex/balancer-v3/balancer-v3-e2e.test.ts +275 -0
  836. package/src/dex/balancer-v3/balancer-v3-events.test.ts +223 -0
  837. package/src/dex/balancer-v3/balancer-v3-integration.test.ts +879 -0
  838. package/src/dex/balancer-v3/balancer-v3-pool.ts +660 -0
  839. package/src/dex/balancer-v3/balancer-v3.ts +614 -0
  840. package/src/dex/balancer-v3/config.ts +46 -0
  841. package/src/dex/balancer-v3/getGasCost.ts +37 -0
  842. package/src/dex/balancer-v3/getOnChainState.ts +326 -0
  843. package/src/dex/balancer-v3/getPoolsApi.ts +129 -0
  844. package/src/dex/balancer-v3/getTopPoolsApi.ts +101 -0
  845. package/src/dex/balancer-v3/optimizer.ts +66 -0
  846. package/src/dex/balancer-v3/stablePool.ts +78 -0
  847. package/src/dex/balancer-v3/types.ts +86 -0
  848. package/src/dex/balancer-v3/weightedPool.ts +2 -0
  849. package/src/dex/bebop/bebop.ts +1 -1
  850. package/src/dex/dexalot/dexalot.ts +50 -2
  851. package/src/dex/index.ts +4 -2
  852. package/src/dex/weth/config.ts +3 -0
  853. package/src/executor/Executor01BytecodeBuilder.ts +13 -15
  854. package/src/executor/Executor02BytecodeBuilder.ts +11 -13
  855. package/src/executor/Executor03BytecodeBuilder.ts +11 -16
  856. package/src/executor/ExecutorBytecodeBuilder.ts +63 -2
  857. package/src/generic-swap-transaction-builder.ts +6 -2
  858. package/src/types.ts +1 -1
  859. package/tests/constants-e2e.ts +68 -2
  860. package/tests/utils-e2e.ts +8 -5
  861. package/.idea/aws.xml +0 -17
  862. package/.idea/codeStyles/Project.xml +0 -19
  863. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  864. package/.idea/misc.xml +0 -6
  865. package/.idea/modules.xml +0 -8
  866. package/.idea/paraswap-dex-lib.iml +0 -9
  867. package/.idea/prettier.xml +0 -7
  868. package/.idea/vcs.xml +0 -6
  869. package/build/abi/integral/factory.json +0 -333
  870. package/build/abi/integral/oracle.json +0 -501
  871. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  872. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  873. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  874. package/build/dex/integral/config.d.ts +0 -4
  875. package/build/dex/integral/config.js +0 -20
  876. package/build/dex/integral/config.js.map +0 -1
  877. package/build/dex/integral/context.d.ts +0 -40
  878. package/build/dex/integral/context.js +0 -158
  879. package/build/dex/integral/context.js.map +0 -1
  880. package/build/dex/integral/integral-factory.d.ts +0 -24
  881. package/build/dex/integral/integral-factory.js +0 -95
  882. package/build/dex/integral/integral-factory.js.map +0 -1
  883. package/build/dex/integral/integral-pool.d.ts +0 -50
  884. package/build/dex/integral/integral-pool.js +0 -149
  885. package/build/dex/integral/integral-pool.js.map +0 -1
  886. package/build/dex/integral/integral-pricing.d.ts +0 -18
  887. package/build/dex/integral/integral-pricing.js +0 -114
  888. package/build/dex/integral/integral-pricing.js.map +0 -1
  889. package/build/dex/integral/integral-relayer.d.ts +0 -42
  890. package/build/dex/integral/integral-relayer.js +0 -192
  891. package/build/dex/integral/integral-relayer.js.map +0 -1
  892. package/build/dex/integral/integral-token.d.ts +0 -27
  893. package/build/dex/integral/integral-token.js +0 -59
  894. package/build/dex/integral/integral-token.js.map +0 -1
  895. package/build/dex/integral/integral.d.ts +0 -41
  896. package/build/dex/integral/integral.js +0 -376
  897. package/build/dex/integral/integral.js.map +0 -1
  898. package/build/dex/integral/types.d.ts +0 -85
  899. package/build/dex/integral/types.js +0 -9
  900. package/build/dex/integral/types.js.map +0 -1
  901. package/build/dex/integral/utils-e2e.d.ts +0 -9
  902. package/build/dex/integral/utils-e2e.js +0 -131
  903. package/build/dex/integral/utils-e2e.js.map +0 -1
  904. package/build/dex/integral/utils.d.ts +0 -17
  905. package/build/dex/integral/utils.js +0 -94
  906. package/build/dex/integral/utils.js.map +0 -1
  907. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  908. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  909. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  910. package/src/abi/cables/CablesMainnetRFQ.json +0 -1083
  911. package/src/dex/cables/cables-e2e.test.ts +0 -207
  912. package/src/dex/cables/cables-integration.test.ts +0 -319
  913. package/src/dex/cables/cables.ts +0 -888
  914. package/src/dex/cables/config.ts +0 -13
  915. package/src/dex/cables/constants.ts +0 -35
  916. package/src/dex/cables/rate-fetcher.ts +0 -219
  917. package/src/dex/cables/types.ts +0 -130
  918. package/src/dex/cables/validators.test.ts +0 -151
  919. package/src/dex/cables/validators.ts +0 -61
@@ -75,7 +75,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
75
75
  }
76
76
  buildMultiMegaSwapFlags(priceRoute, exchangeParams, routeIndex, swapIndex, swapExchangeIndex, exchangeParamIndex, maybeWethCallData) {
77
77
  return {
78
- dexFlag: types_1.Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP,
78
+ dexFlag: types_1.Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP, // 0
79
79
  approveFlag: types_1.Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP, // 0
80
80
  };
81
81
  }
@@ -103,7 +103,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
103
103
  curExchangeParam.approveData) {
104
104
  // TODO: as we give approve for MAX_UINT and approve for current targetExchange was given
105
105
  // in previous paths, then for current path we can skip it
106
- const approveCallData = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[index]);
106
+ const approveCallData = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[index], curExchangeParam.permit2Approval);
107
107
  swapCallData = hexConcat([approveCallData, swapCallData]);
108
108
  }
109
109
  if (maybeWethCallData?.deposit &&
@@ -115,7 +115,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
115
115
  ) {
116
116
  let approveWethCalldata = '0x';
117
117
  if (curExchangeParam.approveData) {
118
- approveWethCalldata = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[index]);
118
+ approveWethCalldata = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[index], curExchangeParam.permit2Approval);
119
119
  }
120
120
  const depositCallData = this.buildWrapEthCallData(this.getWETHAddress(curExchangeParam), maybeWethCallData.deposit.calldata, types_1.Flag.SEND_ETH_EQUAL_TO_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP);
121
121
  swapCallData = hexConcat([
@@ -183,21 +183,16 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
183
183
  let fromAmountPos = 0;
184
184
  let toAmountPos = 0;
185
185
  if (insertAmount) {
186
- if (exchangeParam.insertFromAmountPos) {
187
- fromAmountPos = exchangeParam.insertFromAmountPos;
188
- }
189
- else {
190
- const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].srcAmount]);
191
- const fromAmountIndex = exchangeData
192
- .replace('0x', '')
193
- .indexOf(fromAmount.replace('0x', ''));
194
- fromAmountPos =
195
- (fromAmountIndex !== -1 ? fromAmountIndex : exchangeData.length) / 2;
196
- }
186
+ const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].srcAmount]);
197
187
  const toAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].destAmount]);
188
+ const fromAmountIndex = exchangeData
189
+ .replace('0x', '')
190
+ .indexOf(fromAmount.replace('0x', ''));
198
191
  const toAmountIndex = exchangeData
199
192
  .replace('0x', '')
200
193
  .indexOf(toAmount.replace('0x', ''));
194
+ fromAmountPos =
195
+ (fromAmountIndex !== -1 ? fromAmountIndex : exchangeData.length) / 2;
201
196
  toAmountPos =
202
197
  (toAmountIndex !== -1 ? toAmountIndex : exchangeData.length) / 2;
203
198
  }
@@ -235,7 +230,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
235
230
  }),
236
231
  ]), '0x');
237
232
  return solidityPack(['bytes32', 'bytes', 'bytes'], [
238
- hexZeroPad(hexlify(32), 32),
233
+ hexZeroPad(hexlify(32), 32), // calldata offset
239
234
  hexZeroPad(hexlify(hexDataLength(swapsCalldata) + constants_1.BYTES_96_LENGTH), // calldata length (96 bytes = bytes12(0) + msg.sender)
240
235
  32),
241
236
  swapsCalldata, // // calldata
@@ -255,11 +250,11 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
255
250
  .indexOf(destTokenAddressLowered.replace('0x', ''));
256
251
  const destTokenPos = hexZeroPad(hexlify(destTokenAddrIndex / 2), 8);
257
252
  return solidityPack(['bytes4', 'bytes4', 'bytes8', 'bytes8', 'bytes8', 'bytes'], [
258
- hexZeroPad(hexlify(hexDataLength(callData)), 4),
259
- hexZeroPad(hexlify(needWithdraw ? 1 : 0), 4),
260
- destTokenPos,
261
- srcTokenPos,
262
- hexZeroPad(hexlify(Math.ceil(percentage * 100)), 8),
253
+ hexZeroPad(hexlify(hexDataLength(callData)), 4), // calldata size
254
+ hexZeroPad(hexlify(needWithdraw ? 1 : 0), 4), // flag
255
+ destTokenPos, // (8) destTokenPos
256
+ srcTokenPos, // (8) srcTokenPos
257
+ hexZeroPad(hexlify(Math.ceil(percentage * 100)), 8), // percentage
263
258
  callData, // swap calldata
264
259
  ]);
265
260
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Executor03BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor03BytecodeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor03BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor03BytecodeBuilder.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { Address, OptimalRate, OptimalSwap } from '@paraswap/core';
4
4
  import { DepositWithdrawReturn } from '../dex/weth/types';
5
5
  import { Executors, Flag, SpecialDex } from './types';
6
6
  import { DexExchangeBuildParam, DexExchangeParam } from '../types';
7
- export declare type SingleSwapCallDataParams<T> = {
7
+ export type SingleSwapCallDataParams<T> = {
8
8
  priceRoute: OptimalRate;
9
9
  exchangeParams: DexExchangeBuildParam[];
10
10
  index: number;
@@ -16,7 +16,7 @@ export declare type SingleSwapCallDataParams<T> = {
16
16
  sender: string;
17
17
  maybeWethCallData?: DepositWithdrawReturn;
18
18
  } & T;
19
- export declare type DexCallDataParams<T> = {
19
+ export type DexCallDataParams<T> = {
20
20
  priceRoute: OptimalRate;
21
21
  routeIndex: number;
22
22
  swapIndex: number;
@@ -30,6 +30,7 @@ export declare abstract class ExecutorBytecodeBuilder<S = {}, D = {}> {
30
30
  protected dexHelper: IDexHelper;
31
31
  type: Executors;
32
32
  erc20Interface: Interface;
33
+ permit2Interface: Interface;
33
34
  constructor(dexHelper: IDexHelper);
34
35
  protected buildSimpleSwapFlags(priceRoute: OptimalRate, exchangeParams: DexExchangeBuildParam[], routeIndex: number, swapIndex: number, swapExchangeIndex: number, exchangeParamIndex: number, maybeWethCallData?: DepositWithdrawReturn): {
35
36
  dexFlag: Flag;
@@ -43,7 +44,8 @@ export declare abstract class ExecutorBytecodeBuilder<S = {}, D = {}> {
43
44
  abstract getAddress(): string;
44
45
  protected buildSingleSwapCallData(params: SingleSwapCallDataParams<S>): string;
45
46
  protected buildDexCallData(params: DexCallDataParams<D>): string;
46
- protected buildApproveCallData(spender: string, tokenAddr: Address, flag: Flag, amount?: string): string;
47
+ protected buildApproveCallData(spender: string, tokenAddr: Address, flag: Flag, permit2?: boolean, amount?: string): string;
48
+ protected buildPermit2CallData(spender: string, tokenAddr: Address, flag: Flag): string;
47
49
  protected buildWrapEthCallData(wethAddress: string, depositCallData: string, flag: Flag, destTokenPos?: number): string;
48
50
  protected buildUnwrapEthCallData(wethAddress: string, withdrawCallData: string): string;
49
51
  protected buildTransferCallData(transferCallData: string, tokenAddr: Address): string;
@@ -6,19 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ExecutorBytecodeBuilder = void 0;
7
7
  const abi_1 = require("@ethersproject/abi");
8
8
  const erc20_json_1 = __importDefault(require("../abi/erc20.json"));
9
+ const permit2_json_1 = __importDefault(require("../abi/permit2.json"));
9
10
  const ethers_1 = require("ethers");
10
11
  const utils_1 = require("../utils");
11
12
  const constants_1 = require("./constants");
12
13
  const types_1 = require("./types");
13
14
  const constants_2 = require("../constants");
15
+ const bigint_constants_1 = require("../bigint-constants");
14
16
  const { utils: { hexlify, hexDataLength, hexConcat, hexZeroPad, solidityPack }, } = ethers_1.ethers;
17
+ const MAX_UINT48 = bigint_constants_1.BI_MAX_UINT48.toString();
18
+ const MAX_UINT160 = bigint_constants_1.BI_MAX_UINT160.toString();
15
19
  class ExecutorBytecodeBuilder {
16
20
  dexHelper;
17
21
  type;
18
22
  erc20Interface;
23
+ permit2Interface;
19
24
  constructor(dexHelper) {
20
25
  this.dexHelper = dexHelper;
21
26
  this.erc20Interface = new abi_1.Interface(erc20_json_1.default);
27
+ this.permit2Interface = new abi_1.Interface(permit2_json_1.default);
22
28
  }
23
29
  buildSimpleSwapFlags(priceRoute, exchangeParams, routeIndex, swapIndex, swapExchangeIndex, exchangeParamIndex, maybeWethCallData) {
24
30
  return {
@@ -38,7 +44,10 @@ class ExecutorBytecodeBuilder {
38
44
  buildDexCallData(params) {
39
45
  return '0x';
40
46
  }
41
- buildApproveCallData(spender, tokenAddr, flag, amount = constants_2.MAX_UINT) {
47
+ buildApproveCallData(spender, tokenAddr, flag, permit2 = false, amount = constants_2.MAX_UINT) {
48
+ if (permit2) {
49
+ return this.buildPermit2CallData(spender, tokenAddr, flag);
50
+ }
42
51
  let approveCalldata = this.erc20Interface.encodeFunctionData('approve', [
43
52
  spender,
44
53
  amount,
@@ -53,12 +62,36 @@ class ExecutorBytecodeBuilder {
53
62
  if (amount !== '0' &&
54
63
  constants_1.DISABLED_MAX_UNIT_APPROVAL_TOKENS?.[this.dexHelper.config.data.network]?.includes(tokenAddr)) {
55
64
  approvalCalldata = hexConcat([
56
- this.buildApproveCallData(spender, tokenAddr, types_1.Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP, '0'),
65
+ this.buildApproveCallData(spender, tokenAddr, types_1.Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP, false, '0'),
57
66
  approvalCalldata,
58
67
  ]);
59
68
  }
60
69
  return approvalCalldata;
61
70
  }
71
+ buildPermit2CallData(spender, tokenAddr, flag) {
72
+ // first, give approval for Permit2 on the token contract
73
+ // (with this approval, Permit2 contract can invoke safeTransferFrom on the token)
74
+ let approveData = this.erc20Interface.encodeFunctionData('approve', [
75
+ constants_2.PERMIT2_ADDRESS,
76
+ constants_2.MAX_UINT,
77
+ ]);
78
+ let approvalCalldata = this.buildCallData(tokenAddr, approveData, 0, constants_1.APPROVE_CALLDATA_DEST_TOKEN_POS, types_1.SpecialDex.DEFAULT, types_1.Flag.DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP);
79
+ // second, give approval for spender on Permit2 contract
80
+ // (with this approval, spender can interact with Permit2 on behalf of the executor)
81
+ let permit2Data = this.permit2Interface.encodeFunctionData('approve', [
82
+ tokenAddr,
83
+ spender,
84
+ MAX_UINT160,
85
+ MAX_UINT48,
86
+ ]);
87
+ let permit2Calldata = this.buildCallData(constants_2.PERMIT2_ADDRESS, permit2Data, 0, constants_1.APPROVE_CALLDATA_DEST_TOKEN_POS, types_1.SpecialDex.DEFAULT, flag);
88
+ // as approval given only for MAX_UNIT or 0, no need to use insertFromAmount flag
89
+ const checkSrcTokenBalance = flag % 3 === 2;
90
+ if (checkSrcTokenBalance) {
91
+ permit2Calldata = hexConcat([permit2Calldata, constants_1.ZEROS_12_BYTES, tokenAddr]);
92
+ }
93
+ return hexConcat([approvalCalldata, permit2Calldata]);
94
+ }
62
95
  buildWrapEthCallData(wethAddress, depositCallData, flag, destTokenPos = 0) {
63
96
  return this.buildCallData(wethAddress, depositCallData, constants_1.WRAP_UNWRAP_FROM_AMOUNT_POS, destTokenPos, types_1.SpecialDex.DEFAULT, flag);
64
97
  }
@@ -84,27 +117,27 @@ class ExecutorBytecodeBuilder {
84
117
  buildExecutor0102CallData(tokenAddress, calldata, fromAmountPos, destTokenPos, specialDexFlag, flag, toAmountPos = 0, // not used for Executor01 and Executor02, just to follow the same interface
85
118
  returnAmountPos = constants_1.DEFAULT_RETURN_AMOUNT_POS) {
86
119
  return solidityPack(constants_1.EXECUTOR_01_02_FUNCTION_CALL_DATA_TYPES, [
87
- tokenAddress,
88
- hexZeroPad(hexlify(hexDataLength(calldata) + constants_1.BYTES_28_LENGTH), 4),
89
- hexZeroPad(hexlify(fromAmountPos), 2),
90
- hexZeroPad(hexlify(destTokenPos), 2),
91
- hexZeroPad(hexlify(returnAmountPos), 1),
92
- hexZeroPad(hexlify(specialDexFlag), 1),
93
- hexZeroPad(hexlify(flag), 2),
94
- constants_1.ZEROS_28_BYTES,
120
+ tokenAddress, // token address
121
+ hexZeroPad(hexlify(hexDataLength(calldata) + constants_1.BYTES_28_LENGTH), 4), // calldata length + bytes28(0)
122
+ hexZeroPad(hexlify(fromAmountPos), 2), // fromAmountPos
123
+ hexZeroPad(hexlify(destTokenPos), 2), // destTokenPos
124
+ hexZeroPad(hexlify(returnAmountPos), 1), // returnAmountPos
125
+ hexZeroPad(hexlify(specialDexFlag), 1), // special
126
+ hexZeroPad(hexlify(flag), 2), // flag
127
+ constants_1.ZEROS_28_BYTES, // bytes28(0)
95
128
  calldata, // calldata
96
129
  ]);
97
130
  }
98
131
  buildExecutor03CallData(tokenAddress, calldata, fromAmountPos, destTokenPos, specialDexFlag, flag, toAmountPos = 0) {
99
132
  return solidityPack(constants_1.EXECUTOR_03_FUNCTION_CALL_DATA_TYPES, [
100
- tokenAddress,
101
- hexZeroPad(hexlify(hexDataLength(calldata) + constants_1.BYTES_28_LENGTH), 2),
102
- hexZeroPad(hexlify(toAmountPos), 2),
103
- hexZeroPad(hexlify(fromAmountPos), 2),
104
- hexZeroPad(hexlify(destTokenPos), 2),
105
- hexZeroPad(hexlify(specialDexFlag), 2),
106
- hexZeroPad(hexlify(flag), 2),
107
- constants_1.ZEROS_28_BYTES,
133
+ tokenAddress, // token address
134
+ hexZeroPad(hexlify(hexDataLength(calldata) + constants_1.BYTES_28_LENGTH), 2), // calldata length + bytes28(0)
135
+ hexZeroPad(hexlify(toAmountPos), 2), // toAmountPos
136
+ hexZeroPad(hexlify(fromAmountPos), 2), // fromAmountPos
137
+ hexZeroPad(hexlify(destTokenPos), 2), // destTokenPos
138
+ hexZeroPad(hexlify(specialDexFlag), 2), // special
139
+ hexZeroPad(hexlify(flag), 2), // flag
140
+ constants_1.ZEROS_28_BYTES, // bytes28(0)
108
141
  calldata, // calldata
109
142
  ]);
110
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutorBytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/ExecutorBytecodeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutorBytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/ExecutorBytecodeBuilder.ts"],"names":[],"mappings":"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"}
@@ -15,15 +15,15 @@ class ExecutorDetector {
15
15
  wethBytecodeBuilder;
16
16
  routeExecutionTypeToExecutorMap = {
17
17
  [core_1.SwapSide.SELL]: {
18
- [types_1.RouteExecutionType.SINGLE_STEP]: types_1.Executors.ONE,
19
- [types_1.RouteExecutionType.HORIZONTAL_SEQUENCE]: types_1.Executors.ONE,
20
- [types_1.RouteExecutionType.VERTICAL_BRANCH]: types_1.Executors.TWO,
21
- [types_1.RouteExecutionType.VERTICAL_BRANCH_HORIZONTAL_SEQUENCE]: types_1.Executors.TWO,
18
+ [types_1.RouteExecutionType.SINGLE_STEP]: types_1.Executors.ONE, // simpleSwap via Executor01
19
+ [types_1.RouteExecutionType.HORIZONTAL_SEQUENCE]: types_1.Executors.ONE, // multiSwap via Executor01
20
+ [types_1.RouteExecutionType.VERTICAL_BRANCH]: types_1.Executors.TWO, // simpleSwap with percentage on a path via Executor02
21
+ [types_1.RouteExecutionType.VERTICAL_BRANCH_HORIZONTAL_SEQUENCE]: types_1.Executors.TWO, // multiSwap with percentages on paths via Executor02
22
22
  // megaSwap via Executor02
23
23
  [types_1.RouteExecutionType.NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE]: types_1.Executors.TWO,
24
24
  },
25
25
  [core_1.SwapSide.BUY]: {
26
- [types_1.RouteExecutionType.SINGLE_STEP]: types_1.Executors.THREE,
26
+ [types_1.RouteExecutionType.SINGLE_STEP]: types_1.Executors.THREE, // simpleBuy via Executor03
27
27
  [types_1.RouteExecutionType.VERTICAL_BRANCH]: types_1.Executors.THREE, // simpleBuy via Executor03
28
28
  },
29
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutorDetector.js","sourceRoot":"","sources":["../../src/executor/ExecutorDetector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutorDetector.js","sourceRoot":"","sources":["../../src/executor/ExecutorDetector.ts"],"names":[],"mappings":"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"}
@@ -16,25 +16,25 @@ exports.SWAP_EXCHANGE_100_PERCENTAGE = 100;
16
16
  exports.NOT_EXISTING_EXCHANGE_PARAM_INDEX = -1;
17
17
  exports.ETH_SRC_TOKEN_POS_FOR_MULTISWAP_METADATA = '0xEEEEEEEEEEEEEEEE';
18
18
  exports.EXECUTOR_01_02_FUNCTION_CALL_DATA_TYPES = [
19
- 'bytes20',
20
- 'bytes4',
21
- 'bytes2',
22
- 'bytes2',
23
- 'bytes1',
24
- 'bytes1',
25
- 'bytes2',
26
- 'bytes28',
19
+ 'bytes20', // address
20
+ 'bytes4', // calldata Size
21
+ 'bytes2', // fromAmount Pos
22
+ 'bytes2', // srcTokenPos
23
+ 'bytes1', // returnAmount Pos
24
+ 'bytes1', // specialExchange
25
+ 'bytes2', // flag
26
+ 'bytes28', // zero padding
27
27
  'bytes', // dex calldata
28
28
  ];
29
29
  exports.EXECUTOR_03_FUNCTION_CALL_DATA_TYPES = [
30
- 'bytes20',
31
- 'bytes2',
32
- 'bytes2',
33
- 'bytes2',
34
- 'bytes2',
35
- 'bytes2',
36
- 'bytes2',
37
- 'bytes28',
30
+ 'bytes20', // address(bytes20)
31
+ 'bytes2', // calldata Size(bytes 2)
32
+ 'bytes2', // toAmount Pos(bytes2)
33
+ 'bytes2', // fromAmount Pos(bytes2)
34
+ 'bytes2', // srcTokenPos(bytes2)
35
+ 'bytes2', // specialExchange (bytes2)
36
+ 'bytes2', // flag(bytes2)
37
+ 'bytes28', // zero padding (bytes28)
38
38
  'bytes', // dex calldata (bytes)
39
39
  ];
40
40
  exports.APPROVE_CALLDATA_DEST_TOKEN_POS = 68;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/executor/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,4CAAuC;AAEvC,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAC/B,GAAG,eAAM,CAAC;AAEE,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,eAAe,GAAG,EAAE,CAAC;AAErB,QAAA,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAE5C,QAAA,4BAA4B,GAAG,GAAG,CAAC;AAEnC,QAAA,iCAAiC,GAAG,CAAC,CAAC,CAAC;AAEvC,QAAA,wCAAwC,GAAG,oBAAoB,CAAC;AAEhE,QAAA,uCAAuC,GAAa;IAC/D,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO,EAAE,eAAe;CACzB,CAAC;AAEW,QAAA,oCAAoC,GAAa;IAC5D,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEW,QAAA,+BAA+B,GAAG,EAAE,CAAC;AACrC,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAEhC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAEvC,4GAA4G;AAC5G,sDAAsD;AACzC,QAAA,iCAAiC,GAE1C;IACF,qEAAqE;IACrE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,4CAA4C;QAC5C,4CAA4C;QAC5C,4CAA4C;KAC7C;CACF,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/executor/constants.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,4CAAuC;AAEvC,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,GAC/B,GAAG,eAAM,CAAC;AAEE,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,eAAe,GAAG,EAAE,CAAC;AACrB,QAAA,eAAe,GAAG,EAAE,CAAC;AAErB,QAAA,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC5C,QAAA,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAE5C,QAAA,4BAA4B,GAAG,GAAG,CAAC;AAEnC,QAAA,iCAAiC,GAAG,CAAC,CAAC,CAAC;AAEvC,QAAA,wCAAwC,GAAG,oBAAoB,CAAC;AAEhE,QAAA,uCAAuC,GAAa;IAC/D,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,iBAAiB;IAC3B,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ,EAAE,kBAAkB;IAC5B,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,eAAe;IAC1B,OAAO,EAAE,eAAe;CACzB,CAAC;AAEW,QAAA,oCAAoC,GAAa;IAC5D,SAAS,EAAE,mBAAmB;IAC9B,QAAQ,EAAE,yBAAyB;IACnC,QAAQ,EAAE,uBAAuB;IACjC,QAAQ,EAAE,yBAAyB;IACnC,QAAQ,EAAE,sBAAsB;IAChC,QAAQ,EAAE,2BAA2B;IACrC,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,yBAAyB;IACpC,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEW,QAAA,+BAA+B,GAAG,EAAE,CAAC;AACrC,QAAA,2BAA2B,GAAG,CAAC,CAAC;AAChC,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAEhC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAEvC,4GAA4G;AAC5G,sDAAsD;AACzC,QAAA,iCAAiC,GAE1C;IACF,qEAAqE;IACrE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,4CAA4C;QAC5C,4CAA4C;QAC5C,4CAA4C;KAC7C;CACF,CAAC"}
@@ -1,27 +1,27 @@
1
1
  export declare enum Flag {
2
- SEND_ETH_EQUAL_TO_FROM_AMOUNT_PLUS_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 18,
3
- SEND_ETH_EQUAL_TO_FROM_AMOUNT_PLUS_INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 14,
4
- INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 11,
5
- SEND_ETH_EQUAL_TO_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 9,
6
- DONT_INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 8,
7
- INSERT_FROM_AMOUNT_CHECK_ETH_BALANCE_AFTER_SWAP = 7,
8
- SEND_ETH_EQUAL_TO_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 5,
9
- DONT_INSERT_FROM_AMOUNT_CHECK_ETH_BALANCE_AFTER_SWAP = 4,
10
- INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 3,
2
+ SEND_ETH_EQUAL_TO_FROM_AMOUNT_PLUS_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 18,// // (flag 18 mod 4) = case 2: sendEth equal to fromAmount + insert fromAmount, (flag 18 mod 3) = case 0: don't check balance after swap
3
+ SEND_ETH_EQUAL_TO_FROM_AMOUNT_PLUS_INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 14,// (flag 14 mod 4) = case 2: sendEth equal to fromAmount + insert fromAmount, (flag 14 mod 3) = case 2: case 2: check "srcToken" balance after swap
4
+ INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 11,// (flag 11 mod 4) = case 3: insert fromAmount, (flag 11 mod 3) = case 2: check "srcToken" balance after swap
5
+ SEND_ETH_EQUAL_TO_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 9,// (flag 9 mod 4) = case 1: sendEth equal to fromAmount, (flag 9 mod 3) = case 0: don't check balance after swap
6
+ DONT_INSERT_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 8,// (flag 8 mod 4) = case 0: don't insert fromAmount, (flag 8 mod 3) = case 2: check "srcToken" balance after swap
7
+ INSERT_FROM_AMOUNT_CHECK_ETH_BALANCE_AFTER_SWAP = 7,// (flag 7 mod 4) = case 3: insert fromAmount, (flag 7 mod 3) = case 1: check eth balance after swap
8
+ SEND_ETH_EQUAL_TO_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP = 5,// (flag 5 mod 4) = case 1: sendEth equal to fromAmount, (flag 5 mod 3) = case 2: check "srcToken" balance after swap
9
+ DONT_INSERT_FROM_AMOUNT_CHECK_ETH_BALANCE_AFTER_SWAP = 4,// (flag 4 mod 4) = case 0: don't insert fromAmount, (flag 4 mod 3) = case 1: check eth balance after swap
10
+ INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 3,// (flag 3 mod 4) = case 3: insert fromAmount, (flag 3 mod 3) = case 0: don't check balance after swap
11
11
  DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP = 0
12
12
  }
13
13
  export declare enum SpecialDex {
14
14
  DEFAULT = 0,
15
- SWAP_ON_SWAAP_V2_SINGLE = 1,
16
- SWAP_ON_BALANCER_V1 = 2,
17
- SWAP_ON_MAKER_PSM = 3,
18
- SEND_NATIVE = 4,
19
- SWAP_ON_BALANCER_V2 = 5,
15
+ SWAP_ON_SWAAP_V2_SINGLE = 1,// swapOnSwaapV2Single
16
+ SWAP_ON_BALANCER_V1 = 2,// swapOnBalancerV1
17
+ SWAP_ON_MAKER_PSM = 3,// swapOnMakerPSM
18
+ SEND_NATIVE = 4,// sendNative
19
+ SWAP_ON_BALANCER_V2 = 5,// swapOnBalancerV2
20
20
  SWAP_ON_UNISWAP_V2_FORK = 6,
21
21
  SWAP_ON_DYSTOPIA_UNISWAP_V2_FORK = 7,
22
22
  SWAP_ON_DYSTOPIA_UNISWAP_V2_FORK_WITH_FEE = 8,
23
- SWAP_ON_AUGUSTUS_RFQ = 9,
24
- EXECUTE_VERTICAL_BRANCHING = 10,
23
+ SWAP_ON_AUGUSTUS_RFQ = 9,// swapOnAugustusRFQ
24
+ EXECUTE_VERTICAL_BRANCHING = 10,// execute vertical branching
25
25
  BUY_ON_SOLIDLY_V3 = 11,
26
26
  SWAP_ON_DEXALOT = 12,
27
27
  SWAP_ON_HASHFLOW = 13
@@ -33,9 +33,9 @@ export declare enum Executors {
33
33
  THREE = "Executor03"
34
34
  }
35
35
  export declare enum RouteExecutionType {
36
- SINGLE_STEP = 0,
37
- HORIZONTAL_SEQUENCE = 1,
38
- VERTICAL_BRANCH = 3,
39
- VERTICAL_BRANCH_HORIZONTAL_SEQUENCE = 4,
36
+ SINGLE_STEP = 0,// simpleSwap with 100% on a path and single DEX
37
+ HORIZONTAL_SEQUENCE = 1,// multiSwap with 100% on each path
38
+ VERTICAL_BRANCH = 3,// simpleSwap with N DEXs on a path
39
+ VERTICAL_BRANCH_HORIZONTAL_SEQUENCE = 4,// multiSwap, megaSwap
40
40
  NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE = 5
41
41
  }
@@ -13,7 +13,7 @@ var Flag;
13
13
  Flag[Flag["DONT_INSERT_FROM_AMOUNT_CHECK_ETH_BALANCE_AFTER_SWAP"] = 4] = "DONT_INSERT_FROM_AMOUNT_CHECK_ETH_BALANCE_AFTER_SWAP";
14
14
  Flag[Flag["INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP"] = 3] = "INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP";
15
15
  Flag[Flag["DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP"] = 0] = "DONT_INSERT_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP";
16
- })(Flag = exports.Flag || (exports.Flag = {}));
16
+ })(Flag || (exports.Flag = Flag = {}));
17
17
  var SpecialDex;
18
18
  (function (SpecialDex) {
19
19
  SpecialDex[SpecialDex["DEFAULT"] = 0] = "DEFAULT";
@@ -31,14 +31,14 @@ var SpecialDex;
31
31
  SpecialDex[SpecialDex["BUY_ON_SOLIDLY_V3"] = 11] = "BUY_ON_SOLIDLY_V3";
32
32
  SpecialDex[SpecialDex["SWAP_ON_DEXALOT"] = 12] = "SWAP_ON_DEXALOT";
33
33
  SpecialDex[SpecialDex["SWAP_ON_HASHFLOW"] = 13] = "SWAP_ON_HASHFLOW";
34
- })(SpecialDex = exports.SpecialDex || (exports.SpecialDex = {}));
34
+ })(SpecialDex || (exports.SpecialDex = SpecialDex = {}));
35
35
  var Executors;
36
36
  (function (Executors) {
37
37
  Executors["WETH"] = "WETH";
38
38
  Executors["ONE"] = "Executor01";
39
39
  Executors["TWO"] = "Executor02";
40
40
  Executors["THREE"] = "Executor03";
41
- })(Executors = exports.Executors || (exports.Executors = {}));
41
+ })(Executors || (exports.Executors = Executors = {}));
42
42
  var RouteExecutionType;
43
43
  (function (RouteExecutionType) {
44
44
  RouteExecutionType[RouteExecutionType["SINGLE_STEP"] = 0] = "SINGLE_STEP";
@@ -46,5 +46,5 @@ var RouteExecutionType;
46
46
  RouteExecutionType[RouteExecutionType["VERTICAL_BRANCH"] = 3] = "VERTICAL_BRANCH";
47
47
  RouteExecutionType[RouteExecutionType["VERTICAL_BRANCH_HORIZONTAL_SEQUENCE"] = 4] = "VERTICAL_BRANCH_HORIZONTAL_SEQUENCE";
48
48
  RouteExecutionType[RouteExecutionType["NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE"] = 5] = "NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE";
49
- })(RouteExecutionType = exports.RouteExecutionType || (exports.RouteExecutionType = {}));
49
+ })(RouteExecutionType || (exports.RouteExecutionType = RouteExecutionType = {}));
50
50
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAWX;AAXD,WAAY,IAAI;IACd,8LAAwF,CAAA;IACxF,wMAA6F,CAAA;IAC7F,kIAA0D,CAAA;IAC1D,6IAA+D,CAAA;IAC/D,2IAA8D,CAAA;IAC9D,qHAAmD,CAAA;IACnD,uJAAoE,CAAA;IACpE,+HAAwD,CAAA;IACxD,uHAAoD,CAAA;IACpD,iIAAyD,CAAA;AAC3D,CAAC,EAXW,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAWf;AAED,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,iFAA2B,CAAA;IAC3B,yCAAyC;IACzC,yEAAuB,CAAA;IACvB,qEAAqB,CAAA;IACrB,yDAAe,CAAA;IACf,yEAAuB,CAAA;IACvB,iFAA2B,CAAA;IAC3B,mGAAoC,CAAA;IACpC,qHAA6C,CAAA;IAC7C,2EAAwB,CAAA;IACxB,wFAA+B,CAAA;IAC/B,sEAAsB,CAAA;IACtB,kEAAoB,CAAA;IACpB,oEAAqB,CAAA;AACvB,CAAC,EAhBW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAgBrB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,+BAAkB,CAAA;IAClB,+BAAkB,CAAA;IAClB,iCAAoB,CAAA;AACtB,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yEAAe,CAAA;IACf,yFAAuB,CAAA;IACvB,iFAAmB,CAAA;IACnB,yHAAuC,CAAA;IACvC,uIAA8C,CAAA;AAChD,CAAC,EANW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAM7B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":";;;AAAA,IAAY,IAWX;AAXD,WAAY,IAAI;IACd,8LAAwF,CAAA;IACxF,wMAA6F,CAAA;IAC7F,kIAA0D,CAAA;IAC1D,6IAA+D,CAAA;IAC/D,2IAA8D,CAAA;IAC9D,qHAAmD,CAAA;IACnD,uJAAoE,CAAA;IACpE,+HAAwD,CAAA;IACxD,uHAAoD,CAAA;IACpD,iIAAyD,CAAA;AAC3D,CAAC,EAXW,IAAI,oBAAJ,IAAI,QAWf;AAED,IAAY,UAgBX;AAhBD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,iFAA2B,CAAA;IAC3B,yCAAyC;IACzC,yEAAuB,CAAA;IACvB,qEAAqB,CAAA;IACrB,yDAAe,CAAA;IACf,yEAAuB,CAAA;IACvB,iFAA2B,CAAA;IAC3B,mGAAoC,CAAA;IACpC,qHAA6C,CAAA;IAC7C,2EAAwB,CAAA;IACxB,wFAA+B,CAAA;IAC/B,sEAAsB,CAAA;IACtB,kEAAoB,CAAA;IACpB,oEAAqB,CAAA;AACvB,CAAC,EAhBW,UAAU,0BAAV,UAAU,QAgBrB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,+BAAkB,CAAA;IAClB,+BAAkB,CAAA;IAClB,iCAAoB,CAAA;AACtB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC5B,yEAAe,CAAA;IACf,yFAAuB,CAAA;IACvB,iFAAmB,CAAA;IACnB,yHAAuC,CAAA;IACvC,uIAA8C,CAAA;AAChD,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/executor/utils.ts"],"names":[],"mappings":";;;AACA,2CAAwE;AAEjE,MAAM,2BAA2B,GAAG,CACzC,KAAgB,EAChB,YAAuC,EACvC,UAAU,GAAG,EAAE,EACf,WAAW,GAAG,CAAC,EACP,EAAE;IACV,MAAM,IAAI,GACR,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,YAAY,CAAC;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAC7B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,CAC1E,CAAC;IAEF,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,MAAM,IAAI,KAAK,CACb,YAAY,YAAY,oCAAoC,CAC7D,CAAC;KACH;IAED,IAAI,KAAK,KAAK,CAAC,EAAE;QACf,IACE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO;YAC/B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,2BAA2B;YAChF,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,8BAA8B;UACnD;YACA,OAAO,CACL,gCAAoB;gBACpB,gCAAoB;gBACpB,WAAW,GAAG,gCAAoB,CACnC,CAAC,CAAC,4EAA4E;SAChF;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACvE,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;SACH;QAED,OAAO,+BAAmB,CAAC;KAC5B;IAED,IAAI,QAAQ,GAAG,+BAAmB,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,QAAQ,GAAG,KAAK,EAAE;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAChE,MAAM,IAAI,KAAK,CACb,oIAAoI,CACrI,CAAC;SACH;QAED,QAAQ,IAAI,gCAAoB,CAAC;QACjC,QAAQ,EAAE,CAAC;KACZ;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA1DW,QAAA,2BAA2B,+BA0DtC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/executor/utils.ts"],"names":[],"mappings":";;;AACA,2CAAwE;AAEjE,MAAM,2BAA2B,GAAG,CACzC,KAAgB,EAChB,YAAuC,EACvC,UAAU,GAAG,EAAE,EACf,WAAW,GAAG,CAAC,EACP,EAAE;IACV,MAAM,IAAI,GACR,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,YAAY,CAAC;IACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAC7B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,CAC1E,CAAC;IAEF,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,YAAY,YAAY,oCAAoC,CAC7D,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,IACE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO;YAC/B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,2BAA2B;YAChF,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,8BAA8B;UACnD,CAAC;YACD,OAAO,CACL,gCAAoB;gBACpB,gCAAoB;gBACpB,WAAW,GAAG,gCAAoB,CACnC,CAAC,CAAC,4EAA4E;QACjF,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;QACJ,CAAC;QAED,OAAO,+BAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ,GAAG,+BAAmB,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,QAAQ,GAAG,KAAK,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,oIAAoI,CACrI,CAAC;QACJ,CAAC;QAED,QAAQ,IAAI,gCAAoB,CAAC;QACjC,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA1DW,QAAA,2BAA2B,+BA0DtC"}
@@ -311,7 +311,11 @@ class GenericSwapTransactionBuilder {
311
311
  const approveParams = bytecodeBuilder.getApprovalTokenAndTarget(swap, curExchangeParam);
312
312
  if (approveParams) {
313
313
  tokenTargetMapping.push({
314
- params: [approveParams.token, approveParams?.target],
314
+ params: [
315
+ approveParams.token,
316
+ approveParams.target,
317
+ !!curExchangeParam.permit2Approval,
318
+ ],
315
319
  exchangeParamIndex: currentExchangeParamIndex,
316
320
  });
317
321
  }