@paraswap/dex-lib 4.3.8 → 4.3.9-ethers-v6.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 (599) hide show
  1. package/build/abi/BProtocol.json +1155 -0
  2. package/build/abi/Jarvis.json +1172 -0
  3. package/build/abi/MStableAsset.json +1545 -0
  4. package/build/abi/OneInchLp.json +1304 -0
  5. package/build/abi/Onebit.json +736 -0
  6. package/build/abi/Shell.json +1294 -0
  7. package/build/abi/TraderJoeV2Router.json +50 -0
  8. package/build/abi/wUSDM.json +757 -0
  9. package/build/abi/zrx.v2.json +1967 -0
  10. package/build/abi/zrx.v3.json +3454 -0
  11. package/build/abi/zrx.v4.json +2193 -0
  12. package/build/constants.d.ts +7 -8
  13. package/build/constants.js +7 -8
  14. package/build/constants.js.map +1 -1
  15. package/build/dex/OneInchLp.d.ts +24 -0
  16. package/build/dex/OneInchLp.js +43 -0
  17. package/build/dex/OneInchLp.js.map +1 -0
  18. package/build/dex/aave-gsm/aave-gsm.js +4 -4
  19. package/build/dex/aave-gsm/aave-gsm.js.map +1 -1
  20. package/build/dex/aave-v3/aave-v3.js +3 -3
  21. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  22. package/build/dex/aave-v3/utils.d.ts +1 -2
  23. package/build/dex/aave-v3/utils.js +2 -2
  24. package/build/dex/aave-v3/utils.js.map +1 -1
  25. package/build/dex/aave-v3-stata/aave-v3-stata.d.ts +1 -1
  26. package/build/dex/aave-v3-stata/aave-v3-stata.js +2 -2
  27. package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
  28. package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.d.ts +1 -1
  29. package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js +3 -3
  30. package/build/dex/aave-v3-stata-v2/aave-v3-stata-v2.js.map +1 -1
  31. package/build/dex/algebra/algebra-factory.d.ts +1 -2
  32. package/build/dex/algebra/algebra-factory.js +2 -2
  33. package/build/dex/algebra/algebra-factory.js.map +1 -1
  34. package/build/dex/algebra/algebra-pool-v1_1.d.ts +3 -3
  35. package/build/dex/algebra/algebra-pool-v1_1.js +8 -8
  36. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  37. package/build/dex/algebra/algebra-pool-v1_9.d.ts +2 -2
  38. package/build/dex/algebra/algebra-pool-v1_9.js +3 -4
  39. package/build/dex/algebra/algebra-pool-v1_9.js.map +1 -1
  40. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.d.ts +1 -1
  41. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -1
  42. package/build/dex/algebra/algebra.d.ts +1 -1
  43. package/build/dex/algebra/algebra.js +7 -9
  44. package/build/dex/algebra/algebra.js.map +1 -1
  45. package/build/dex/algebra/scripts/validate-state.js +3 -6
  46. package/build/dex/algebra/scripts/validate-state.js.map +1 -1
  47. package/build/dex/algebra/types.d.ts +1 -1
  48. package/build/dex/algebra/utils.js +10 -9
  49. package/build/dex/algebra/utils.js.map +1 -1
  50. package/build/dex/algebra-integral/algebra-integral.d.ts +2 -2
  51. package/build/dex/algebra-integral/algebra-integral.js +79 -58
  52. package/build/dex/algebra-integral/algebra-integral.js.map +1 -1
  53. package/build/dex/algebra-integral/config.js +1 -1
  54. package/build/dex/algebra-integral/config.js.map +1 -1
  55. package/build/dex/algebra-integral/types.d.ts +0 -2
  56. package/build/dex/algebra-integral/types.js.map +1 -1
  57. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +1 -1
  58. package/build/dex/angle-transmuter/angle-transmuter-pool.js +23 -25
  59. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -1
  60. package/build/dex/angle-transmuter/angle-transmuter.d.ts +1 -1
  61. package/build/dex/angle-transmuter/angle-transmuter.js +6 -6
  62. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -1
  63. package/build/dex/angle-transmuter/constants.js +4 -4
  64. package/build/dex/angle-transmuter/constants.js.map +1 -1
  65. package/build/dex/angle-transmuter/morphoVault.d.ts +5 -6
  66. package/build/dex/angle-transmuter/morphoVault.js +4 -2
  67. package/build/dex/angle-transmuter/morphoVault.js.map +1 -1
  68. package/build/dex/angle-transmuter/pyth.d.ts +2 -3
  69. package/build/dex/angle-transmuter/pyth.js +5 -6
  70. package/build/dex/angle-transmuter/pyth.js.map +1 -1
  71. package/build/dex/angle-transmuter/transmuter.d.ts +13 -14
  72. package/build/dex/angle-transmuter/transmuter.js +33 -32
  73. package/build/dex/angle-transmuter/transmuter.js.map +1 -1
  74. package/build/dex/angle-transmuter/types.d.ts +4 -5
  75. package/build/dex/angle-transmuter/types.js.map +1 -1
  76. package/build/dex/augustus-approvals.js +1 -1
  77. package/build/dex/augustus-approvals.js.map +1 -1
  78. package/build/dex/bProtocol/bProtocol.d.ts +15 -0
  79. package/build/dex/bProtocol/bProtocol.js +56 -0
  80. package/build/dex/bProtocol/bProtocol.js.map +1 -0
  81. package/build/dex/bProtocol/types.d.ts +11 -0
  82. package/build/dex/bProtocol/types.js +8 -0
  83. package/build/dex/bProtocol/types.js.map +1 -0
  84. package/build/dex/balancer-v1/balancer-v1.d.ts +2 -2
  85. package/build/dex/balancer-v1/balancer-v1.js +6 -8
  86. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  87. package/build/dex/balancer-v2/balancer-v2.d.ts +1 -1
  88. package/build/dex/balancer-v2/balancer-v2.js +12 -18
  89. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  90. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.d.ts +1 -1
  91. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js +2 -2
  92. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js.map +1 -1
  93. package/build/dex/balancer-v2/pools/gyro/GyroEPool.d.ts +1 -1
  94. package/build/dex/balancer-v2/pools/gyro/GyroEPool.js +2 -2
  95. package/build/dex/balancer-v2/pools/gyro/GyroEPool.js.map +1 -1
  96. package/build/dex/balancer-v2/pools/linear/LinearPool.d.ts +2 -3
  97. package/build/dex/balancer-v2/pools/linear/LinearPool.js +5 -6
  98. package/build/dex/balancer-v2/pools/linear/LinearPool.js.map +1 -1
  99. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.d.ts +2 -3
  100. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js +6 -7
  101. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js.map +1 -1
  102. package/build/dex/balancer-v2/pools/stable/StablePool.d.ts +1 -1
  103. package/build/dex/balancer-v2/pools/stable/StablePool.js +3 -3
  104. package/build/dex/balancer-v2/pools/stable/StablePool.js.map +1 -1
  105. package/build/dex/balancer-v2/pools/weighted/WeightedPool.d.ts +1 -1
  106. package/build/dex/balancer-v2/pools/weighted/WeightedPool.js +2 -2
  107. package/build/dex/balancer-v2/pools/weighted/WeightedPool.js.map +1 -1
  108. package/build/dex/balancer-v2/queryOnChain.js +4 -5
  109. package/build/dex/balancer-v2/queryOnChain.js.map +1 -1
  110. package/build/dex/balancer-v2/utils.d.ts +1 -1
  111. package/build/dex/balancer-v2/utils.js +2 -2
  112. package/build/dex/balancer-v2/utils.js.map +1 -1
  113. package/build/dex/balancer-v3/balancer-test-helpers.js +4 -2
  114. package/build/dex/balancer-v3/balancer-test-helpers.js.map +1 -1
  115. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +1 -1
  116. package/build/dex/balancer-v3/balancer-v3-pool.js +7 -4
  117. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -1
  118. package/build/dex/balancer-v3/balancer-v3.d.ts +1 -2
  119. package/build/dex/balancer-v3/balancer-v3.js +6 -3
  120. package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
  121. package/build/dex/balancer-v3/getOnChainState.d.ts +1 -1
  122. package/build/dex/balancer-v3/getPoolsApi.js +4 -4
  123. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
  124. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.d.ts +1 -1
  125. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js +6 -6
  126. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js.map +1 -1
  127. package/build/dex/balancer-v3/hooks/stableSurgeHook.d.ts +1 -1
  128. package/build/dex/balancer-v3/hooks/stableSurgeHook.js +1 -1
  129. package/build/dex/balancer-v3/hooks/stableSurgeHook.js.map +1 -1
  130. package/build/dex/bancor/bancor.d.ts +1 -1
  131. package/build/dex/bancor/bancor.js +2 -2
  132. package/build/dex/bancor/bancor.js.map +1 -1
  133. package/build/dex/bebop/bebop.d.ts +3 -3
  134. package/build/dex/bebop/bebop.js +9 -10
  135. package/build/dex/bebop/bebop.js.map +1 -1
  136. package/build/dex/bebop/rate-fetcher.js +2 -2
  137. package/build/dex/bebop/rate-fetcher.js.map +1 -1
  138. package/build/dex/cables/cables.d.ts +1 -1
  139. package/build/dex/cables/cables.js +6 -6
  140. package/build/dex/cables/cables.js.map +1 -1
  141. package/build/dex/camelot/camelot.d.ts +2 -2
  142. package/build/dex/camelot/camelot.js +13 -17
  143. package/build/dex/camelot/camelot.js.map +1 -1
  144. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +2 -2
  145. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +2 -0
  146. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -1
  147. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +1 -1
  148. package/build/dex/concentrator-arusd/concentrator-arusd.js +3 -3
  149. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -1
  150. package/build/dex/concentrator-arusd/utils.d.ts +1 -1
  151. package/build/dex/concentrator-arusd/utils.js +0 -2
  152. package/build/dex/concentrator-arusd/utils.js.map +1 -1
  153. package/build/dex/curve-v1/curve-v1.js +4 -4
  154. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  155. package/build/dex/curve-v1/packer.d.ts +1 -2
  156. package/build/dex/curve-v1/packer.js +4 -5
  157. package/build/dex/curve-v1/packer.js.map +1 -1
  158. package/build/dex/curve-v1-factory/curve-v1-factory.d.ts +1 -1
  159. package/build/dex/curve-v1-factory/curve-v1-factory.js +10 -14
  160. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  161. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +4 -4
  162. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  163. package/build/dex/curve-v1-factory/types.d.ts +1 -1
  164. package/build/dex/curve-v2/curve-v2.d.ts +1 -1
  165. package/build/dex/curve-v2/curve-v2.js +5 -9
  166. package/build/dex/curve-v2/curve-v2.js.map +1 -1
  167. package/build/dex/dexalot/dexalot.d.ts +1 -1
  168. package/build/dex/dexalot/dexalot.js +12 -22
  169. package/build/dex/dexalot/dexalot.js.map +1 -1
  170. package/build/dex/dodo-v1/dodo-v1.d.ts +1 -1
  171. package/build/dex/dodo-v1/dodo-v1.js +2 -2
  172. package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
  173. package/build/dex/dodo-v2.d.ts +1 -1
  174. package/build/dex/dodo-v2.js +2 -2
  175. package/build/dex/dodo-v2.js.map +1 -1
  176. package/build/dex/ekubo/ekubo.js +5 -6
  177. package/build/dex/ekubo/ekubo.js.map +1 -1
  178. package/build/dex/ekubo/pools/base-pool.d.ts +1 -1
  179. package/build/dex/ekubo/pools/base-pool.js +2 -2
  180. package/build/dex/ekubo/pools/base-pool.js.map +1 -1
  181. package/build/dex/ekubo/pools/math/price.d.ts +2 -3
  182. package/build/dex/ekubo/pools/math/price.js +2 -3
  183. package/build/dex/ekubo/pools/math/price.js.map +1 -1
  184. package/build/dex/ekubo/pools/oracle-pool.d.ts +1 -1
  185. package/build/dex/ekubo/pools/oracle-pool.js +2 -2
  186. package/build/dex/ekubo/pools/oracle-pool.js.map +1 -1
  187. package/build/dex/ekubo/pools/pool-utils.js +12 -12
  188. package/build/dex/ekubo/pools/pool-utils.js.map +1 -1
  189. package/build/dex/ekubo/types.d.ts +3 -4
  190. package/build/dex/ekubo/utils.js +5 -5
  191. package/build/dex/ekubo/utils.js.map +1 -1
  192. package/build/dex/erc4626/erc-4626-pool.d.ts +1 -1
  193. package/build/dex/erc4626/erc4626.d.ts +1 -1
  194. package/build/dex/erc4626/erc4626.js +2 -2
  195. package/build/dex/erc4626/erc4626.js.map +1 -1
  196. package/build/dex/etherfi.d.ts +1 -1
  197. package/build/dex/etherfi.js +3 -3
  198. package/build/dex/etherfi.js.map +1 -1
  199. package/build/dex/fluid-dex/fluid-dex-factory.d.ts +1 -2
  200. package/build/dex/fluid-dex/fluid-dex-factory.js +6 -6
  201. package/build/dex/fluid-dex/fluid-dex-factory.js.map +1 -1
  202. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.d.ts +1 -2
  203. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +3 -4
  204. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  205. package/build/dex/fluid-dex/fluid-dex-pool.js +1 -2
  206. package/build/dex/fluid-dex/fluid-dex-pool.js.map +1 -1
  207. package/build/dex/fluid-dex/fluid-dex.d.ts +1 -2
  208. package/build/dex/fluid-dex/fluid-dex.js +6 -7
  209. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  210. package/build/dex/fluid-dex/types.d.ts +4 -5
  211. package/build/dex/fluid-dex/utils.d.ts +1 -2
  212. package/build/dex/fluid-dex/utils.js +3 -6
  213. package/build/dex/fluid-dex/utils.js.map +1 -1
  214. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.d.ts +1 -1
  215. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js +2 -2
  216. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js.map +1 -1
  217. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.d.ts +1 -1
  218. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js +4 -4
  219. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js.map +1 -1
  220. package/build/dex/fx-protocol-rusd/utils.d.ts +1 -1
  221. package/build/dex/generic-rfq/generic-rfq.js +3 -7
  222. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  223. package/build/dex/generic-rfq/utils.js +1 -1
  224. package/build/dex/generic-rfq/utils.js.map +1 -1
  225. package/build/dex/generic-rfq/validators.js +1 -1
  226. package/build/dex/generic-rfq/validators.js.map +1 -1
  227. package/build/dex/gmx/gmx.d.ts +1 -1
  228. package/build/dex/gmx/gmx.js +2 -2
  229. package/build/dex/gmx/gmx.js.map +1 -1
  230. package/build/dex/gmx/vault.d.ts +1 -1
  231. package/build/dex/gmx/vault.js +4 -2
  232. package/build/dex/gmx/vault.js.map +1 -1
  233. package/build/dex/hashflow/hashflow.d.ts +3 -3
  234. package/build/dex/hashflow/hashflow.js +9 -9
  235. package/build/dex/hashflow/hashflow.js.map +1 -1
  236. package/build/dex/idle-dao/idle-dao.js +3 -3
  237. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  238. package/build/dex/idle-dao/utils.d.ts +1 -3
  239. package/build/dex/idle-dao/utils.js +1 -4
  240. package/build/dex/idle-dao/utils.js.map +1 -1
  241. package/build/dex/infusion/infusion.d.ts +2 -1
  242. package/build/dex/infusion/infusion.js +6 -6
  243. package/build/dex/infusion/infusion.js.map +1 -1
  244. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +1 -1
  245. package/build/dex/jarvis-v6/jarvis-v6.d.ts +1 -1
  246. package/build/dex/jarvis-v6/jarvis-v6.js +2 -2
  247. package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
  248. package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +1 -1
  249. package/build/dex/jarvis-v6/syntheteumPool-event.js +2 -0
  250. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +1 -1
  251. package/build/dex/jarvis-v6/utils.d.ts +1 -1
  252. package/build/dex/jarvis-v6/utils.js +1 -1
  253. package/build/dex/jarvis-v6/utils.js.map +1 -1
  254. package/build/dex/jarvis.d.ts +56 -0
  255. package/build/dex/jarvis.js +163 -0
  256. package/build/dex/jarvis.js.map +1 -0
  257. package/build/dex/kyberdmm/kyberdmm.d.ts +1 -1
  258. package/build/dex/kyberdmm/kyberdmm.js +8 -7
  259. package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
  260. package/build/dex/lite-psm/lite-psm.js +6 -15
  261. package/build/dex/lite-psm/lite-psm.js.map +1 -1
  262. package/build/dex/mStable.d.ts +44 -0
  263. package/build/dex/mStable.js +75 -0
  264. package/build/dex/mStable.js.map +1 -0
  265. package/build/dex/maker-psm/maker-psm.js +7 -15
  266. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  267. package/build/dex/maverick-v1/maverick-v1.d.ts +1 -1
  268. package/build/dex/maverick-v1/maverick-v1.js +2 -2
  269. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  270. package/build/dex/maverick-v2/maverick-v2.d.ts +1 -1
  271. package/build/dex/maverick-v2/maverick-v2.js +3 -3
  272. package/build/dex/maverick-v2/maverick-v2.js.map +1 -1
  273. package/build/dex/miro-migrator/miro-migrator-pool.d.ts +4 -5
  274. package/build/dex/miro-migrator/miro-migrator-pool.js +21 -13
  275. package/build/dex/miro-migrator/miro-migrator-pool.js.map +1 -1
  276. package/build/dex/miro-migrator/miro-migrator.js +1 -4
  277. package/build/dex/miro-migrator/miro-migrator.js.map +1 -1
  278. package/build/dex/nerve/nerve.d.ts +1 -1
  279. package/build/dex/nerve/nerve.js +2 -2
  280. package/build/dex/nerve/nerve.js.map +1 -1
  281. package/build/dex/onebit/onebit.d.ts +16 -0
  282. package/build/dex/onebit/onebit.js +61 -0
  283. package/build/dex/onebit/onebit.js.map +1 -0
  284. package/build/dex/onebit/types.d.ts +14 -0
  285. package/build/dex/onebit/types.js +8 -0
  286. package/build/dex/onebit/types.js.map +1 -0
  287. package/build/dex/oswap/oswap.d.ts +1 -1
  288. package/build/dex/oswap/oswap.js +2 -2
  289. package/build/dex/oswap/oswap.js.map +1 -1
  290. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.d.ts +1 -1
  291. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.d.ts +2 -2
  292. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +3 -4
  293. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
  294. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +1 -1
  295. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +5 -6
  296. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  297. package/build/dex/pancakeswap-v3/utils.js +1 -1
  298. package/build/dex/pancakeswap-v3/utils.js.map +1 -1
  299. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.d.ts +2 -2
  300. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +3 -4
  301. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  302. package/build/dex/paraswap-limit-orders/utils.js +4 -4
  303. package/build/dex/paraswap-limit-orders/utils.js.map +1 -1
  304. package/build/dex/polygon-migrator/polygon-migrator.d.ts +1 -1
  305. package/build/dex/polygon-migrator/polygon-migrator.js +2 -2
  306. package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
  307. package/build/dex/quick-perps/quick-perps.d.ts +1 -1
  308. package/build/dex/quick-perps/quick-perps.js +2 -2
  309. package/build/dex/quick-perps/quick-perps.js.map +1 -1
  310. package/build/dex/quick-perps/vault.d.ts +1 -1
  311. package/build/dex/quick-perps/vault.js +4 -2
  312. package/build/dex/quick-perps/vault.js.map +1 -1
  313. package/build/dex/quickswap/quickswap-v3.js +3 -3
  314. package/build/dex/quickswap/quickswap-v3.js.map +1 -1
  315. package/build/dex/shell.d.ts +25 -0
  316. package/build/dex/shell.js +41 -0
  317. package/build/dex/shell.js.map +1 -0
  318. package/build/dex/simple-exchange.d.ts +1 -1
  319. package/build/dex/simple-exchange.js +5 -5
  320. package/build/dex/simple-exchange.js.map +1 -1
  321. package/build/dex/smoothy/smoothy.js.map +1 -1
  322. package/build/dex/solidly/forks-override/chronos.d.ts +2 -1
  323. package/build/dex/solidly/forks-override/chronos.js.map +1 -1
  324. package/build/dex/solidly/forks-override/equalizer.d.ts +2 -1
  325. package/build/dex/solidly/forks-override/equalizer.js.map +1 -1
  326. package/build/dex/solidly/forks-override/ramses.d.ts +2 -1
  327. package/build/dex/solidly/forks-override/ramses.js.map +1 -1
  328. package/build/dex/solidly/forks-override/spiritSwapV2.d.ts +2 -1
  329. package/build/dex/solidly/forks-override/spiritSwapV2.js.map +1 -1
  330. package/build/dex/solidly/forks-override/thena.d.ts +2 -1
  331. package/build/dex/solidly/forks-override/thena.js +2 -2
  332. package/build/dex/solidly/forks-override/thena.js.map +1 -1
  333. package/build/dex/solidly/forks-override/velocimeter.d.ts +2 -1
  334. package/build/dex/solidly/forks-override/velocimeter.js +2 -2
  335. package/build/dex/solidly/forks-override/velocimeter.js.map +1 -1
  336. package/build/dex/solidly/forks-override/velodrome.d.ts +2 -1
  337. package/build/dex/solidly/forks-override/velodrome.js +2 -2
  338. package/build/dex/solidly/forks-override/velodrome.js.map +1 -1
  339. package/build/dex/solidly/forks-override/velodromeV2.d.ts +2 -1
  340. package/build/dex/solidly/forks-override/velodromeV2.js +2 -2
  341. package/build/dex/solidly/forks-override/velodromeV2.js.map +1 -1
  342. package/build/dex/solidly/solidly-ethereum.d.ts +2 -1
  343. package/build/dex/solidly/solidly-ethereum.js +2 -2
  344. package/build/dex/solidly/solidly-ethereum.js.map +1 -1
  345. package/build/dex/solidly/solidly.js +8 -13
  346. package/build/dex/solidly/solidly.js.map +1 -1
  347. package/build/dex/solidly-v3/contract-math/utils.d.ts +3 -3
  348. package/build/dex/solidly-v3/contract-math/utils.js +4 -4
  349. package/build/dex/solidly-v3/contract-math/utils.js.map +1 -1
  350. package/build/dex/solidly-v3/solidly-v3-factory.d.ts +1 -2
  351. package/build/dex/solidly-v3/solidly-v3-factory.js +2 -2
  352. package/build/dex/solidly-v3/solidly-v3-factory.js.map +1 -1
  353. package/build/dex/solidly-v3/solidly-v3-pool.d.ts +2 -2
  354. package/build/dex/solidly-v3/solidly-v3-pool.js +3 -4
  355. package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
  356. package/build/dex/solidly-v3/solidly-v3.d.ts +1 -1
  357. package/build/dex/solidly-v3/solidly-v3.js +5 -6
  358. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  359. package/build/dex/solidly-v3/types.d.ts +7 -20
  360. package/build/dex/solidly-v3/utils.js +1 -1
  361. package/build/dex/solidly-v3/utils.js.map +1 -1
  362. package/build/dex/spark/config.js +5 -5
  363. package/build/dex/spark/config.js.map +1 -1
  364. package/build/dex/spark/scripts/validate-state.js +2 -5
  365. package/build/dex/spark/scripts/validate-state.js.map +1 -1
  366. package/build/dex/spark/spark-psm.d.ts +1 -1
  367. package/build/dex/spark/spark-psm.js +5 -5
  368. package/build/dex/spark/spark-psm.js.map +1 -1
  369. package/build/dex/spark/spark-sdai-pool.d.ts +1 -1
  370. package/build/dex/spark/spark.d.ts +1 -1
  371. package/build/dex/spark/types.d.ts +1 -1
  372. package/build/dex/spark/utils.d.ts +1 -1
  373. package/build/dex/spark/utils.js +3 -4
  374. package/build/dex/spark/utils.js.map +1 -1
  375. package/build/dex/stable-pool/stable-pool.d.ts +1 -1
  376. package/build/dex/stable-pool/stable-pool.js +2 -2
  377. package/build/dex/stable-pool/stable-pool.js.map +1 -1
  378. package/build/dex/stader/stader-pool.d.ts +2 -2
  379. package/build/dex/stader/stader-pool.js +2 -0
  380. package/build/dex/stader/stader-pool.js.map +1 -1
  381. package/build/dex/stader/stader.d.ts +1 -1
  382. package/build/dex/stader/stader.js +4 -4
  383. package/build/dex/stader/stader.js.map +1 -1
  384. package/build/dex/stader/utils.d.ts +1 -1
  385. package/build/dex/stader/utils.js +2 -2
  386. package/build/dex/stader/utils.js.map +1 -1
  387. package/build/dex/swaap-v2/swaap-v2.d.ts +1 -1
  388. package/build/dex/swaap-v2/swaap-v2.js +21 -21
  389. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  390. package/build/dex/swaap-v2/validators.js +1 -1
  391. package/build/dex/swaap-v2/validators.js.map +1 -1
  392. package/build/dex/swell/rsweth-pool.d.ts +2 -2
  393. package/build/dex/swell/rsweth-pool.js +2 -0
  394. package/build/dex/swell/rsweth-pool.js.map +1 -1
  395. package/build/dex/swell/swell.d.ts +1 -1
  396. package/build/dex/swell/swell.js +3 -4
  397. package/build/dex/swell/swell.js.map +1 -1
  398. package/build/dex/swell/sweth-pool.d.ts +2 -2
  399. package/build/dex/swell/sweth-pool.js +2 -0
  400. package/build/dex/swell/sweth-pool.js.map +1 -1
  401. package/build/dex/swell/utils.d.ts +1 -1
  402. package/build/dex/swell/utils.js +2 -2
  403. package/build/dex/swell/utils.js.map +1 -1
  404. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +4 -4
  405. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +1 -1
  406. package/build/dex/synthetix/synthetix-state.d.ts +2 -3
  407. package/build/dex/synthetix/synthetix-state.js +4 -4
  408. package/build/dex/synthetix/synthetix-state.js.map +1 -1
  409. package/build/dex/synthetix/synthetix.d.ts +1 -1
  410. package/build/dex/synthetix/synthetix.js +2 -2
  411. package/build/dex/synthetix/synthetix.js.map +1 -1
  412. package/build/dex/synthetix/utils.js +1 -1
  413. package/build/dex/synthetix/utils.js.map +1 -1
  414. package/build/dex/trader-joe-v2.1/base.d.ts +1 -1
  415. package/build/dex/trader-joe-v2.1/base.js +2 -2
  416. package/build/dex/trader-joe-v2.1/base.js.map +1 -1
  417. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +2 -2
  418. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
  419. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js +2 -2
  420. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js.map +1 -1
  421. package/build/dex/trader-joe-v2.d.ts +40 -0
  422. package/build/dex/trader-joe-v2.js +74 -0
  423. package/build/dex/trader-joe-v2.js.map +1 -0
  424. package/build/dex/uniswap-v2/biswap.d.ts +2 -1
  425. package/build/dex/uniswap-v2/biswap.js.map +1 -1
  426. package/build/dex/uniswap-v2/excalibur.d.ts +2 -1
  427. package/build/dex/uniswap-v2/excalibur.js.map +1 -1
  428. package/build/dex/uniswap-v2/mdex.d.ts +2 -1
  429. package/build/dex/uniswap-v2/mdex.js.map +1 -1
  430. package/build/dex/uniswap-v2/nomiswap-v2.d.ts +2 -1
  431. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
  432. package/build/dex/uniswap-v2/ring-v2.d.ts +1 -1
  433. package/build/dex/uniswap-v2/ring-v2.js +6 -8
  434. package/build/dex/uniswap-v2/ring-v2.js.map +1 -1
  435. package/build/dex/uniswap-v2/uniswap-v2-factory.d.ts +1 -1
  436. package/build/dex/uniswap-v2/uniswap-v2.d.ts +4 -4
  437. package/build/dex/uniswap-v2/uniswap-v2.js +17 -20
  438. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  439. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.d.ts +1 -1
  440. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js +2 -2
  441. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js.map +1 -1
  442. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js +1 -1
  443. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js.map +1 -1
  444. package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js +1 -1
  445. package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js.map +1 -1
  446. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.d.ts +1 -1
  447. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.d.ts +1 -1
  448. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js +21 -21
  449. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js.map +1 -1
  450. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +1 -1
  451. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js +4 -5
  452. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -1
  453. package/build/dex/uniswap-v3/types.d.ts +2 -1
  454. package/build/dex/uniswap-v3/types.js.map +1 -1
  455. package/build/dex/uniswap-v3/uniswap-v3-factory.d.ts +1 -1
  456. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +94 -0
  457. package/build/dex/uniswap-v3/uniswap-v3-new.js +923 -0
  458. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +1 -0
  459. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +2 -2
  460. package/build/dex/uniswap-v3/uniswap-v3-pool.js +3 -4
  461. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  462. package/build/dex/uniswap-v3/uniswap-v3.d.ts +1 -1
  463. package/build/dex/uniswap-v3/uniswap-v3.js +11 -16
  464. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  465. package/build/dex/uniswap-v3/utils.js +1 -1
  466. package/build/dex/uniswap-v3/utils.js.map +1 -1
  467. package/build/dex/uniswap-v3.d.ts +1 -1
  468. package/build/dex/uniswap-v3.js +4 -5
  469. package/build/dex/uniswap-v3.js.map +1 -1
  470. package/build/dex/uniswap-v4/encoder.js +9 -9
  471. package/build/dex/uniswap-v4/encoder.js.map +1 -1
  472. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +1 -1
  473. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +6 -6
  474. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
  475. package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +1 -1
  476. package/build/dex/uniswap-v4/uniswap-v4-pool.js +5 -5
  477. package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -1
  478. package/build/dex/usual-bond/config.d.ts +3 -0
  479. package/build/dex/usual-bond/config.js +13 -0
  480. package/build/dex/usual-bond/config.js.map +1 -0
  481. package/build/dex/usual-bond/types.d.ts +7 -0
  482. package/build/dex/usual-bond/types.js +3 -0
  483. package/build/dex/usual-bond/types.js.map +1 -0
  484. package/build/dex/usual-bond/usual-bond.d.ts +35 -0
  485. package/build/dex/usual-bond/usual-bond.js +176 -0
  486. package/build/dex/usual-bond/usual-bond.js.map +1 -0
  487. package/build/dex/wombat/utils.d.ts +1 -1
  488. package/build/dex/wombat/wombat-bmw.d.ts +1 -1
  489. package/build/dex/wombat/wombat.d.ts +1 -1
  490. package/build/dex/wombat/wombat.js +4 -4
  491. package/build/dex/wombat/wombat.js.map +1 -1
  492. package/build/dex/woo-fi-v2/types.d.ts +1 -1
  493. package/build/dex/woo-fi-v2/utils.js +6 -6
  494. package/build/dex/woo-fi-v2/utils.js.map +1 -1
  495. package/build/dex/woo-fi-v2/woo-fi-v2.js +1 -1
  496. package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
  497. package/build/dex/wsteth/wsteth.d.ts +1 -1
  498. package/build/dex/wsteth/wsteth.js +3 -3
  499. package/build/dex/wsteth/wsteth.js.map +1 -1
  500. package/build/dex/wusdm/config.d.ts +3 -0
  501. package/build/dex/wusdm/config.js +43 -0
  502. package/build/dex/wusdm/config.js.map +1 -0
  503. package/build/dex/wusdm/constants.d.ts +2 -0
  504. package/build/dex/wusdm/constants.js +6 -0
  505. package/build/dex/wusdm/constants.js.map +1 -0
  506. package/build/dex/wusdm/types.d.ts +18 -0
  507. package/build/dex/wusdm/types.js +11 -0
  508. package/build/dex/wusdm/types.js.map +1 -0
  509. package/build/dex/wusdm/wusdm-pool.d.ts +21 -0
  510. package/build/dex/wusdm/wusdm-pool.js +74 -0
  511. package/build/dex/wusdm/wusdm-pool.js.map +1 -0
  512. package/build/dex/wusdm/wusdm.d.ts +46 -0
  513. package/build/dex/wusdm/wusdm.js +243 -0
  514. package/build/dex/wusdm/wusdm.js.map +1 -0
  515. package/build/dex/zerox/config.d.ts +2 -0
  516. package/build/dex/zerox/config.js +33 -0
  517. package/build/dex/zerox/config.js.map +1 -0
  518. package/build/dex/zerox/index.d.ts +22 -0
  519. package/build/dex/zerox/index.js +225 -0
  520. package/build/dex/zerox/index.js.map +1 -0
  521. package/build/dex/zerox/order.d.ts +88 -0
  522. package/build/dex/zerox/order.js +53 -0
  523. package/build/dex/zerox/order.js.map +1 -0
  524. package/build/dex/zerox/types.d.ts +73 -0
  525. package/build/dex/zerox/types.js +21 -0
  526. package/build/dex/zerox/types.js.map +1 -0
  527. package/build/dex-helper/dummy-dex-helper.d.ts +1 -1
  528. package/build/dex-helper/dummy-dex-helper.js +3 -4
  529. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  530. package/build/dex-helper/idex-helper.d.ts +1 -1
  531. package/build/executor/Executor01BytecodeBuilder.js +13 -14
  532. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  533. package/build/executor/Executor02BytecodeBuilder.js +40 -53
  534. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  535. package/build/executor/Executor03BytecodeBuilder.js +18 -19
  536. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  537. package/build/executor/ExecutorBytecodeBuilder.js +22 -23
  538. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  539. package/build/executor/constants.js +5 -6
  540. package/build/executor/constants.js.map +1 -1
  541. package/build/executor/utils.d.ts +1 -1
  542. package/build/executor/utils.js +3 -0
  543. package/build/executor/utils.js.map +1 -1
  544. package/build/generic-swap-transaction-builder.d.ts +1 -1
  545. package/build/generic-swap-transaction-builder.js +18 -23
  546. package/build/generic-swap-transaction-builder.js.map +1 -1
  547. package/build/lib/api3-feed.d.ts +1 -1
  548. package/build/lib/api3-feed.js +5 -5
  549. package/build/lib/api3-feed.js.map +1 -1
  550. package/build/lib/curve/encoder.d.ts +1 -2
  551. package/build/lib/curve/encoder.js +4 -5
  552. package/build/lib/curve/encoder.js.map +1 -1
  553. package/build/lib/decoders.d.ts +2 -3
  554. package/build/lib/decoders.js +9 -9
  555. package/build/lib/decoders.js.map +1 -1
  556. package/build/lib/tokens/utils.d.ts +1 -1
  557. package/build/lib/tokens/utils.js +10 -8
  558. package/build/lib/tokens/utils.js.map +1 -1
  559. package/build/utils.d.ts +1 -0
  560. package/build/utils.js +10 -3
  561. package/build/utils.js.map +1 -1
  562. package/package.json +2 -3
  563. package/build/abi/algebra-integral/AlgebraFactory.abi.json +0 -947
  564. package/build/abi/ekubo/twamm-data-fetcher.json +0 -216
  565. package/build/abi/ekubo/twamm.json +0 -720
  566. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  567. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  568. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  569. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  570. package/build/dex/algebra-integral/algebra-integral-factory.d.ts +0 -29
  571. package/build/dex/algebra-integral/algebra-integral-factory.js +0 -159
  572. package/build/dex/algebra-integral/algebra-integral-factory.js.map +0 -1
  573. package/build/dex/ekubo/pools/base.d.ts +0 -36
  574. package/build/dex/ekubo/pools/base.js +0 -289
  575. package/build/dex/ekubo/pools/base.js.map +0 -1
  576. package/build/dex/ekubo/pools/full-range.d.ts +0 -23
  577. package/build/dex/ekubo/pools/full-range.js +0 -99
  578. package/build/dex/ekubo/pools/full-range.js.map +0 -1
  579. package/build/dex/ekubo/pools/iface.d.ts +0 -46
  580. package/build/dex/ekubo/pools/iface.js +0 -75
  581. package/build/dex/ekubo/pools/iface.js.map +0 -1
  582. package/build/dex/ekubo/pools/math/twamm/exp2.d.ts +0 -1
  583. package/build/dex/ekubo/pools/math/twamm/exp2.js +0 -86
  584. package/build/dex/ekubo/pools/math/twamm/exp2.js.map +0 -1
  585. package/build/dex/ekubo/pools/math/twamm/sqrt-ratio.d.ts +0 -1
  586. package/build/dex/ekubo/pools/math/twamm/sqrt-ratio.js +0 -56
  587. package/build/dex/ekubo/pools/math/twamm/sqrt-ratio.js.map +0 -1
  588. package/build/dex/ekubo/pools/oracle.d.ts +0 -8
  589. package/build/dex/ekubo/pools/oracle.js +0 -19
  590. package/build/dex/ekubo/pools/oracle.js.map +0 -1
  591. package/build/dex/ekubo/pools/twamm.d.ts +0 -38
  592. package/build/dex/ekubo/pools/twamm.js +0 -253
  593. package/build/dex/ekubo/pools/twamm.js.map +0 -1
  594. package/build/dex/ekubo/pools/utils.d.ts +0 -28
  595. package/build/dex/ekubo/pools/utils.js +0 -80
  596. package/build/dex/ekubo/pools/utils.js.map +0 -1
  597. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  598. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  599. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
@@ -6,7 +6,6 @@ const types_1 = require("./types");
6
6
  const utils_1 = require("../utils");
7
7
  const ExecutorBytecodeBuilder_1 = require("./ExecutorBytecodeBuilder");
8
8
  const constants_1 = require("./constants");
9
- const { utils: { hexlify, hexDataLength, hexConcat, hexZeroPad, solidityPack }, } = ethers_1.ethers;
10
9
  /**
11
10
  * Class to build bytecode for Executor02 - simpleSwap with N DEXs (VERTICAL_BRANCH), multiSwaps (VERTICAL_BRANCH_HORIZONTAL_SEQUENCE) and megaswaps (NESTED_VERTICAL_BRANCH_HORIZONTAL_SEQUENCE)
12
11
  */
@@ -206,7 +205,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
206
205
  fromAmountPos = exchangeParam.insertFromAmountPos;
207
206
  }
208
207
  else {
209
- const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swapExchange.srcAmount]);
208
+ const fromAmount = ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint256'], [swapExchange.srcAmount]);
210
209
  const fromAmountIndex = exchangeData
211
210
  .replace('0x', '')
212
211
  .indexOf(fromAmount.replace('0x', ''));
@@ -242,7 +241,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
242
241
  let srcTokenAddressLowered = srcTokenAddress.toLowerCase();
243
242
  let srcTokenPos;
244
243
  if (percentage === constants_1.SWAP_EXCHANGE_100_PERCENTAGE) {
245
- srcTokenPos = hexZeroPad(hexlify(0), 8);
244
+ srcTokenPos = (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(0), 8);
246
245
  }
247
246
  else if ((0, utils_1.isETHAddress)(srcTokenAddressLowered)) {
248
247
  srcTokenPos = constants_1.ETH_SRC_TOKEN_POS_FOR_MULTISWAP_METADATA;
@@ -251,26 +250,26 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
251
250
  const srcTokenAddrIndex = callData
252
251
  .replace('0x', '')
253
252
  .indexOf(srcTokenAddressLowered.replace('0x', ''));
254
- srcTokenPos = hexZeroPad(hexlify(srcTokenAddrIndex / 2), 8);
253
+ srcTokenPos = (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(srcTokenAddrIndex / 2), 8);
255
254
  }
256
- return solidityPack(['bytes16', 'bytes8', 'bytes8', 'bytes'], [
257
- hexZeroPad(hexlify(hexDataLength(callData)), 16), // calldata size
255
+ return (0, ethers_1.solidityPacked)(['bytes16', 'bytes8', 'bytes8', 'bytes'], [
256
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(callData)), 16), // calldata size
258
257
  srcTokenPos, // srcTokenPos
259
- hexZeroPad(hexlify(Math.round(percentage * 100)), 8), // percentage
258
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(Math.round(percentage * 100)), 8), // percentage
260
259
  callData, // swap calldata
261
260
  ]);
262
261
  }
263
262
  packVerticalBranchingData(swapCallData) {
264
- return solidityPack(['bytes28', 'bytes4', 'bytes32', 'bytes32', 'bytes'], [
263
+ return (0, ethers_1.solidityPacked)(['bytes28', 'bytes4', 'bytes32', 'bytes32', 'bytes'], [
265
264
  constants_1.ZEROS_28_BYTES, // empty bytes28
266
265
  constants_1.ZEROS_4_BYTES, // fallback selector
267
- hexZeroPad(hexlify(32), 32), // calldata offset
268
- hexZeroPad(hexlify(hexDataLength(swapCallData)), 32), // calldata length
266
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(32), 32), // calldata offset
267
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(swapCallData)), 32), // calldata length
269
268
  swapCallData, // calldata
270
269
  ]);
271
270
  }
272
271
  packVerticalBranchingCallData(verticalBranchingData, fromAmountPos, destTokenPos, flag) {
273
- return solidityPack([
272
+ return (0, ethers_1.solidityPacked)([
274
273
  'bytes20',
275
274
  'bytes4',
276
275
  'bytes2',
@@ -281,12 +280,12 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
281
280
  'bytes',
282
281
  ], [
283
282
  constants_1.ZEROS_20_BYTES, // bytes20(0)
284
- hexZeroPad(hexlify(hexDataLength(verticalBranchingData)), 4), // dex calldata length
285
- hexZeroPad(hexlify(fromAmountPos), 2), // fromAmountPos
286
- hexZeroPad(hexlify(destTokenPos), 2), // destTokenPos
287
- hexZeroPad(hexlify(0), 1), // returnAmountPos
288
- hexZeroPad(hexlify(types_1.SpecialDex.EXECUTE_VERTICAL_BRANCHING), 1), // special
289
- hexZeroPad(hexlify(flag), 2), // flag
283
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(verticalBranchingData)), 4), // dex calldata length
284
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(fromAmountPos), 2), // fromAmountPos
285
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(destTokenPos), 2), // destTokenPos
286
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(0), 1), // returnAmountPos
287
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(types_1.SpecialDex.EXECUTE_VERTICAL_BRANCHING), 1), // special
288
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(flag), 2), // flag
290
289
  verticalBranchingData, // dexes calldata
291
290
  ]);
292
291
  }
@@ -321,7 +320,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
321
320
  : destTokenAddrLowered.toLowerCase()).replace('0x', ''));
322
321
  destTokenPos = destTokenAddrIndex / 2 - 40;
323
322
  }
324
- const fromAmountPos = hexDataLength(data) - 64 - 28; // 64 (position), 28 (selector padding);
323
+ const fromAmountPos = (0, ethers_1.dataLength)(data) - 64 - 28; // 64 (position), 28 (selector padding);
325
324
  return this.packVerticalBranchingCallData(data, fromAmountPos, destTokenPos < 0 ? 0 : destTokenPos, flag);
326
325
  }
327
326
  buildSingleSwapExchangeCallData(priceRoute, routeIndex, swapIndex, swapExchangeIndex, exchangeParams, flags, addedWrapToSwapExchangeMap, allowToAddWrap = true, prevBranchWasWrapped = false, unwrapToSwapMap, maybeWethCallData, addMultiSwapMetadata, applyVerticalBranching) {
@@ -354,10 +353,10 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
354
353
  });
355
354
  if (curExchangeParam.preSwapUnwrapCalldata) {
356
355
  const withdrawCallData = this.buildUnwrapEthCallData(this.getWETHAddress(curExchangeParam), curExchangeParam.preSwapUnwrapCalldata);
357
- swapExchangeCallData = hexConcat([withdrawCallData, dexCallData]);
356
+ swapExchangeCallData = (0, ethers_1.concat)([withdrawCallData, dexCallData]);
358
357
  }
359
358
  else {
360
- swapExchangeCallData = hexConcat([dexCallData]);
359
+ swapExchangeCallData = (0, ethers_1.concat)([dexCallData]);
361
360
  }
362
361
  const isLastSwap = swapIndex === priceRoute.bestRoute[routeIndex].swaps.length - 1;
363
362
  const isLast = exchangeParamIndex === exchangeParams.length - 1;
@@ -368,17 +367,14 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
368
367
  ]), (0, utils_1.isETHAddress)(swap.srcToken)
369
368
  ? this.getWETHAddress(curExchangeParam)
370
369
  : swap.srcToken.toLowerCase());
371
- swapExchangeCallData = hexConcat([
372
- transferCallData,
373
- swapExchangeCallData,
374
- ]);
370
+ swapExchangeCallData = (0, ethers_1.concat)([transferCallData, swapExchangeCallData]);
375
371
  }
376
372
  if (!(0, utils_1.isETHAddress)(swap.srcToken) &&
377
373
  !curExchangeParam.transferSrcTokenBeforeSwap &&
378
374
  !curExchangeParam.skipApproval &&
379
375
  curExchangeParam.approveData) {
380
376
  const approveCallData = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[exchangeParamIndex], curExchangeParam.permit2Approval);
381
- swapExchangeCallData = hexConcat([approveCallData, swapExchangeCallData]);
377
+ swapExchangeCallData = (0, ethers_1.concat)([approveCallData, swapExchangeCallData]);
382
378
  }
383
379
  if (curExchangeParam.needWrapNative) {
384
380
  if ((0, utils_1.isETHAddress)(swap.srcToken)) {
@@ -405,7 +401,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
405
401
  depositCallData = this.buildWrapEthCallData(this.getWETHAddress(curExchangeParam), maybeWethCallData.deposit.calldata, types_1.Flag.SEND_ETH_EQUAL_TO_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP);
406
402
  addedWrapToSwapExchangeMap[`${routeIndex}_${swapIndex}_${swapExchangeIndex}`] = true;
407
403
  }
408
- swapExchangeCallData = hexConcat([
404
+ swapExchangeCallData = (0, ethers_1.concat)([
409
405
  approveWethCalldata,
410
406
  depositCallData,
411
407
  swapExchangeCallData,
@@ -432,13 +428,10 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
432
428
  unwrapToSwapMap[swapIndex] = true;
433
429
  withdrawCallData = this.buildUnwrapEthCallData(this.getWETHAddress(curExchangeParam), maybeWethCallData.withdraw.calldata);
434
430
  }
435
- swapExchangeCallData = hexConcat([
436
- swapExchangeCallData,
437
- withdrawCallData,
438
- ]);
431
+ swapExchangeCallData = (0, ethers_1.concat)([swapExchangeCallData, withdrawCallData]);
439
432
  if (isSimpleSwap && (needUnwrap || customWethAddress)) {
440
433
  const finalSpecialFlagCalldata = this.buildFinalSpecialFlagCalldata();
441
- swapExchangeCallData = hexConcat([
434
+ swapExchangeCallData = (0, ethers_1.concat)([
442
435
  swapExchangeCallData,
443
436
  finalSpecialFlagCalldata,
444
437
  ]);
@@ -458,10 +451,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
458
451
  }
459
452
  if (prevBranchWasWrapped || eachDexOnPrevSwapReturnsWeth) {
460
453
  const withdrawCallData = this.buildUnwrapEthCallData(this.getWETHAddress(curExchangeParam), maybeWethCallData.withdraw.calldata);
461
- swapExchangeCallData = hexConcat([
462
- withdrawCallData,
463
- swapExchangeCallData,
464
- ]);
454
+ swapExchangeCallData = (0, ethers_1.concat)([withdrawCallData, swapExchangeCallData]);
465
455
  addedUnwrapForDexWithNoNeedWrapNative = true;
466
456
  }
467
457
  }
@@ -473,10 +463,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
473
463
  this.dexHelper.config.data.augustusV6Address,
474
464
  swapExchange.destAmount,
475
465
  ]), swap.destToken);
476
- swapExchangeCallData = hexConcat([
477
- swapExchangeCallData,
478
- transferCallData,
479
- ]);
466
+ swapExchangeCallData = (0, ethers_1.concat)([swapExchangeCallData, transferCallData]);
480
467
  }
481
468
  if (!exchangeParams[exchangeParamIndex].dexFuncHasRecipient &&
482
469
  (0, utils_1.isETHAddress)(swap.destToken) &&
@@ -484,7 +471,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
484
471
  // don't need to send eth without unwrapping, handling unwrap and sendEth in the end of root branch
485
472
  !this.doesRouteNeedsRootUnwrapEth(priceRoute, exchangeParams)) {
486
473
  const finalSpecialFlagCalldata = this.buildFinalSpecialFlagCalldata();
487
- swapExchangeCallData = hexConcat([
474
+ swapExchangeCallData = (0, ethers_1.concat)([
488
475
  swapExchangeCallData,
489
476
  finalSpecialFlagCalldata,
490
477
  ]);
@@ -503,7 +490,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
503
490
  ? types_1.Flag.SEND_ETH_EQUAL_TO_FROM_AMOUNT_CHECK_SRC_TOKEN_BALANCE_AFTER_SWAP // 5
504
491
  : types_1.Flag.SEND_ETH_EQUAL_TO_FROM_AMOUNT_DONT_CHECK_BALANCE_AFTER_SWAP, // 9
505
492
  checkWethBalanceAfter ? 4 : 0);
506
- return hexConcat([calldata, depositCallData]);
493
+ return (0, ethers_1.concat)([calldata, depositCallData]);
507
494
  }
508
495
  return calldata;
509
496
  }
@@ -715,7 +702,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
715
702
  !isLastSwap &&
716
703
  maybeWethCallData?.deposit;
717
704
  let swapCallData = swapExchanges.reduce((acc, swapExchange, swapExchangeIndex) => {
718
- return hexConcat([
705
+ return (0, ethers_1.concat)([
719
706
  acc,
720
707
  this.buildSingleSwapExchangeCallData(priceRoute, routeIndex, swapIndex, swapExchangeIndex, exchangeParams, flags, wrapToSwapExchangeMap, !wrapToSwapMap[swapIndex - 1], wrapToSwapMap[swapIndex - 1], unwrapToSwapMap, maybeWethCallData, swap.swapExchanges.length > 1, applyVerticalBranching),
721
708
  ]);
@@ -744,7 +731,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
744
731
  const appendedWrapToSwapExchangeMap = {};
745
732
  const addedWrapToSwapMap = {};
746
733
  const unwrapToSwapMap = {};
747
- const callData = swaps.reduce((swapAcc, swap, swapIndex) => hexConcat([
734
+ const callData = swaps.reduce((swapAcc, swap, swapIndex) => (0, ethers_1.concat)([
748
735
  swapAcc,
749
736
  this.buildSingleSwapCallData({
750
737
  priceRoute,
@@ -804,7 +791,7 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
804
791
  const routeNeedsRootWrapEth = this.doesRouteNeedsRootWrapEth(priceRoute, exchangeParams);
805
792
  const routeNeedsRootUnwrapEth = this.doesRouteNeedsRootUnwrapEth(priceRoute, exchangeParams);
806
793
  const flags = this.buildFlags(priceRoute, exchangeParams, maybeWethCallData);
807
- let swapsCalldata = priceRoute.bestRoute.reduce((routeAcc, route, routeIndex) => hexConcat([
794
+ let swapsCalldata = priceRoute.bestRoute.reduce((routeAcc, route, routeIndex) => (0, ethers_1.concat)([
808
795
  routeAcc,
809
796
  this.buildSingleRouteCallData(priceRoute, exchangeParams, route, routeIndex, flags, sender, maybeWethCallData),
810
797
  ]), '0x');
@@ -830,34 +817,34 @@ class Executor02BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
830
817
  acc += se.percent;
831
818
  return acc;
832
819
  }, 0);
833
- depositCallData = solidityPack(['bytes16', 'bytes16', 'bytes'], [
834
- hexZeroPad(hexlify(hexDataLength(depositCallData)), 16),
835
- hexZeroPad(hexlify(100 * percent), 16),
820
+ depositCallData = (0, ethers_1.solidityPacked)(['bytes16', 'bytes16', 'bytes'], [
821
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(depositCallData)), 16),
822
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(100 * percent), 16),
836
823
  depositCallData,
837
824
  ]);
838
825
  }
839
- swapsCalldata = hexConcat([depositCallData, swapsCalldata]);
826
+ swapsCalldata = (0, ethers_1.concat)([depositCallData, swapsCalldata]);
840
827
  }
841
828
  // ETH unwrap, only for multiswaps and mega swaps
842
829
  if (needUnwrapEth &&
843
830
  routeNeedsRootUnwrapEth &&
844
831
  (isMultiSwap || isMegaSwap)) {
845
832
  const withdrawCallData = this.buildUnwrapEthCallData(this.dexHelper.config.data.wrappedNativeTokenAddress, maybeWethCallData.withdraw.calldata);
846
- swapsCalldata = hexConcat([swapsCalldata, withdrawCallData]);
833
+ swapsCalldata = (0, ethers_1.concat)([swapsCalldata, withdrawCallData]);
847
834
  }
848
835
  // Special flag (send native) calldata, only for multiswaps and mega swaps
849
836
  if (needSendNativeEth &&
850
837
  routeNeedsRootUnwrapEth &&
851
838
  (isMultiSwap || isMegaSwap)) {
852
839
  const finalSpecialFlagCalldata = this.buildFinalSpecialFlagCalldata();
853
- swapsCalldata = hexConcat([swapsCalldata, finalSpecialFlagCalldata]);
840
+ swapsCalldata = (0, ethers_1.concat)([swapsCalldata, finalSpecialFlagCalldata]);
854
841
  }
855
842
  if (((needWrapEth || needUnwrapEth) && isMegaSwap) || isMultiSwap) {
856
843
  swapsCalldata = this.addMultiSwapMetadata(priceRoute, exchangeParams, swapsCalldata, constants_1.SWAP_EXCHANGE_100_PERCENTAGE, priceRoute.bestRoute[0].swaps[0], constants_1.NOT_EXISTING_EXCHANGE_PARAM_INDEX, false);
857
844
  }
858
- return solidityPack(['bytes32', 'bytes', 'bytes'], [
859
- hexZeroPad(hexlify(32), 32), // calldata offset
860
- hexZeroPad(hexlify(hexDataLength(swapsCalldata) + constants_1.BYTES_64_LENGTH), // calldata length (64 bytes = bytes12(0) + msg.sender)
845
+ return (0, ethers_1.solidityPacked)(['bytes32', 'bytes', 'bytes'], [
846
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(32), 32), // calldata offset
847
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(swapsCalldata) + constants_1.BYTES_64_LENGTH), // calldata length (64 bytes = bytes12(0) + msg.sender)
861
848
  32),
862
849
  swapsCalldata, // calldata
863
850
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"Executor02BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor02BytecodeBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor02BytecodeBuilder.js","sourceRoot":"","sources":["../../src/executor/Executor02BytecodeBuilder.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ const utils_1 = require("../utils");
6
6
  const types_1 = require("./types");
7
7
  const constants_1 = require("./constants");
8
8
  const ExecutorBytecodeBuilder_1 = require("./ExecutorBytecodeBuilder");
9
- const { utils: { hexlify, hexDataLength, hexConcat, hexZeroPad, solidityPack }, } = ethers_1.ethers;
10
9
  /**
11
10
  * Class to build bytecode for Executor03 - simpleSwap (SINGLE_STEP) with 100% on a path and multiSwap with 100% amounts on each path (HORIZONTAL_SEQUENCE)
12
11
  */
@@ -96,7 +95,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
96
95
  flag: flags.dexes[index],
97
96
  maybeWethCallData,
98
97
  });
99
- swapCallData = hexConcat([dexCallData]);
98
+ swapCallData = (0, ethers_1.concat)([dexCallData]);
100
99
  if (flags.dexes[index] % 4 !== 1 && // not sendEth
101
100
  !(0, utils_1.isETHAddress)(swap.srcToken) &&
102
101
  !curExchangeParam.skipApproval &&
@@ -104,7 +103,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
104
103
  // TODO: as we give approve for MAX_UINT and approve for current targetExchange was given
105
104
  // in previous paths, then for current path we can skip it
106
105
  const approveCallData = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[index], curExchangeParam.permit2Approval);
107
- swapCallData = hexConcat([approveCallData, swapCallData]);
106
+ swapCallData = (0, ethers_1.concat)([approveCallData, swapCallData]);
108
107
  }
109
108
  if (maybeWethCallData?.deposit &&
110
109
  (0, utils_1.isETHAddress)(swap.srcToken) &&
@@ -118,7 +117,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
118
117
  approveWethCalldata = this.buildApproveCallData(curExchangeParam.approveData.target, curExchangeParam.approveData.token, flags.approves[index], curExchangeParam.permit2Approval);
119
118
  }
120
119
  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
- swapCallData = hexConcat([
120
+ swapCallData = (0, ethers_1.concat)([
122
121
  approveWethCalldata,
123
122
  depositCallData,
124
123
  swapCallData,
@@ -134,18 +133,18 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
134
133
  // insert 0 because it's still gonna be replaced with balance check result
135
134
  '0',
136
135
  ]), swap.destToken);
137
- swapCallData = hexConcat([swapCallData, transferCallData]);
136
+ swapCallData = (0, ethers_1.concat)([swapCallData, transferCallData]);
138
137
  }
139
138
  // withdraw WETH
140
139
  if ((0, utils_1.isETHAddress)(swap.destToken) && maybeWethCallData?.withdraw) {
141
140
  const withdrawCallData = this.buildUnwrapEthCallData(this.getWETHAddress(curExchangeParam), maybeWethCallData.withdraw.calldata);
142
- swapCallData = hexConcat([swapCallData, withdrawCallData]);
141
+ swapCallData = (0, ethers_1.concat)([swapCallData, withdrawCallData]);
143
142
  }
144
143
  // send ETH to augustus
145
144
  if ((0, utils_1.isETHAddress)(swap.destToken) &&
146
145
  (!curExchangeParam.dexFuncHasRecipient || maybeWethCallData?.withdraw)) {
147
146
  const finalSpecialFlagCalldata = this.buildFinalSpecialFlagCalldata();
148
- swapCallData = hexConcat([swapCallData, finalSpecialFlagCalldata]);
147
+ swapCallData = (0, ethers_1.concat)([swapCallData, finalSpecialFlagCalldata]);
149
148
  }
150
149
  }
151
150
  return this.addMetadata(swapCallData, swap.swapExchanges[index].percent, swap.srcToken, swap.destToken,
@@ -187,14 +186,14 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
187
186
  fromAmountPos = exchangeParam.insertFromAmountPos;
188
187
  }
189
188
  else {
190
- const fromAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].srcAmount]);
189
+ const fromAmount = ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].srcAmount]);
191
190
  const fromAmountIndex = exchangeData
192
191
  .replace('0x', '')
193
192
  .indexOf(fromAmount.replace('0x', ''));
194
193
  fromAmountPos =
195
194
  (fromAmountIndex !== -1 ? fromAmountIndex : exchangeData.length) / 2;
196
195
  }
197
- const toAmount = ethers_1.ethers.utils.defaultAbiCoder.encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].destAmount]);
196
+ const toAmount = ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint256'], [swap.swapExchanges[swapExchangeIndex].destAmount]);
198
197
  const toAmountIndex = exchangeData
199
198
  .replace('0x', '')
200
199
  .lastIndexOf(toAmount.replace('0x', ''));
@@ -225,7 +224,7 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
225
224
  swapExchanges: orderedExchangeParams.map(e => e.swapExchange.swapExchange),
226
225
  };
227
226
  const flags = this.buildFlags(priceRoute, orderedExchangeParams.map(e => e.exchangeParam), maybeWethCallData);
228
- let swapsCalldata = orderedExchangeParams.reduce((acc, ep, index) => hexConcat([
227
+ let swapsCalldata = orderedExchangeParams.reduce((acc, ep, index) => (0, ethers_1.concat)([
229
228
  acc,
230
229
  this.buildSingleSwapCallData({
231
230
  priceRoute,
@@ -238,9 +237,9 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
238
237
  swap: swapWithOrderedExchanges,
239
238
  }),
240
239
  ]), '0x');
241
- return solidityPack(['bytes32', 'bytes', 'bytes'], [
242
- hexZeroPad(hexlify(32), 32), // calldata offset
243
- hexZeroPad(hexlify(hexDataLength(swapsCalldata) + constants_1.BYTES_96_LENGTH), // calldata length (96 bytes = bytes12(0) + msg.sender)
240
+ return (0, ethers_1.solidityPacked)(['bytes32', 'bytes', 'bytes'], [
241
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(32), 32), // calldata offset
242
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(swapsCalldata) + constants_1.BYTES_96_LENGTH), // calldata length (96 bytes = bytes12(0) + msg.sender)
244
243
  32),
245
244
  swapsCalldata, // // calldata
246
245
  ]);
@@ -253,17 +252,17 @@ class Executor03BytecodeBuilder extends ExecutorBytecodeBuilder_1.ExecutorByteco
253
252
  const srcTokenAddrIndex = callData
254
253
  .replace('0x', '')
255
254
  .indexOf(srcTokenAddressLowered.replace('0x', ''));
256
- const srcTokenPos = hexZeroPad(hexlify(srcTokenAddrIndex / 2), 8);
255
+ const srcTokenPos = (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(srcTokenAddrIndex / 2), 8);
257
256
  const destTokenAddrIndex = callData
258
257
  .replace('0x', '')
259
258
  .indexOf(destTokenAddressLowered.replace('0x', ''));
260
- const destTokenPos = hexZeroPad(hexlify(destTokenAddrIndex / 2), 8);
261
- return solidityPack(['bytes4', 'bytes4', 'bytes8', 'bytes8', 'bytes8', 'bytes'], [
262
- hexZeroPad(hexlify(hexDataLength(callData)), 4), // calldata size
263
- hexZeroPad(hexlify(needWithdraw ? 1 : 0), 4), // flag
259
+ const destTokenPos = (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(destTokenAddrIndex / 2), 8);
260
+ return (0, ethers_1.solidityPacked)(['bytes4', 'bytes4', 'bytes8', 'bytes8', 'bytes8', 'bytes'], [
261
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)((0, ethers_1.dataLength)(callData)), 4), // calldata size
262
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(needWithdraw ? 1 : 0), 4), // flag
264
263
  destTokenPos, // (8) destTokenPos
265
264
  srcTokenPos, // (8) srcTokenPos
266
- hexZeroPad(hexlify(Math.ceil(percentage * 100)), 8), // percentage
265
+ (0, ethers_1.zeroPadValue)((0, ethers_1.toBeHex)(Math.ceil(percentage * 100)), 8), // percentage
267
266
  callData, // swap calldata
268
267
  ]);
269
268
  }
@@ -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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"}