@paraswap/dex-lib 3.11.12-cables.1 → 4.0.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 (1197) hide show
  1. package/.github/workflows/ci.yaml +1 -1
  2. package/build/abi/Aave_GSM.json +751 -0
  3. package/build/abi/Balancer.json +257 -0
  4. package/build/abi/BalancerV2.json +1179 -0
  5. package/build/abi/{integral/relayer.json → RamsesV2Pool.abi.json} +850 -832
  6. package/build/abi/RamsesV2Quoter.abi.json +274 -0
  7. package/build/abi/USDM.json +807 -0
  8. package/build/abi/UniswapV2Router.json +397 -0
  9. package/build/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +1246 -0
  10. package/build/abi/{integral/oracle.json → angle-transmuter/ChainlinkEACAggregatorProxy.json} +247 -239
  11. package/build/abi/curve-v1/CurveBUSDv2.abi.json +1356 -0
  12. package/build/abi/curve-v1/CurveTokenV1.json +305 -0
  13. package/build/abi/curve-v1/CurveTokenV2.json +318 -0
  14. package/build/abi/curve-v1/CurveV1StableNg.json +1452 -0
  15. package/build/abi/curve-v1/CurveV2Swap.json +700 -0
  16. package/build/abi/curve-v1/FactoryCryptoRegistry.json +316 -0
  17. package/build/abi/curve-v1/FactoryRegistry.json +508 -0
  18. package/build/abi/curve-v1/StableSwapAave.json +1152 -0
  19. package/build/abi/curve-v1/StableSwapBUSD.json +814 -0
  20. package/build/abi/curve-v1/StableSwapCompound.json +814 -0
  21. package/build/abi/curve-v1/StableSwapIDLE.json +1253 -0
  22. package/build/abi/curve-v1/StableSwapPax.json +865 -0
  23. package/build/abi/curve-v1/StableSwapSnow.json +900 -0
  24. package/build/abi/{integral/pool.json → curve-v1/StableSwapUSDN.json} +450 -487
  25. package/build/abi/curve-v1/StableSwapUSDT.json +814 -0
  26. package/build/abi/curve-v1/StableSwapY.json +814 -0
  27. package/build/abi/inception/inception-ineth-pool.json +1062 -0
  28. package/build/abi/inception/inception-ineth.json +609 -0
  29. package/build/abi/inception/inception-ratio-feed.json +329 -0
  30. package/build/abi/inception/inception-vault.json +991 -0
  31. package/build/abi/kyberdmm/kyber-storage.abi.json +824 -0
  32. package/build/abi/kyberdmm.abi.json +1148 -0
  33. package/build/abi/maverick-v2/MaverickV2Quoter.json +278 -0
  34. package/build/abi/nerve/nerve-metapool.json +790 -0
  35. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  36. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +267 -0
  37. package/build/bignumber-constants.js +2 -2
  38. package/build/bignumber-constants.js.map +1 -1
  39. package/build/calldata-gas-cost.js +2 -2
  40. package/build/calldata-gas-cost.js.map +1 -1
  41. package/build/composed-event-subscriber.js +10 -2
  42. package/build/composed-event-subscriber.js.map +1 -1
  43. package/build/config.js +8 -5
  44. package/build/config.js.map +1 -1
  45. package/build/constants.js +2 -2
  46. package/build/constants.js.map +1 -1
  47. package/build/dex/aave-gsm/aave-gsm-pool.js +10 -1
  48. package/build/dex/aave-gsm/aave-gsm-pool.js.map +1 -1
  49. package/build/dex/aave-gsm/aave-gsm.js +32 -16
  50. package/build/dex/aave-gsm/aave-gsm.js.map +1 -1
  51. package/build/dex/aave-gsm/types.d.ts +3 -3
  52. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  53. package/build/dex/aave-v1/aave-v1.js +22 -0
  54. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  55. package/build/dex/aave-v2/aave-v2.js +25 -10
  56. package/build/dex/aave-v2/aave-v2.js.map +1 -1
  57. package/build/dex/aave-v2/tokens.js +3 -3
  58. package/build/dex/aave-v2/tokens.js.map +1 -1
  59. package/build/dex/aave-v2/types.d.ts +8 -8
  60. package/build/dex/aave-v2/types.js +1 -1
  61. package/build/dex/aave-v2/types.js.map +1 -1
  62. package/build/dex/aave-v3/aave-v3.js +27 -10
  63. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  64. package/build/dex/aave-v3/tokens.js +4 -4
  65. package/build/dex/aave-v3/tokens.js.map +1 -1
  66. package/build/dex/aave-v3/types.d.ts +8 -8
  67. package/build/dex/aave-v3/types.js +1 -1
  68. package/build/dex/aave-v3/types.js.map +1 -1
  69. package/build/dex/aave-v3/utils.js.map +1 -1
  70. package/build/dex/aave-v3-stata/aave-v3-stata.js +35 -19
  71. package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
  72. package/build/dex/aave-v3-stata/tokens.js +4 -4
  73. package/build/dex/aave-v3-stata/tokens.js.map +1 -1
  74. package/build/dex/aave-v3-stata/types.d.ts +7 -7
  75. package/build/dex/aave-v3-stata/types.js +3 -3
  76. package/build/dex/aave-v3-stata/types.js.map +1 -1
  77. package/build/dex/aave-v3-stata/utils.d.ts +1 -1
  78. package/build/dex/aave-v3-stata/utils.js.map +1 -1
  79. package/build/dex/algebra/algebra-factory.d.ts +1 -1
  80. package/build/dex/algebra/algebra-factory.js +6 -2
  81. package/build/dex/algebra/algebra-factory.js.map +1 -1
  82. package/build/dex/algebra/algebra-pool-v1_1.js +20 -5
  83. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  84. package/build/dex/algebra/algebra-pool-v1_9.js +15 -4
  85. package/build/dex/algebra/algebra-pool-v1_9.js.map +1 -1
  86. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js +6 -0
  87. package/build/dex/algebra/algebra-pool-v1_9_bidirectional_fee.js.map +1 -1
  88. package/build/dex/algebra/algebra.d.ts +1 -2
  89. package/build/dex/algebra/algebra.js +65 -42
  90. package/build/dex/algebra/algebra.js.map +1 -1
  91. package/build/dex/algebra/lib/AlgebraMath.js +2 -2
  92. package/build/dex/algebra/lib/AlgebraMath.js.map +1 -1
  93. package/build/dex/algebra/lib/Constants.js +3 -3
  94. package/build/dex/algebra/lib/Constants.js.map +1 -1
  95. package/build/dex/algebra/lib/TickManager.js.map +1 -1
  96. package/build/dex/algebra/lib/TickTable.js.map +1 -1
  97. package/build/dex/algebra/scripts/validate-state.js.map +1 -1
  98. package/build/dex/algebra/types.d.ts +17 -17
  99. package/build/dex/algebra/types.js +1 -1
  100. package/build/dex/algebra/types.js.map +1 -1
  101. package/build/dex/algebra/utils.js +4 -5
  102. package/build/dex/algebra/utils.js.map +1 -1
  103. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js +13 -6
  104. package/build/dex/angle-staked-stable/angle-staked-stable-pool.js.map +1 -1
  105. package/build/dex/angle-staked-stable/angle-staked-stable.js +29 -13
  106. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -1
  107. package/build/dex/angle-staked-stable/types.d.ts +3 -3
  108. package/build/dex/angle-transmuter/angle-transmuter-pool.d.ts +1 -2
  109. package/build/dex/angle-transmuter/angle-transmuter-pool.js +7 -0
  110. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -1
  111. package/build/dex/angle-transmuter/angle-transmuter.js +33 -16
  112. package/build/dex/angle-transmuter/angle-transmuter.js.map +1 -1
  113. package/build/dex/angle-transmuter/backedOracle.js +4 -2
  114. package/build/dex/angle-transmuter/backedOracle.js.map +1 -1
  115. package/build/dex/angle-transmuter/morphoOracle.js +9 -3
  116. package/build/dex/angle-transmuter/morphoOracle.js.map +1 -1
  117. package/build/dex/angle-transmuter/morphoVault.js +2 -1
  118. package/build/dex/angle-transmuter/morphoVault.js.map +1 -1
  119. package/build/dex/angle-transmuter/pyth.js +4 -2
  120. package/build/dex/angle-transmuter/pyth.js.map +1 -1
  121. package/build/dex/angle-transmuter/redstone.js +3 -1
  122. package/build/dex/angle-transmuter/redstone.js.map +1 -1
  123. package/build/dex/angle-transmuter/transmuter.js +6 -1
  124. package/build/dex/angle-transmuter/transmuter.js.map +1 -1
  125. package/build/dex/angle-transmuter/types.d.ts +24 -24
  126. package/build/dex/angle-transmuter/types.js +3 -3
  127. package/build/dex/angle-transmuter/types.js.map +1 -1
  128. package/build/dex/angle-transmuter/utils.js +6 -7
  129. package/build/dex/angle-transmuter/utils.js.map +1 -1
  130. package/build/dex/augustus-approvals.js +7 -0
  131. package/build/dex/augustus-approvals.js.map +1 -1
  132. package/build/dex/augustus-rfq.d.ts +6 -6
  133. package/build/dex/augustus-rfq.js +3 -2
  134. package/build/dex/augustus-rfq.js.map +1 -1
  135. package/build/dex/balancer-v1/balancer-pools.json +33333 -0
  136. package/build/dex/balancer-v1/balancer-v1-math.js +2 -3
  137. package/build/dex/balancer-v1/balancer-v1-math.js.map +1 -1
  138. package/build/dex/balancer-v1/balancer-v1-pool.js +9 -2
  139. package/build/dex/balancer-v1/balancer-v1-pool.js.map +1 -1
  140. package/build/dex/balancer-v1/balancer-v1.js +32 -14
  141. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  142. package/build/dex/balancer-v1/optimizer.js +1 -2
  143. package/build/dex/balancer-v1/optimizer.js.map +1 -1
  144. package/build/dex/balancer-v1/types.d.ts +16 -16
  145. package/build/dex/balancer-v1/types.js +1 -1
  146. package/build/dex/balancer-v1/types.js.map +1 -1
  147. package/build/dex/balancer-v1/utils.js +1 -2
  148. package/build/dex/balancer-v1/utils.js.map +1 -1
  149. package/build/dex/balancer-v2/balancer-v2-math.js +46 -46
  150. package/build/dex/balancer-v2/balancer-v2-math.js.map +1 -1
  151. package/build/dex/balancer-v2/balancer-v2.d.ts +1 -2
  152. package/build/dex/balancer-v2/balancer-v2.js +68 -41
  153. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  154. package/build/dex/balancer-v2/constants.js +4 -4
  155. package/build/dex/balancer-v2/constants.js.map +1 -1
  156. package/build/dex/balancer-v2/optimizer.js +1 -2
  157. package/build/dex/balancer-v2/optimizer.js.map +1 -1
  158. package/build/dex/balancer-v2/pools/balancer-v2-pool.js.map +1 -1
  159. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.d.ts +1 -1
  160. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js +5 -3
  161. package/build/dex/balancer-v2/pools/gyro/Gyro3Pool.js.map +1 -1
  162. package/build/dex/balancer-v2/pools/gyro/GyroEPool.d.ts +1 -1
  163. package/build/dex/balancer-v2/pools/gyro/GyroEPool.js +3 -1
  164. package/build/dex/balancer-v2/pools/gyro/GyroEPool.js.map +1 -1
  165. package/build/dex/balancer-v2/pools/gyro/gyro-helpers.js +2 -3
  166. package/build/dex/balancer-v2/pools/gyro/gyro-helpers.js.map +1 -1
  167. package/build/dex/balancer-v2/pools/linear/LinearMath.d.ts +1 -1
  168. package/build/dex/balancer-v2/pools/linear/LinearMath.js +13 -14
  169. package/build/dex/balancer-v2/pools/linear/LinearMath.js.map +1 -1
  170. package/build/dex/balancer-v2/pools/linear/LinearPool.d.ts +1 -1
  171. package/build/dex/balancer-v2/pools/linear/LinearPool.js +26 -13
  172. package/build/dex/balancer-v2/pools/linear/LinearPool.js.map +1 -1
  173. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js +10 -11
  174. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStableMath.js.map +1 -1
  175. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.d.ts +1 -1
  176. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js +26 -12
  177. package/build/dex/balancer-v2/pools/phantom-stable/PhantomStablePool.js.map +1 -1
  178. package/build/dex/balancer-v2/pools/stable/StableMath.js +1 -1
  179. package/build/dex/balancer-v2/pools/stable/StableMath.js.map +1 -1
  180. package/build/dex/balancer-v2/pools/stable/StablePool.d.ts +1 -1
  181. package/build/dex/balancer-v2/pools/stable/StablePool.js +4 -0
  182. package/build/dex/balancer-v2/pools/stable/StablePool.js.map +1 -1
  183. package/build/dex/balancer-v2/pools/weighted/WeightedMath.js +2 -2
  184. package/build/dex/balancer-v2/pools/weighted/WeightedMath.js.map +1 -1
  185. package/build/dex/balancer-v2/pools/weighted/WeightedPool.d.ts +1 -1
  186. package/build/dex/balancer-v2/pools/weighted/WeightedPool.js +3 -0
  187. package/build/dex/balancer-v2/pools/weighted/WeightedPool.js.map +1 -1
  188. package/build/dex/balancer-v2/queryOnChain.js +1 -2
  189. package/build/dex/balancer-v2/queryOnChain.js.map +1 -1
  190. package/build/dex/balancer-v2/types.d.ts +17 -17
  191. package/build/dex/balancer-v2/types.js +2 -2
  192. package/build/dex/balancer-v2/types.js.map +1 -1
  193. package/build/dex/balancer-v2/utils.js +7 -7
  194. package/build/dex/balancer-v2/utils.js.map +1 -1
  195. package/build/dex/bancor/bancor.js +2 -1
  196. package/build/dex/bancor/bancor.js.map +1 -1
  197. package/build/dex/bancor/types.d.ts +2 -2
  198. package/build/dex/bancor/types.js +1 -1
  199. package/build/dex/bancor/types.js.map +1 -1
  200. package/build/dex/bebop/bebop.js +35 -14
  201. package/build/dex/bebop/bebop.js.map +1 -1
  202. package/build/dex/bebop/config.js +5 -5
  203. package/build/dex/bebop/config.js.map +1 -1
  204. package/build/dex/bebop/constants.js +1 -1
  205. package/build/dex/bebop/constants.js.map +1 -1
  206. package/build/dex/bebop/rate-fetcher.js +13 -2
  207. package/build/dex/bebop/rate-fetcher.js.map +1 -1
  208. package/build/dex/bebop/types.d.ts +13 -13
  209. package/build/dex/bebop/types.js +1 -4
  210. package/build/dex/bebop/types.js.map +1 -1
  211. package/build/dex/bebop/websocket-fetcher.d.ts +35 -0
  212. package/build/dex/bebop/websocket-fetcher.js +87 -0
  213. package/build/dex/bebop/websocket-fetcher.js.map +1 -0
  214. package/build/dex/cables/cables.d.ts +5 -8
  215. package/build/dex/cables/cables.js +98 -254
  216. package/build/dex/cables/cables.js.map +1 -1
  217. package/build/dex/cables/constants.d.ts +12 -13
  218. package/build/dex/cables/constants.js +16 -14
  219. package/build/dex/cables/constants.js.map +1 -1
  220. package/build/dex/cables/rate-fetcher.d.ts +0 -1
  221. package/build/dex/cables/rate-fetcher.js +3 -6
  222. package/build/dex/cables/rate-fetcher.js.map +1 -1
  223. package/build/dex/cables/types.d.ts +0 -8
  224. package/build/dex/cables/types.js +1 -8
  225. package/build/dex/cables/types.js.map +1 -1
  226. package/build/dex/camelot/camelot.d.ts +1 -1
  227. package/build/dex/camelot/camelot.js +66 -35
  228. package/build/dex/camelot/camelot.js.map +1 -1
  229. package/build/dex/camelot/config.js +1 -1
  230. package/build/dex/camelot/config.js.map +1 -1
  231. package/build/dex/camelot/types.d.ts +3 -3
  232. package/build/dex/compound/compound.js +2 -1
  233. package/build/dex/compound/compound.js.map +1 -1
  234. package/build/dex/compound/types.d.ts +2 -2
  235. package/build/dex/compound/types.js +1 -1
  236. package/build/dex/compound/types.js.map +1 -1
  237. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +4 -1
  238. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +1 -1
  239. package/build/dex/concentrator-arusd/concentrator-arusd.js +30 -12
  240. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +1 -1
  241. package/build/dex/concentrator-arusd/types.d.ts +4 -4
  242. package/build/dex/concentrator-arusd/utils.js +1 -2
  243. package/build/dex/concentrator-arusd/utils.js.map +1 -1
  244. package/build/dex/curve-v1/config.js +5 -5
  245. package/build/dex/curve-v1/config.js.map +1 -1
  246. package/build/dex/curve-v1/curve-v1.js +36 -16
  247. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  248. package/build/dex/curve-v1/forks/curve-forks/curve-forks.js +2 -1
  249. package/build/dex/curve-v1/forks/curve-forks/curve-forks.js.map +1 -1
  250. package/build/dex/curve-v1/forks/swerve/swerve.js +1 -1
  251. package/build/dex/curve-v1/forks/swerve/swerve.js.map +1 -1
  252. package/build/dex/curve-v1/packer.js.map +1 -1
  253. package/build/dex/curve-v1/pools/3pool.js +5 -0
  254. package/build/dex/curve-v1/pools/3pool.js.map +1 -1
  255. package/build/dex/curve-v1/pools/curve-metapool.js +33 -8
  256. package/build/dex/curve-v1/pools/curve-metapool.js.map +1 -1
  257. package/build/dex/curve-v1/pools/curve-pool.js +18 -5
  258. package/build/dex/curve-v1/pools/curve-pool.js.map +1 -1
  259. package/build/dex/curve-v1/pools/getstate-multicall.js +1 -2
  260. package/build/dex/curve-v1/pools/getstate-multicall.js.map +1 -1
  261. package/build/dex/curve-v1/pools/sETHpool.js +1 -0
  262. package/build/dex/curve-v1/pools/sETHpool.js.map +1 -1
  263. package/build/dex/curve-v1/types.d.ts +7 -7
  264. package/build/dex/curve-v1/types.js +2 -2
  265. package/build/dex/curve-v1/types.js.map +1 -1
  266. package/build/dex/curve-v1-factory/config.js +15 -15
  267. package/build/dex/curve-v1-factory/config.js.map +1 -1
  268. package/build/dex/curve-v1-factory/constants.js +1 -1
  269. package/build/dex/curve-v1-factory/constants.js.map +1 -1
  270. package/build/dex/curve-v1-factory/curve-v1-factory.js +46 -26
  271. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  272. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +28 -21
  273. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  274. package/build/dex/curve-v1-factory/optimizer.js +1 -2
  275. package/build/dex/curve-v1-factory/optimizer.js.map +1 -1
  276. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  277. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  278. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  279. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  280. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  281. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  282. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  283. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  284. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  285. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.js.map +1 -1
  286. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  287. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  288. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  289. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  290. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js +2 -2
  291. package/build/dex/curve-v1-factory/price-handlers/functions/utils.js.map +1 -1
  292. package/build/dex/curve-v1-factory/price-handlers/price-handler.js +10 -6
  293. package/build/dex/curve-v1-factory/price-handlers/price-handler.js.map +1 -1
  294. package/build/dex/curve-v1-factory/price-handlers/types.d.ts +15 -15
  295. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.d.ts +1 -1
  296. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js +16 -0
  297. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js.map +1 -1
  298. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +14 -1
  299. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  300. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.js.map +1 -1
  301. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.d.ts +3 -3
  302. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js +31 -9
  303. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
  304. package/build/dex/curve-v1-factory/types.d.ts +17 -17
  305. package/build/dex/curve-v1-factory/types.js +6 -6
  306. package/build/dex/curve-v1-factory/types.js.map +1 -1
  307. package/build/dex/curve-v1-stable-ng/config.js +7 -7
  308. package/build/dex/curve-v1-stable-ng/config.js.map +1 -1
  309. package/build/dex/curve-v1-stable-ng/curve-v1-stable-ng.js +12 -6
  310. package/build/dex/curve-v1-stable-ng/curve-v1-stable-ng.js.map +1 -1
  311. package/build/dex/curve-v2/curve-v2.d.ts +2 -2
  312. package/build/dex/curve-v2/curve-v2.js +9 -5
  313. package/build/dex/curve-v2/curve-v2.js.map +1 -1
  314. package/build/dex/curve-v2/types.d.ts +2 -2
  315. package/build/dex/curve-v2/types.js +1 -1
  316. package/build/dex/curve-v2/types.js.map +1 -1
  317. package/build/dex/dexalot/constants.js +1 -1
  318. package/build/dex/dexalot/constants.js.map +1 -1
  319. package/build/dex/dexalot/dexalot.js +77 -14
  320. package/build/dex/dexalot/dexalot.js.map +1 -1
  321. package/build/dex/dexalot/rate-fetcher.js +16 -0
  322. package/build/dex/dexalot/rate-fetcher.js.map +1 -1
  323. package/build/dex/dexalot/types.d.ts +17 -17
  324. package/build/dex/dexalot/types.js +1 -1
  325. package/build/dex/dexalot/types.js.map +1 -1
  326. package/build/dex/dodo-v1/dodo-v1.js +2 -1
  327. package/build/dex/dodo-v1/dodo-v1.js.map +1 -1
  328. package/build/dex/dodo-v1/types.d.ts +2 -2
  329. package/build/dex/dodo-v1/types.js +1 -1
  330. package/build/dex/dodo-v1/types.js.map +1 -1
  331. package/build/dex/dodo-v2.d.ts +5 -5
  332. package/build/dex/dodo-v2.js +4 -3
  333. package/build/dex/dodo-v2.js.map +1 -1
  334. package/build/dex/etherfi.d.ts +5 -5
  335. package/build/dex/etherfi.js +9 -4
  336. package/build/dex/etherfi.js.map +1 -1
  337. package/build/dex/fluid-dex/config.js +1 -1
  338. package/build/dex/fluid-dex/config.js.map +1 -1
  339. package/build/dex/fluid-dex/fluid-dex-factory.d.ts +1 -1
  340. package/build/dex/fluid-dex/fluid-dex-factory.js +19 -12
  341. package/build/dex/fluid-dex/fluid-dex-factory.js.map +1 -1
  342. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +10 -3
  343. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  344. package/build/dex/fluid-dex/fluid-dex.js +39 -22
  345. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  346. package/build/dex/fluid-dex/types.d.ts +14 -14
  347. package/build/dex/fluid-dex/utils.js +1 -2
  348. package/build/dex/fluid-dex/utils.js.map +1 -1
  349. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js +5 -0
  350. package/build/dex/fx-protocol-rusd/fx-protocol-rusd-event.js.map +1 -1
  351. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js +30 -11
  352. package/build/dex/fx-protocol-rusd/fx-protocol-rusd.js.map +1 -1
  353. package/build/dex/fx-protocol-rusd/types.d.ts +3 -3
  354. package/build/dex/fx-protocol-rusd/utils.js +1 -2
  355. package/build/dex/fx-protocol-rusd/utils.js.map +1 -1
  356. package/build/dex/generic-rfq/fetch-mm-api.js +1 -1
  357. package/build/dex/generic-rfq/fetch-mm-api.js.map +1 -1
  358. package/build/dex/generic-rfq/generic-rfq.js +12 -8
  359. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  360. package/build/dex/generic-rfq/rate-fetcher.js +15 -3
  361. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  362. package/build/dex/generic-rfq/security.d.ts +1 -1
  363. package/build/dex/generic-rfq/security.js.map +1 -1
  364. package/build/dex/generic-rfq/types.d.ts +23 -23
  365. package/build/dex/generic-rfq/utils.d.ts +1 -1
  366. package/build/dex/generic-rfq/utils.js.map +1 -1
  367. package/build/dex/generic-rfq/validators.js +17 -7
  368. package/build/dex/generic-rfq/validators.js.map +1 -1
  369. package/build/dex/gmx/fast-price-feed.js +11 -3
  370. package/build/dex/gmx/fast-price-feed.js.map +1 -1
  371. package/build/dex/gmx/gmx.js +32 -17
  372. package/build/dex/gmx/gmx.js.map +1 -1
  373. package/build/dex/gmx/pool.js +7 -3
  374. package/build/dex/gmx/pool.js.map +1 -1
  375. package/build/dex/gmx/types.d.ts +10 -10
  376. package/build/dex/gmx/usdg.js +2 -1
  377. package/build/dex/gmx/usdg.js.map +1 -1
  378. package/build/dex/gmx/vault-price-feed.js +16 -4
  379. package/build/dex/gmx/vault-price-feed.js.map +1 -1
  380. package/build/dex/gmx/vault-utils.js +1 -0
  381. package/build/dex/gmx/vault-utils.js.map +1 -1
  382. package/build/dex/gmx/vault.js +17 -1
  383. package/build/dex/gmx/vault.js.map +1 -1
  384. package/build/dex/hashflow/constants.js +11 -11
  385. package/build/dex/hashflow/constants.js.map +1 -1
  386. package/build/dex/hashflow/hashflow.js +52 -27
  387. package/build/dex/hashflow/hashflow.js.map +1 -1
  388. package/build/dex/hashflow/rate-fetcher.js +10 -0
  389. package/build/dex/hashflow/rate-fetcher.js.map +1 -1
  390. package/build/dex/hashflow/types.d.ts +8 -8
  391. package/build/dex/hashflow/types.js +3 -5
  392. package/build/dex/hashflow/types.js.map +1 -1
  393. package/build/dex/idex.d.ts +3 -3
  394. package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
  395. package/build/dex/idle-dao/idle-dao-pool.js +176 -0
  396. package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
  397. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
  398. package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
  399. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
  400. package/build/dex/idle-dao/idle-dao.js +31 -12
  401. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  402. package/build/dex/idle-dao/scripts.d.ts +9 -0
  403. package/build/dex/idle-dao/scripts.js +552 -0
  404. package/build/dex/idle-dao/scripts.js.map +1 -0
  405. package/build/dex/idle-dao/tokens.js +5 -5
  406. package/build/dex/idle-dao/tokens.js.map +1 -1
  407. package/build/dex/idle-dao/types.d.ts +7 -7
  408. package/build/dex/idle-dao/types.js +1 -1
  409. package/build/dex/idle-dao/types.js.map +1 -1
  410. package/build/dex/idle-dao/utils.d.ts +1 -1
  411. package/build/dex/idle-dao/utils.js.map +1 -1
  412. package/build/dex/inception/config.d.ts +4 -0
  413. package/build/dex/inception/config.js +109 -0
  414. package/build/dex/inception/config.js.map +1 -0
  415. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  416. package/build/dex/inception/inception-event-pool.js +51 -0
  417. package/build/dex/inception/inception-event-pool.js.map +1 -0
  418. package/build/dex/{integral/integral.d.ts → inception/inception-native.d.ts} +21 -19
  419. package/build/dex/inception/inception-native.js +131 -0
  420. package/build/dex/inception/inception-native.js.map +1 -0
  421. package/build/dex/inception/inception-pool.d.ts +18 -0
  422. package/build/dex/inception/inception-pool.js +32 -0
  423. package/build/dex/inception/inception-pool.js.map +1 -0
  424. package/build/dex/inception/inception-price-feed.d.ts +19 -0
  425. package/build/dex/inception/inception-price-feed.js +51 -0
  426. package/build/dex/inception/inception-price-feed.js.map +1 -0
  427. package/build/dex/inception/inception.d.ts +43 -0
  428. package/build/dex/inception/inception.js +204 -0
  429. package/build/dex/inception/inception.js.map +1 -0
  430. package/build/dex/inception/tokens.d.ts +9 -0
  431. package/build/dex/inception/tokens.js +28 -0
  432. package/build/dex/inception/tokens.js.map +1 -0
  433. package/build/dex/inception/types.d.ts +22 -0
  434. package/build/dex/inception/types.js +3 -0
  435. package/build/dex/inception/types.js.map +1 -0
  436. package/build/dex/inception/utils.d.ts +6 -0
  437. package/build/dex/inception/utils.js +37 -0
  438. package/build/dex/inception/utils.js.map +1 -0
  439. package/build/dex/index.d.ts +2 -2
  440. package/build/dex/index.js +19 -14
  441. package/build/dex/index.js.map +1 -1
  442. package/build/dex/infusion/infusion-stable-pool.js.map +1 -1
  443. package/build/dex/infusion/infusion.js +10 -6
  444. package/build/dex/infusion/infusion.js.map +1 -1
  445. package/build/dex/infusion/types.d.ts +6 -6
  446. package/build/dex/infusion/utils/isStablePair.js +4 -4
  447. package/build/dex/infusion/utils/isStablePair.js.map +1 -1
  448. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +2 -1
  449. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +1 -1
  450. package/build/dex/jarvis-v6/jarvis-v6-events.js +6 -0
  451. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +1 -1
  452. package/build/dex/jarvis-v6/jarvis-v6.js +31 -13
  453. package/build/dex/jarvis-v6/jarvis-v6.js.map +1 -1
  454. package/build/dex/jarvis-v6/syntheteumPool-event.js +2 -0
  455. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +1 -1
  456. package/build/dex/jarvis-v6/types.d.ts +10 -10
  457. package/build/dex/jarvis-v6/types.js +1 -1
  458. package/build/dex/jarvis-v6/types.js.map +1 -1
  459. package/build/dex/jarvis-v6/utils.js +5 -5
  460. package/build/dex/jarvis-v6/utils.js.map +1 -1
  461. package/build/dex/jarvis.d.ts +2 -1
  462. package/build/dex/jarvis.js +58 -0
  463. package/build/dex/jarvis.js.map +1 -1
  464. package/build/dex/kyberdmm/fee-formula.d.ts +1 -1
  465. package/build/dex/kyberdmm/fee-formula.js.map +1 -1
  466. package/build/dex/kyberdmm/kyberdmm.js +29 -12
  467. package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
  468. package/build/dex/kyberdmm/math-ext.js.map +1 -1
  469. package/build/dex/kyberdmm/pool.d.ts +2 -2
  470. package/build/dex/kyberdmm/pool.js +4 -1
  471. package/build/dex/kyberdmm/pool.js.map +1 -1
  472. package/build/dex/kyberdmm/types.d.ts +8 -8
  473. package/build/dex/kyberdmm/types.js +1 -1
  474. package/build/dex/kyberdmm/types.js.map +1 -1
  475. package/build/dex/lido/lido.js +6 -3
  476. package/build/dex/lido/lido.js.map +1 -1
  477. package/build/dex/lido/types.d.ts +1 -1
  478. package/build/dex/lido/types.js +1 -1
  479. package/build/dex/lido/types.js.map +1 -1
  480. package/build/dex/limit-order-exchange.js +1 -0
  481. package/build/dex/limit-order-exchange.js.map +1 -1
  482. package/build/dex/lite-psm/lite-psm-event-pool.js +12 -5
  483. package/build/dex/lite-psm/lite-psm-event-pool.js.map +1 -1
  484. package/build/dex/lite-psm/lite-psm.js +31 -12
  485. package/build/dex/lite-psm/lite-psm.js.map +1 -1
  486. package/build/dex/lite-psm/types.d.ts +6 -6
  487. package/build/dex/maker-psm/maker-psm.js +38 -14
  488. package/build/dex/maker-psm/maker-psm.js.map +1 -1
  489. package/build/dex/maker-psm/types.d.ts +6 -6
  490. package/build/dex/maverick-v1/config.js +3 -3
  491. package/build/dex/maverick-v1/config.js.map +1 -1
  492. package/build/dex/maverick-v1/maverick-math/maverick-basic-math.js +2 -2
  493. package/build/dex/maverick-v1/maverick-math/maverick-basic-math.js.map +1 -1
  494. package/build/dex/maverick-v1/maverick-math/maverick-bin-map.d.ts +1 -1
  495. package/build/dex/maverick-v1/maverick-math/maverick-bin-map.js.map +1 -1
  496. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.d.ts +1 -1
  497. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.js +5 -0
  498. package/build/dex/maverick-v1/maverick-math/maverick-pool-math.js.map +1 -1
  499. package/build/dex/maverick-v1/maverick-v1-pool.js +34 -8
  500. package/build/dex/maverick-v1/maverick-v1-pool.js.map +1 -1
  501. package/build/dex/maverick-v1/maverick-v1.js +30 -12
  502. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  503. package/build/dex/maverick-v1/types.d.ts +7 -7
  504. package/build/dex/maverick-v1/types.js +1 -1
  505. package/build/dex/maverick-v1/types.js.map +1 -1
  506. package/build/dex/maverick-v2/config.js +2 -2
  507. package/build/dex/maverick-v2/config.js.map +1 -1
  508. package/build/dex/maverick-v2/maverick-math/maverick-basic-math.js +1 -1
  509. package/build/dex/maverick-v2/maverick-math/maverick-basic-math.js.map +1 -1
  510. package/build/dex/maverick-v2/maverick-math/maverick-bin-math.js.map +1 -1
  511. package/build/dex/maverick-v2/maverick-math/maverick-delta-math.d.ts +1 -1
  512. package/build/dex/maverick-v2/maverick-math/maverick-delta-math.js.map +1 -1
  513. package/build/dex/maverick-v2/maverick-math/maverick-math.js.map +1 -1
  514. package/build/dex/maverick-v2/maverick-math/maverick-pool-lib.js.map +1 -1
  515. package/build/dex/maverick-v2/maverick-math/maverick-pool-math.js +12 -0
  516. package/build/dex/maverick-v2/maverick-math/maverick-pool-math.js.map +1 -1
  517. package/build/dex/maverick-v2/maverick-math/maverick-swap-math.js.map +1 -1
  518. package/build/dex/maverick-v2/maverick-math/maverick-tick-math.js.map +1 -1
  519. package/build/dex/maverick-v2/maverick-v2-pool.js +20 -1
  520. package/build/dex/maverick-v2/maverick-v2-pool.js.map +1 -1
  521. package/build/dex/maverick-v2/maverick-v2.js +31 -13
  522. package/build/dex/maverick-v2/maverick-v2.js.map +1 -1
  523. package/build/dex/maverick-v2/types.d.ts +14 -14
  524. package/build/dex/nerve/config.js +67 -67
  525. package/build/dex/nerve/config.js.map +1 -1
  526. package/build/dex/nerve/nerve-math.js +6 -4
  527. package/build/dex/nerve/nerve-math.js.map +1 -1
  528. package/build/dex/nerve/nerve-pool.js +11 -1
  529. package/build/dex/nerve/nerve-pool.js.map +1 -1
  530. package/build/dex/nerve/nerve.js +31 -15
  531. package/build/dex/nerve/nerve.js.map +1 -1
  532. package/build/dex/nerve/types.d.ts +6 -6
  533. package/build/dex/nerve/types.js +1 -1
  534. package/build/dex/nerve/types.js.map +1 -1
  535. package/build/dex/nerve/utils.js +2 -2
  536. package/build/dex/nerve/utils.js.map +1 -1
  537. package/build/dex/oswap/config.js +4 -4
  538. package/build/dex/oswap/config.js.map +1 -1
  539. package/build/dex/oswap/oswap-pool.js +9 -1
  540. package/build/dex/oswap/oswap-pool.js.map +1 -1
  541. package/build/dex/oswap/oswap.js +30 -13
  542. package/build/dex/oswap/oswap.js.map +1 -1
  543. package/build/dex/oswap/types.d.ts +4 -4
  544. package/build/dex/pancakeswap-v3/constants.js +3 -3
  545. package/build/dex/pancakeswap-v3/constants.js.map +1 -1
  546. package/build/dex/pancakeswap-v3/contract-math/BitMath.js.map +1 -1
  547. package/build/dex/pancakeswap-v3/contract-math/FixedPoint128.js +1 -1
  548. package/build/dex/pancakeswap-v3/contract-math/FixedPoint128.js.map +1 -1
  549. package/build/dex/pancakeswap-v3/contract-math/FixedPoint96.js +2 -2
  550. package/build/dex/pancakeswap-v3/contract-math/FixedPoint96.js.map +1 -1
  551. package/build/dex/pancakeswap-v3/contract-math/LiquidityMath.js.map +1 -1
  552. package/build/dex/pancakeswap-v3/contract-math/Oracle.js.map +1 -1
  553. package/build/dex/pancakeswap-v3/contract-math/SqrtPriceMath.js.map +1 -1
  554. package/build/dex/pancakeswap-v3/contract-math/SwapMath.js.map +1 -1
  555. package/build/dex/pancakeswap-v3/contract-math/Tick.js.map +1 -1
  556. package/build/dex/pancakeswap-v3/contract-math/TickBitMap.js.map +1 -1
  557. package/build/dex/pancakeswap-v3/contract-math/TickMath.js +4 -4
  558. package/build/dex/pancakeswap-v3/contract-math/TickMath.js.map +1 -1
  559. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.d.ts +1 -1
  560. package/build/dex/pancakeswap-v3/contract-math/pancakeswap-v3-math.js.map +1 -1
  561. package/build/dex/pancakeswap-v3/contract-math/utils.js +3 -4
  562. package/build/dex/pancakeswap-v3/contract-math/utils.js.map +1 -1
  563. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.d.ts +1 -1
  564. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js +6 -2
  565. package/build/dex/pancakeswap-v3/pancakeswap-v3-factory.js.map +1 -1
  566. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +17 -4
  567. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
  568. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +0 -1
  569. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +60 -38
  570. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  571. package/build/dex/pancakeswap-v3/utils.js +1 -2
  572. package/build/dex/pancakeswap-v3/utils.js.map +1 -1
  573. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js +27 -11
  574. package/build/dex/paraswap-limit-orders/paraswap-limit-orders.js.map +1 -1
  575. package/build/dex/paraswap-limit-orders/types.d.ts +11 -11
  576. package/build/dex/paraswap-limit-orders/utils.js +2 -3
  577. package/build/dex/paraswap-limit-orders/utils.js.map +1 -1
  578. package/build/dex/platypus/platypus.d.ts +2 -1
  579. package/build/dex/platypus/platypus.js +31 -0
  580. package/build/dex/platypus/platypus.js.map +1 -1
  581. package/build/dex/polygon-migrator/constants.js +1 -1
  582. package/build/dex/polygon-migrator/constants.js.map +1 -1
  583. package/build/dex/polygon-migrator/polygon-migrator.js +29 -10
  584. package/build/dex/polygon-migrator/polygon-migrator.js.map +1 -1
  585. package/build/dex/polygon-migrator/types.d.ts +2 -2
  586. package/build/dex/polygon-migrator/types.js +1 -1
  587. package/build/dex/polygon-migrator/types.js.map +1 -1
  588. package/build/dex/quick-perps/fast-price-feed.js +11 -3
  589. package/build/dex/quick-perps/fast-price-feed.js.map +1 -1
  590. package/build/dex/quick-perps/pool.js +7 -3
  591. package/build/dex/quick-perps/pool.js.map +1 -1
  592. package/build/dex/quick-perps/quick-perps.js +32 -17
  593. package/build/dex/quick-perps/quick-perps.js.map +1 -1
  594. package/build/dex/quick-perps/types.d.ts +10 -10
  595. package/build/dex/quick-perps/usdq.js +2 -1
  596. package/build/dex/quick-perps/usdq.js.map +1 -1
  597. package/build/dex/quick-perps/vault-price-feed.js +13 -4
  598. package/build/dex/quick-perps/vault-price-feed.js.map +1 -1
  599. package/build/dex/quick-perps/vault-utils.js +1 -0
  600. package/build/dex/quick-perps/vault-utils.js.map +1 -1
  601. package/build/dex/quick-perps/vault.js +17 -1
  602. package/build/dex/quick-perps/vault.js.map +1 -1
  603. package/build/dex/quickswap/quickswap-v3.d.ts +1 -1
  604. package/build/dex/quickswap/quickswap-v3.js +1 -1
  605. package/build/dex/quickswap/quickswap-v3.js.map +1 -1
  606. package/build/dex/quickswap/thena-fusion.js +1 -1
  607. package/build/dex/quickswap/thena-fusion.js.map +1 -1
  608. package/build/dex/simple-exchange.js +14 -2
  609. package/build/dex/simple-exchange.js.map +1 -1
  610. package/build/dex/sky-converter/config.js +2 -2
  611. package/build/dex/sky-converter/config.js.map +1 -1
  612. package/build/dex/sky-converter/sky-converter.js +28 -11
  613. package/build/dex/sky-converter/sky-converter.js.map +1 -1
  614. package/build/dex/sky-converter/types.d.ts +2 -2
  615. package/build/dex/smoothy/smoothy.js +3 -2
  616. package/build/dex/smoothy/smoothy.js.map +1 -1
  617. package/build/dex/smoothy/types.d.ts +2 -2
  618. package/build/dex/smoothy/types.js +1 -1
  619. package/build/dex/smoothy/types.js.map +1 -1
  620. package/build/dex/solidly/config.js +10 -10
  621. package/build/dex/solidly/config.js.map +1 -1
  622. package/build/dex/solidly/forks-override/aerodrome.js +3 -1
  623. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -1
  624. package/build/dex/solidly/forks-override/chronos.js +3 -1
  625. package/build/dex/solidly/forks-override/chronos.js.map +1 -1
  626. package/build/dex/solidly/forks-override/equalizer.js +3 -1
  627. package/build/dex/solidly/forks-override/equalizer.js.map +1 -1
  628. package/build/dex/solidly/forks-override/pharaohV1.js +1 -1
  629. package/build/dex/solidly/forks-override/pharaohV1.js.map +1 -1
  630. package/build/dex/solidly/forks-override/ramses.d.ts +2 -2
  631. package/build/dex/solidly/forks-override/ramses.js +3 -1
  632. package/build/dex/solidly/forks-override/ramses.js.map +1 -1
  633. package/build/dex/solidly/forks-override/spiritSwapV2.js +4 -2
  634. package/build/dex/solidly/forks-override/spiritSwapV2.js.map +1 -1
  635. package/build/dex/solidly/forks-override/thena.js +3 -1
  636. package/build/dex/solidly/forks-override/thena.js.map +1 -1
  637. package/build/dex/solidly/forks-override/usdfi.js +1 -1
  638. package/build/dex/solidly/forks-override/usdfi.js.map +1 -1
  639. package/build/dex/solidly/forks-override/velocimeter.js +3 -1
  640. package/build/dex/solidly/forks-override/velocimeter.js.map +1 -1
  641. package/build/dex/solidly/forks-override/velodrome.js +3 -1
  642. package/build/dex/solidly/forks-override/velodrome.js.map +1 -1
  643. package/build/dex/solidly/forks-override/velodromeV2.js +3 -1
  644. package/build/dex/solidly/forks-override/velodromeV2.js.map +1 -1
  645. package/build/dex/solidly/solidly-ethereum.js +4 -2
  646. package/build/dex/solidly/solidly-ethereum.js.map +1 -1
  647. package/build/dex/solidly/solidly-stable-pool.js.map +1 -1
  648. package/build/dex/solidly/solidly.js +22 -18
  649. package/build/dex/solidly/solidly.js.map +1 -1
  650. package/build/dex/solidly/types.d.ts +3 -3
  651. package/build/dex/solidly-v3/constants.js +3 -3
  652. package/build/dex/solidly-v3/constants.js.map +1 -1
  653. package/build/dex/solidly-v3/contract-math/BitMath.js.map +1 -1
  654. package/build/dex/solidly-v3/contract-math/FixedPoint128.js +1 -1
  655. package/build/dex/solidly-v3/contract-math/FixedPoint128.js.map +1 -1
  656. package/build/dex/solidly-v3/contract-math/FixedPoint96.js +2 -2
  657. package/build/dex/solidly-v3/contract-math/FixedPoint96.js.map +1 -1
  658. package/build/dex/solidly-v3/contract-math/LiquidityMath.js.map +1 -1
  659. package/build/dex/solidly-v3/contract-math/SqrtPriceMath.js.map +1 -1
  660. package/build/dex/solidly-v3/contract-math/SwapMath.js.map +1 -1
  661. package/build/dex/solidly-v3/contract-math/Tick.js.map +1 -1
  662. package/build/dex/solidly-v3/contract-math/TickBitMap.js.map +1 -1
  663. package/build/dex/solidly-v3/contract-math/TickMath.js +4 -4
  664. package/build/dex/solidly-v3/contract-math/TickMath.js.map +1 -1
  665. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.d.ts +3 -3
  666. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js +2 -2
  667. package/build/dex/solidly-v3/contract-math/uniswap-v3-math.js.map +1 -1
  668. package/build/dex/solidly-v3/contract-math/utils.js +5 -6
  669. package/build/dex/solidly-v3/contract-math/utils.js.map +1 -1
  670. package/build/dex/solidly-v3/solidly-v3-factory.d.ts +1 -1
  671. package/build/dex/solidly-v3/solidly-v3-factory.js +6 -2
  672. package/build/dex/solidly-v3/solidly-v3-factory.js.map +1 -1
  673. package/build/dex/solidly-v3/solidly-v3-pool.js +18 -4
  674. package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
  675. package/build/dex/solidly-v3/solidly-v3.d.ts +4 -5
  676. package/build/dex/solidly-v3/solidly-v3.js +55 -34
  677. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  678. package/build/dex/solidly-v3/types.d.ts +19 -19
  679. package/build/dex/solidly-v3/types.js +1 -1
  680. package/build/dex/solidly-v3/types.js.map +1 -1
  681. package/build/dex/solidly-v3/utils.js +2 -3
  682. package/build/dex/solidly-v3/utils.js.map +1 -1
  683. package/build/dex/spark/config.js +3 -3
  684. package/build/dex/spark/config.js.map +1 -1
  685. package/build/dex/spark/constants.js +2 -2
  686. package/build/dex/spark/constants.js.map +1 -1
  687. package/build/dex/spark/scripts/validate-state.js.map +1 -1
  688. package/build/dex/spark/spark-sdai-pool.d.ts +1 -1
  689. package/build/dex/spark/spark-sdai-pool.js +6 -1
  690. package/build/dex/spark/spark-sdai-pool.js.map +1 -1
  691. package/build/dex/spark/spark.js +32 -10
  692. package/build/dex/spark/spark.js.map +1 -1
  693. package/build/dex/spark/types.d.ts +3 -3
  694. package/build/dex/spark/types.js +2 -2
  695. package/build/dex/spark/types.js.map +1 -1
  696. package/build/dex/spark/utils.js +3 -4
  697. package/build/dex/spark/utils.js.map +1 -1
  698. package/build/dex/stable-pool/stable-pool.js +3 -2
  699. package/build/dex/stable-pool/stable-pool.js.map +1 -1
  700. package/build/dex/stable-pool/types.d.ts +2 -2
  701. package/build/dex/stable-pool/types.js +1 -1
  702. package/build/dex/stable-pool/types.js.map +1 -1
  703. package/build/dex/stader/stader-pool.js +6 -2
  704. package/build/dex/stader/stader-pool.js.map +1 -1
  705. package/build/dex/stader/stader.js +32 -12
  706. package/build/dex/stader/stader.js.map +1 -1
  707. package/build/dex/stader/types.d.ts +3 -3
  708. package/build/dex/stader/types.js +1 -1
  709. package/build/dex/stader/types.js.map +1 -1
  710. package/build/dex/stader/utils.js +1 -2
  711. package/build/dex/stader/utils.js.map +1 -1
  712. package/build/dex/stkgho/stkgho-pool.js +8 -1
  713. package/build/dex/stkgho/stkgho-pool.js.map +1 -1
  714. package/build/dex/stkgho/stkgho.js +31 -15
  715. package/build/dex/stkgho/stkgho.js.map +1 -1
  716. package/build/dex/stkgho/types.d.ts +3 -3
  717. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  718. package/build/dex/swaap-v1/swaap-v1.js +10 -0
  719. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  720. package/build/dex/swaap-v2/constants.js +2 -2
  721. package/build/dex/swaap-v2/constants.js.map +1 -1
  722. package/build/dex/swaap-v2/rate-fetcher.js +9 -0
  723. package/build/dex/swaap-v2/rate-fetcher.js.map +1 -1
  724. package/build/dex/swaap-v2/stable-coins.js +9 -9
  725. package/build/dex/swaap-v2/stable-coins.js.map +1 -1
  726. package/build/dex/swaap-v2/swaap-v2.js +39 -20
  727. package/build/dex/swaap-v2/swaap-v2.js.map +1 -1
  728. package/build/dex/swaap-v2/types.d.ts +12 -12
  729. package/build/dex/swaap-v2/utils.js.map +1 -1
  730. package/build/dex/swaap-v2/validators.js +17 -7
  731. package/build/dex/swaap-v2/validators.js.map +1 -1
  732. package/build/dex/swell/config.d.ts +1 -1
  733. package/build/dex/swell/rsweth-pool.js +4 -1
  734. package/build/dex/swell/rsweth-pool.js.map +1 -1
  735. package/build/dex/swell/swell.d.ts +2 -2
  736. package/build/dex/swell/swell.js +34 -13
  737. package/build/dex/swell/swell.js.map +1 -1
  738. package/build/dex/swell/sweth-pool.js +4 -1
  739. package/build/dex/swell/sweth-pool.js.map +1 -1
  740. package/build/dex/swell/type.d.ts +2 -2
  741. package/build/dex/swell/utils.js +2 -3
  742. package/build/dex/swell/utils.js.map +1 -1
  743. package/build/dex/synthetix/config.js +18 -18
  744. package/build/dex/synthetix/config.js.map +1 -1
  745. package/build/dex/synthetix/constants.js +3 -3
  746. package/build/dex/synthetix/constants.js.map +1 -1
  747. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +1 -1
  748. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +1 -1
  749. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +1 -1
  750. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +1 -1
  751. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +1 -1
  752. package/build/dex/synthetix/contract-math/TickMath.js +4 -4
  753. package/build/dex/synthetix/contract-math/TickMath.js.map +1 -1
  754. package/build/dex/synthetix/contract-math/synthetix-math.js.map +1 -1
  755. package/build/dex/synthetix/synthetix-state.js +10 -2
  756. package/build/dex/synthetix/synthetix-state.js.map +1 -1
  757. package/build/dex/synthetix/synthetix.d.ts +1 -2
  758. package/build/dex/synthetix/synthetix.js +30 -11
  759. package/build/dex/synthetix/synthetix.js.map +1 -1
  760. package/build/dex/synthetix/types.d.ts +12 -12
  761. package/build/dex/synthetix/utils.js +2 -2
  762. package/build/dex/synthetix/utils.js.map +1 -1
  763. package/build/dex/trader-joe-v2.1/base.js +3 -0
  764. package/build/dex/trader-joe-v2.1/base.js.map +1 -1
  765. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +2 -2
  766. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
  767. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js +2 -2
  768. package/build/dex/trader-joe-v2.1/trader-joe-v2.2.js.map +1 -1
  769. package/build/dex/trader-joe-v2.1/types.d.ts +5 -5
  770. package/build/dex/trader-joe-v2.1/types.js +1 -1
  771. package/build/dex/trader-joe-v2.1/types.js.map +1 -1
  772. package/build/dex/uniswap-v2/biswap.js +4 -1
  773. package/build/dex/uniswap-v2/biswap.js.map +1 -1
  774. package/build/dex/uniswap-v2/config.js +6 -6
  775. package/build/dex/uniswap-v2/config.js.map +1 -1
  776. package/build/dex/uniswap-v2/dfyn.js +3 -1
  777. package/build/dex/uniswap-v2/dfyn.js.map +1 -1
  778. package/build/dex/uniswap-v2/excalibur.js +4 -1
  779. package/build/dex/uniswap-v2/excalibur.js.map +1 -1
  780. package/build/dex/uniswap-v2/mdex.js +4 -1
  781. package/build/dex/uniswap-v2/mdex.js.map +1 -1
  782. package/build/dex/uniswap-v2/nomiswap-v2.js +6 -3
  783. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
  784. package/build/dex/uniswap-v2/optimizer.js +1 -2
  785. package/build/dex/uniswap-v2/optimizer.js.map +1 -1
  786. package/build/dex/uniswap-v2/types.d.ts +15 -15
  787. package/build/dex/uniswap-v2/types.js +2 -2
  788. package/build/dex/uniswap-v2/types.js.map +1 -1
  789. package/build/dex/uniswap-v2/uniswap-v2-constant-product-pool.js.map +1 -1
  790. package/build/dex/uniswap-v2/uniswap-v2-factory.d.ts +2 -2
  791. package/build/dex/uniswap-v2/uniswap-v2-factory.js +6 -2
  792. package/build/dex/uniswap-v2/uniswap-v2-factory.js.map +1 -1
  793. package/build/dex/uniswap-v2/uniswap-v2.js +55 -20
  794. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  795. package/build/dex/uniswap-v3/constants.js +5 -5
  796. package/build/dex/uniswap-v3/constants.js.map +1 -1
  797. package/build/dex/uniswap-v3/contract-math/BitMath.js.map +1 -1
  798. package/build/dex/uniswap-v3/contract-math/FixedPoint128.js +1 -1
  799. package/build/dex/uniswap-v3/contract-math/FixedPoint128.js.map +1 -1
  800. package/build/dex/uniswap-v3/contract-math/FixedPoint96.js +2 -2
  801. package/build/dex/uniswap-v3/contract-math/FixedPoint96.js.map +1 -1
  802. package/build/dex/uniswap-v3/contract-math/LiquidityMath.js.map +1 -1
  803. package/build/dex/uniswap-v3/contract-math/Oracle.js.map +1 -1
  804. package/build/dex/uniswap-v3/contract-math/SqrtPriceMath.js.map +1 -1
  805. package/build/dex/uniswap-v3/contract-math/SwapMath.js.map +1 -1
  806. package/build/dex/uniswap-v3/contract-math/Tick.js.map +1 -1
  807. package/build/dex/uniswap-v3/contract-math/TickBitMap.js.map +1 -1
  808. package/build/dex/uniswap-v3/contract-math/TickMath.js +4 -4
  809. package/build/dex/uniswap-v3/contract-math/TickMath.js.map +1 -1
  810. package/build/dex/uniswap-v3/contract-math/uniswap-v3-math.d.ts +3 -3
  811. package/build/dex/uniswap-v3/contract-math/uniswap-v3-math.js +2 -2
  812. package/build/dex/uniswap-v3/contract-math/uniswap-v3-math.js.map +1 -1
  813. package/build/dex/uniswap-v3/contract-math/utils.js +5 -6
  814. package/build/dex/uniswap-v3/contract-math/utils.js.map +1 -1
  815. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js +8 -1
  816. package/build/dex/uniswap-v3/forks/ramses-v2/ramses-v2-pool.js.map +1 -1
  817. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js +1 -2
  818. package/build/dex/uniswap-v3/forks/ramses-v2/utils.js.map +1 -1
  819. package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js +1 -2
  820. package/build/dex/uniswap-v3/forks/velodrome-slipstream/utils.js.map +1 -1
  821. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.js +1 -4
  822. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-factory.js.map +1 -1
  823. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js +3 -6
  824. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream-pool.js.map +1 -1
  825. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.d.ts +1 -1
  826. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js +13 -6
  827. package/build/dex/uniswap-v3/forks/velodrome-slipstream/velodrome-slipstream.js.map +1 -1
  828. package/build/dex/uniswap-v3/scripts/measure-calc-time.js +17 -7
  829. package/build/dex/uniswap-v3/scripts/measure-calc-time.js.map +1 -1
  830. package/build/dex/uniswap-v3/types.d.ts +22 -22
  831. package/build/dex/uniswap-v3/types.js +1 -1
  832. package/build/dex/uniswap-v3/types.js.map +1 -1
  833. package/build/dex/uniswap-v3/uniswap-v3-factory.d.ts +1 -1
  834. package/build/dex/uniswap-v3/uniswap-v3-factory.js +6 -2
  835. package/build/dex/uniswap-v3/uniswap-v3-factory.js.map +1 -1
  836. package/build/dex/uniswap-v3/uniswap-v3-pool.js +18 -4
  837. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  838. package/build/dex/uniswap-v3/uniswap-v3.d.ts +5 -6
  839. package/build/dex/uniswap-v3/uniswap-v3.js +49 -26
  840. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  841. package/build/dex/uniswap-v3/utils.js +2 -3
  842. package/build/dex/uniswap-v3/utils.js.map +1 -1
  843. package/build/dex/uniswap-v3.d.ts +4 -4
  844. package/build/dex/uniswap-v3.js +4 -2
  845. package/build/dex/uniswap-v3.js.map +1 -1
  846. package/build/dex/usual-bond/types.d.ts +3 -3
  847. package/build/dex/usual-bond/usual-bond.js +27 -11
  848. package/build/dex/usual-bond/usual-bond.js.map +1 -1
  849. package/build/dex/weth/types.d.ts +4 -4
  850. package/build/dex/weth/types.js +1 -1
  851. package/build/dex/weth/types.js.map +1 -1
  852. package/build/dex/weth/weth.js +28 -11
  853. package/build/dex/weth/weth.js.map +1 -1
  854. package/build/dex/wombat/types.d.ts +7 -7
  855. package/build/dex/wombat/utils.js +7 -7
  856. package/build/dex/wombat/utils.js.map +1 -1
  857. package/build/dex/wombat/wombat-bmw.js +10 -4
  858. package/build/dex/wombat/wombat-bmw.js.map +1 -1
  859. package/build/dex/wombat/wombat-pool.js +21 -17
  860. package/build/dex/wombat/wombat-pool.js.map +1 -1
  861. package/build/dex/wombat/wombat-quoter.js +4 -0
  862. package/build/dex/wombat/wombat-quoter.js.map +1 -1
  863. package/build/dex/wombat/wombat.js +42 -23
  864. package/build/dex/wombat/wombat.js.map +1 -1
  865. package/build/dex/woo-fi-v2/constants.js +3 -3
  866. package/build/dex/woo-fi-v2/constants.js.map +1 -1
  867. package/build/dex/woo-fi-v2/decoders.js +3 -4
  868. package/build/dex/woo-fi-v2/decoders.js.map +1 -1
  869. package/build/dex/woo-fi-v2/types.d.ts +9 -9
  870. package/build/dex/woo-fi-v2/woo-fi-v2-math.js +3 -1
  871. package/build/dex/woo-fi-v2/woo-fi-v2-math.js.map +1 -1
  872. package/build/dex/woo-fi-v2/woo-fi-v2-pool.js +2 -0
  873. package/build/dex/woo-fi-v2/woo-fi-v2-pool.js.map +1 -1
  874. package/build/dex/woo-fi-v2/woo-fi-v2.js +37 -13
  875. package/build/dex/woo-fi-v2/woo-fi-v2.js.map +1 -1
  876. package/build/dex/wsteth/types.d.ts +3 -3
  877. package/build/dex/wsteth/wsteth.js +37 -21
  878. package/build/dex/wsteth/wsteth.js.map +1 -1
  879. package/build/dex/wusdm/config.js +1 -1
  880. package/build/dex/wusdm/config.js.map +1 -1
  881. package/build/dex/wusdm/types.d.ts +3 -3
  882. package/build/dex/wusdm/types.js +1 -1
  883. package/build/dex/wusdm/types.js.map +1 -1
  884. package/build/dex/wusdm/wusdm-pool.js +6 -0
  885. package/build/dex/wusdm/wusdm-pool.js.map +1 -1
  886. package/build/dex/wusdm/wusdm.js +29 -11
  887. package/build/dex/wusdm/wusdm.js.map +1 -1
  888. package/build/dex/zerox/index.d.ts +4 -26
  889. package/build/dex/zerox/index.js +50 -42
  890. package/build/dex/zerox/index.js.map +1 -1
  891. package/build/dex/zerox/types.d.ts +29 -0
  892. package/build/dex/zerox/types.js +8 -1
  893. package/build/dex/zerox/types.js.map +1 -1
  894. package/build/dex-helper/dummy-dex-helper.js +17 -5
  895. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  896. package/build/dex-helper/dummy-limit-order-provider.js +3 -5
  897. package/build/dex-helper/dummy-limit-order-provider.js.map +1 -1
  898. package/build/dex-helper/irequest-wrapper.d.ts +2 -2
  899. package/build/executor/Executor01BytecodeBuilder.d.ts +2 -2
  900. package/build/executor/Executor01BytecodeBuilder.js +8 -16
  901. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  902. package/build/executor/Executor02BytecodeBuilder.d.ts +2 -2
  903. package/build/executor/Executor02BytecodeBuilder.js +22 -30
  904. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  905. package/build/executor/Executor03BytecodeBuilder.d.ts +2 -2
  906. package/build/executor/Executor03BytecodeBuilder.js +14 -22
  907. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  908. package/build/executor/ExecutorBytecodeBuilder.d.ts +2 -2
  909. package/build/executor/ExecutorBytecodeBuilder.js +19 -16
  910. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  911. package/build/executor/ExecutorDetector.js +19 -14
  912. package/build/executor/ExecutorDetector.js.map +1 -1
  913. package/build/executor/WETHBytecodeBuilder.js +1 -4
  914. package/build/executor/WETHBytecodeBuilder.js.map +1 -1
  915. package/build/executor/constants.js +16 -16
  916. package/build/executor/constants.js.map +1 -1
  917. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +16 -0
  918. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +16 -0
  919. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +16 -0
  920. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +16 -0
  921. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +16 -0
  922. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +16 -0
  923. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +16 -0
  924. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +16 -0
  925. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +9 -0
  926. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +9 -0
  927. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +9 -0
  928. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +9 -0
  929. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +9 -0
  930. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +9 -0
  931. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +9 -0
  932. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +9 -0
  933. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +9 -0
  934. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +12 -0
  935. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +7 -0
  936. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +7 -0
  937. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +7 -0
  938. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +7 -0
  939. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +12 -0
  940. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +7 -0
  941. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +7 -0
  942. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +78 -0
  943. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +81 -0
  944. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +78 -0
  945. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +78 -0
  946. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +81 -0
  947. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +81 -0
  948. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +81 -0
  949. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +81 -0
  950. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +64 -0
  951. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +85 -0
  952. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +64 -0
  953. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +52 -0
  954. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +52 -0
  955. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +52 -0
  956. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +55 -0
  957. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +55 -0
  958. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +55 -0
  959. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +23 -0
  960. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +37 -0
  961. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +23 -0
  962. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +23 -0
  963. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +51 -0
  964. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +58 -0
  965. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +23 -0
  966. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +23 -0
  967. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +9 -0
  968. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +16 -0
  969. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +23 -0
  970. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +12 -0
  971. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +7 -0
  972. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +12 -0
  973. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +12 -0
  974. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +7 -0
  975. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +7 -0
  976. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +7 -0
  977. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +7 -0
  978. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +7 -0
  979. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +7 -0
  980. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +130 -0
  981. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +136 -0
  982. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +100 -0
  983. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +100 -0
  984. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +166 -0
  985. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +190 -0
  986. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +114 -0
  987. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +114 -0
  988. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +55 -0
  989. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +73 -0
  990. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +82 -0
  991. package/build/executor/types.d.ts +20 -20
  992. package/build/executor/types.js +4 -4
  993. package/build/executor/types.js.map +1 -1
  994. package/build/executor/utils.js.map +1 -1
  995. package/build/generic-swap-transaction-builder.js +7 -0
  996. package/build/generic-swap-transaction-builder.js.map +1 -1
  997. package/build/implementations/local-paraswap-sdk.js +24 -7
  998. package/build/implementations/local-paraswap-sdk.js.map +1 -1
  999. package/build/lens.d.ts +2 -2
  1000. package/build/lib/api3-feed.d.ts +1 -1
  1001. package/build/lib/api3-feed.js +6 -4
  1002. package/build/lib/api3-feed.js.map +1 -1
  1003. package/build/lib/benqi/staked-avax.d.ts +1 -1
  1004. package/build/lib/benqi/staked-avax.js +2 -1
  1005. package/build/lib/benqi/staked-avax.js.map +1 -1
  1006. package/build/lib/chainlink.d.ts +1 -1
  1007. package/build/lib/chainlink.js +4 -2
  1008. package/build/lib/chainlink.js.map +1 -1
  1009. package/build/lib/decoders.js +2 -2
  1010. package/build/lib/decoders.js.map +1 -1
  1011. package/build/lib/fetcher/fetcher.d.ts +2 -2
  1012. package/build/lib/fetcher/fetcher.js +8 -3
  1013. package/build/lib/fetcher/fetcher.js.map +1 -1
  1014. package/build/lib/fetcher/wsFetcher.d.ts +2 -2
  1015. package/build/lib/fetcher/wsFetcher.js +11 -4
  1016. package/build/lib/fetcher/wsFetcher.js.map +1 -1
  1017. package/build/lib/generics-events-subscribers/erc20-event-subscriber-factory.js.map +1 -1
  1018. package/build/lib/generics-events-subscribers/erc20-event-subscriber.js +4 -2
  1019. package/build/lib/generics-events-subscribers/erc20-event-subscriber.js.map +1 -1
  1020. package/build/lib/generics-events-subscribers/types.d.ts +6 -6
  1021. package/build/lib/generics-events-subscribers/types.js +2 -2
  1022. package/build/lib/generics-events-subscribers/types.js.map +1 -1
  1023. package/build/lib/log-messages-suppressor.d.ts +4 -4
  1024. package/build/lib/log-messages-suppressor.js +8 -5
  1025. package/build/lib/log-messages-suppressor.js.map +1 -1
  1026. package/build/lib/log4js.d.ts +1 -1
  1027. package/build/lib/log4js.js +18 -8
  1028. package/build/lib/log4js.js.map +1 -1
  1029. package/build/lib/multi-wrapper.d.ts +2 -2
  1030. package/build/lib/multi-wrapper.js +3 -0
  1031. package/build/lib/multi-wrapper.js.map +1 -1
  1032. package/build/lib/promise-scheduler.js +4 -1
  1033. package/build/lib/promise-scheduler.js.map +1 -1
  1034. package/build/lib/stateful-rpc-poller/state-polling-manager.js +19 -17
  1035. package/build/lib/stateful-rpc-poller/state-polling-manager.js.map +1 -1
  1036. package/build/lib/stateful-rpc-poller/stateful-rpc-poller.js +64 -43
  1037. package/build/lib/stateful-rpc-poller/stateful-rpc-poller.js.map +1 -1
  1038. package/build/lib/stateful-rpc-poller/types.d.ts +2 -2
  1039. package/build/lib/stateful-rpc-poller/types.js +1 -1
  1040. package/build/lib/stateful-rpc-poller/types.js.map +1 -1
  1041. package/build/lib/stateful-rpc-poller/utils.js +2 -3
  1042. package/build/lib/stateful-rpc-poller/utils.js.map +1 -1
  1043. package/build/lib/task-scheduler.js +7 -1
  1044. package/build/lib/task-scheduler.js.map +1 -1
  1045. package/build/lib/token-transfer-fee.js.map +1 -1
  1046. package/build/lib/tokens/balancer-fetcher.d.ts +5 -5
  1047. package/build/lib/tokens/balancer-fetcher.js +1 -1
  1048. package/build/lib/tokens/balancer-fetcher.js.map +1 -1
  1049. package/build/lib/tokens/types.d.ts +11 -11
  1050. package/build/lib/tokens/types.js +5 -5
  1051. package/build/lib/tokens/types.js.map +1 -1
  1052. package/build/lib/tokens/utils.js +2 -2
  1053. package/build/lib/tokens/utils.js.map +1 -1
  1054. package/build/lib/validators.d.ts +1 -1
  1055. package/build/lib/validators.js +2 -0
  1056. package/build/lib/validators.js.map +1 -1
  1057. package/build/pools-helper.js +2 -0
  1058. package/build/pools-helper.js.map +1 -1
  1059. package/build/pricing-helper.js +3 -0
  1060. package/build/pricing-helper.js.map +1 -1
  1061. package/build/router/buy.d.ts +1 -1
  1062. package/build/router/buy.js +3 -1
  1063. package/build/router/buy.js.map +1 -1
  1064. package/build/router/directswap.js +5 -4
  1065. package/build/router/directswap.js.map +1 -1
  1066. package/build/router/index.js +11 -8
  1067. package/build/router/index.js.map +1 -1
  1068. package/build/router/megaswap.d.ts +1 -1
  1069. package/build/router/megaswap.js +3 -1
  1070. package/build/router/megaswap.js.map +1 -1
  1071. package/build/router/multiswap.d.ts +1 -1
  1072. package/build/router/multiswap.js +3 -1
  1073. package/build/router/multiswap.js.map +1 -1
  1074. package/build/router/payload-encoder.js +5 -4
  1075. package/build/router/payload-encoder.js.map +1 -1
  1076. package/build/router/simpleswap.d.ts +2 -2
  1077. package/build/router/simpleswap.js +7 -2
  1078. package/build/router/simpleswap.js.map +1 -1
  1079. package/build/router/simpleswapnft.d.ts +1 -1
  1080. package/build/router/simpleswapnft.js +1 -1
  1081. package/build/router/simpleswapnft.js.map +1 -1
  1082. package/build/stateful-event-subscriber.d.ts +1 -1
  1083. package/build/stateful-event-subscriber.js +20 -13
  1084. package/build/stateful-event-subscriber.js.map +1 -1
  1085. package/build/transaction-builder.js +3 -0
  1086. package/build/transaction-builder.js.map +1 -1
  1087. package/build/types.d.ts +38 -39
  1088. package/build/utils.d.ts +7 -7
  1089. package/build/utils.js +11 -11
  1090. package/build/utils.js.map +1 -1
  1091. package/package.json +7 -7
  1092. package/src/dex/algebra/lib/AlgebraMath.ts +3 -3
  1093. package/src/dex/angle-transmuter/angle-transmuter-pool.ts +1 -1
  1094. package/src/dex/balancer-v2/balancer-v2.ts +1 -1
  1095. package/src/dex/bebop/bebop.ts +1 -1
  1096. package/src/dex/dexalot/dexalot.ts +50 -2
  1097. package/src/dex/index.ts +0 -2
  1098. package/src/dex/synthetix/synthetix.ts +1 -1
  1099. package/src/executor/Executor01BytecodeBuilder.ts +11 -15
  1100. package/src/executor/Executor02BytecodeBuilder.ts +9 -13
  1101. package/src/executor/Executor03BytecodeBuilder.ts +9 -16
  1102. package/src/types.ts +0 -1
  1103. package/tests/constants-e2e.ts +2 -2
  1104. package/tsconfig.json +2 -2
  1105. package/.idea/aws.xml +0 -17
  1106. package/.idea/codeStyles/Project.xml +0 -19
  1107. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  1108. package/.idea/misc.xml +0 -6
  1109. package/.idea/modules.xml +0 -8
  1110. package/.idea/paraswap-dex-lib.iml +0 -9
  1111. package/.idea/prettier.xml +0 -7
  1112. package/.idea/vcs.xml +0 -6
  1113. package/build/abi/integral/factory.json +0 -333
  1114. package/build/dex/bProtocol.d.ts +0 -18
  1115. package/build/dex/bProtocol.js +0 -39
  1116. package/build/dex/bProtocol.js.map +0 -1
  1117. package/build/dex/bancor.d.ts +0 -26
  1118. package/build/dex/bancor.js +0 -58
  1119. package/build/dex/bancor.js.map +0 -1
  1120. package/build/dex/compound.d.ts +0 -18
  1121. package/build/dex/compound.js +0 -46
  1122. package/build/dex/compound.js.map +0 -1
  1123. package/build/dex/curve-v2.d.ts +0 -58
  1124. package/build/dex/curve-v2.js +0 -180
  1125. package/build/dex/curve-v2.js.map +0 -1
  1126. package/build/dex/dodo-v1.d.ts +0 -33
  1127. package/build/dex/dodo-v1.js +0 -63
  1128. package/build/dex/dodo-v1.js.map +0 -1
  1129. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  1130. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  1131. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  1132. package/build/dex/fluid-dex/fluid-dex-pool.d.ts +0 -47
  1133. package/build/dex/fluid-dex/fluid-dex-pool.js +0 -119
  1134. package/build/dex/fluid-dex/fluid-dex-pool.js.map +0 -1
  1135. package/build/dex/integral/config.d.ts +0 -4
  1136. package/build/dex/integral/config.js +0 -20
  1137. package/build/dex/integral/config.js.map +0 -1
  1138. package/build/dex/integral/context.d.ts +0 -40
  1139. package/build/dex/integral/context.js +0 -158
  1140. package/build/dex/integral/context.js.map +0 -1
  1141. package/build/dex/integral/integral-factory.d.ts +0 -24
  1142. package/build/dex/integral/integral-factory.js +0 -95
  1143. package/build/dex/integral/integral-factory.js.map +0 -1
  1144. package/build/dex/integral/integral-pool.d.ts +0 -50
  1145. package/build/dex/integral/integral-pool.js +0 -149
  1146. package/build/dex/integral/integral-pool.js.map +0 -1
  1147. package/build/dex/integral/integral-pricing.d.ts +0 -18
  1148. package/build/dex/integral/integral-pricing.js +0 -114
  1149. package/build/dex/integral/integral-pricing.js.map +0 -1
  1150. package/build/dex/integral/integral-relayer.d.ts +0 -42
  1151. package/build/dex/integral/integral-relayer.js +0 -192
  1152. package/build/dex/integral/integral-relayer.js.map +0 -1
  1153. package/build/dex/integral/integral-token.d.ts +0 -27
  1154. package/build/dex/integral/integral-token.js +0 -59
  1155. package/build/dex/integral/integral-token.js.map +0 -1
  1156. package/build/dex/integral/integral.js +0 -376
  1157. package/build/dex/integral/integral.js.map +0 -1
  1158. package/build/dex/integral/types.d.ts +0 -85
  1159. package/build/dex/integral/types.js +0 -9
  1160. package/build/dex/integral/types.js.map +0 -1
  1161. package/build/dex/integral/utils-e2e.d.ts +0 -9
  1162. package/build/dex/integral/utils-e2e.js +0 -131
  1163. package/build/dex/integral/utils-e2e.js.map +0 -1
  1164. package/build/dex/integral/utils.d.ts +0 -17
  1165. package/build/dex/integral/utils.js +0 -94
  1166. package/build/dex/integral/utils.js.map +0 -1
  1167. package/build/dex/lido.d.ts +0 -19
  1168. package/build/dex/lido.js +0 -42
  1169. package/build/dex/lido.js.map +0 -1
  1170. package/build/dex/onebit.d.ts +0 -25
  1171. package/build/dex/onebit.js +0 -42
  1172. package/build/dex/onebit.js.map +0 -1
  1173. package/build/dex/smoothy.d.ts +0 -26
  1174. package/build/dex/smoothy.js +0 -48
  1175. package/build/dex/smoothy.js.map +0 -1
  1176. package/build/dex/stable-pool.d.ts +0 -28
  1177. package/build/dex/stable-pool.js +0 -62
  1178. package/build/dex/stable-pool.js.map +0 -1
  1179. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  1180. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  1181. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  1182. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +0 -7
  1183. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +0 -20
  1184. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +0 -1
  1185. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  1186. package/build/dex/trader-joe-v2.1.js +0 -79
  1187. package/build/dex/trader-joe-v2.1.js.map +0 -1
  1188. package/src/abi/cables/CablesMainnetRFQ.json +0 -1083
  1189. package/src/dex/cables/cables-e2e.test.ts +0 -207
  1190. package/src/dex/cables/cables-integration.test.ts +0 -319
  1191. package/src/dex/cables/cables.ts +0 -938
  1192. package/src/dex/cables/config.ts +0 -13
  1193. package/src/dex/cables/constants.ts +0 -35
  1194. package/src/dex/cables/rate-fetcher.ts +0 -219
  1195. package/src/dex/cables/types.ts +0 -130
  1196. package/src/dex/cables/validators.test.ts +0 -151
  1197. package/src/dex/cables/validators.ts +0 -61
@@ -1,938 +0,0 @@
1
- import {
2
- Address,
3
- NumberAsString,
4
- OptimalSwapExchange,
5
- SwapSide,
6
- } from '@paraswap/core';
7
- import { assert, AsyncOrSync } from 'ts-essentials';
8
- import * as CALLDATA_GAS_COST from '../../calldata-gas-cost';
9
- import { ETHER_ADDRESS, Network, NULL_ADDRESS } from '../../constants';
10
- import { IDexHelper } from '../../dex-helper';
11
- import {
12
- AdapterExchangeParam,
13
- DexExchangeParam,
14
- ExchangePrices,
15
- ExchangeTxInfo,
16
- Logger,
17
- PoolLiquidity,
18
- PoolPrices,
19
- PreprocessTransactionOptions,
20
- Token,
21
- TransferFeeParams,
22
- } from '../../types';
23
- import { getDexKeysWithNetwork, Utils } from '../../utils';
24
- import { IDex } from '../idex';
25
- import { SimpleExchange } from '../simple-exchange';
26
- import { CablesConfig } from './config';
27
- import {
28
- CABLES_API_BLACKLIST_POLLING_INTERVAL_MS,
29
- CABLES_API_PAIRS_POLLING_INTERVAL_MS,
30
- CABLES_API_PRICES_POLLING_INTERVAL_MS,
31
- CABLES_API_TOKENS_POLLING_INTERVAL_MS,
32
- CABLES_API_URL,
33
- CABLES_BLACKLIST_CACHE_KEY,
34
- CABLES_BLACKLIST_CACHES_TTL_S,
35
- CABLES_ERRORS_CACHE_KEY,
36
- CABLES_FIRM_QUOTE_TIMEOUT_MS,
37
- CABLES_GAS_COST,
38
- CABLES_PAIRS_CACHES_TTL_S,
39
- CABLES_PRICES_CACHES_TTL_S,
40
- CABLES_RESTRICT_CHECK_INTERVAL_MS,
41
- CABLES_RESTRICT_COUNT_THRESHOLD,
42
- CABLES_RESTRICT_TTL_S,
43
- CABLES_RESTRICTED_CACHE_KEY,
44
- CABLES_TOKENS_CACHES_TTL_S,
45
- } from './constants';
46
- import { CablesRateFetcher } from './rate-fetcher';
47
- import {
48
- CablesData,
49
- CablesRFQResponse,
50
- RestrictData,
51
- SlippageError,
52
- } from './types';
53
- import mainnetRFQAbi from '../../abi/cables/CablesMainnetRFQ.json';
54
- import { Interface } from 'ethers/lib/utils';
55
- import BigNumber from 'bignumber.js';
56
- import { ethers } from 'ethers';
57
- import { BI_MAX_UINT256 } from '../../bigint-constants';
58
- import { SpecialDex } from '../../executor/types';
59
-
60
- export class Cables extends SimpleExchange implements IDex<any> {
61
- public static dexKeysWithNetwork: { key: string; networks: Network[] }[] =
62
- getDexKeysWithNetwork(CablesConfig);
63
-
64
- readonly isStatePollingDex = true;
65
-
66
- private rateFetcher: CablesRateFetcher;
67
-
68
- logger: Logger;
69
- private tokensMap: { [address: string]: Token } = {};
70
-
71
- hasConstantPriceLargeAmounts: boolean = false;
72
-
73
- constructor(
74
- readonly network: Network,
75
- readonly dexKey: string,
76
- readonly dexHelper: IDexHelper,
77
- readonly mainnetRFQAddress: string = CablesConfig['Cables'][network]
78
- .mainnetRFQAddress,
79
- protected rfqInterface = new Interface(mainnetRFQAbi),
80
- ) {
81
- super(dexHelper, dexKey);
82
- this.logger = dexHelper.getLogger(dexKey);
83
-
84
- this.rateFetcher = new CablesRateFetcher(
85
- this.dexHelper,
86
- this.dexKey,
87
- this.network,
88
- this.logger,
89
- {
90
- rateConfig: {
91
- pairsReqParams: {
92
- url: CABLES_API_URL + '/pairs',
93
- },
94
- pricesReqParams: {
95
- url: CABLES_API_URL + '/prices',
96
- },
97
- blacklistReqParams: {
98
- url: CABLES_API_URL + '/blacklist',
99
- },
100
- tokensReqParams: {
101
- url: CABLES_API_URL + '/tokens',
102
- },
103
-
104
- pricesIntervalMs: CABLES_API_PRICES_POLLING_INTERVAL_MS,
105
- pricesCacheTTLSecs: CABLES_PRICES_CACHES_TTL_S,
106
- pricesCacheKey: 'cablesPricesCacheKey',
107
-
108
- pairsIntervalMs: CABLES_API_PAIRS_POLLING_INTERVAL_MS,
109
- pairsCacheTTLSecs: CABLES_PAIRS_CACHES_TTL_S,
110
- pairsCacheKey: 'cablesPairsCacheKey',
111
-
112
- tokensIntervalMs: CABLES_API_TOKENS_POLLING_INTERVAL_MS,
113
- tokensCacheTTLSecs: CABLES_TOKENS_CACHES_TTL_S,
114
- tokensCacheKey: 'cablesTokensCacheKey',
115
-
116
- blacklistIntervalMs: CABLES_API_BLACKLIST_POLLING_INTERVAL_MS,
117
- blacklistCacheTTLSecs: CABLES_BLACKLIST_CACHES_TTL_S,
118
- blacklistCacheKey: CABLES_BLACKLIST_CACHE_KEY,
119
-
120
- tokensHandleResponseCallback: async () => {
121
- await this.setTokensMap();
122
- },
123
- },
124
- },
125
- );
126
- }
127
-
128
- async preProcessTransaction?(
129
- optimalSwapExchange: OptimalSwapExchange<CablesData>,
130
- srcToken: Token,
131
- destToken: Token,
132
- side: SwapSide,
133
- options: PreprocessTransactionOptions,
134
- ): Promise<[OptimalSwapExchange<CablesData>, ExchangeTxInfo]> {
135
- if (await this.isBlacklisted(options.txOrigin)) {
136
- this.logger.warn(
137
- `${this.dexKey}-${this.network}: blacklisted TX Origin address '${options.txOrigin}' trying to build a transaction. Bailing...`,
138
- );
139
- throw new Error(
140
- `${this.dexKey}-${
141
- this.network
142
- }: user=${options.txOrigin.toLowerCase()} is blacklisted`,
143
- );
144
- }
145
-
146
- if (BigInt(optimalSwapExchange.srcAmount) === 0n) {
147
- throw new Error('getFirmRate failed with srcAmount === 0');
148
- }
149
-
150
- const normalizedSrcToken = this.normalizeToken(srcToken);
151
- const normalizedDestToken = this.normalizeToken(destToken);
152
- const swapIdentifier = `${this.dexKey}_${normalizedSrcToken.address}_${normalizedDestToken.address}_${side}`;
153
-
154
- try {
155
- let makerToken = normalizedDestToken;
156
- let takerToken = normalizedSrcToken;
157
-
158
- const isSell = side === SwapSide.SELL;
159
- const isBuy = side === SwapSide.BUY;
160
-
161
- const rfqParams = {
162
- makerAsset: ethers.utils.getAddress(makerToken.address),
163
- takerAsset: ethers.utils.getAddress(takerToken.address),
164
- ...(isBuy && { makerAmount: optimalSwapExchange.destAmount }),
165
- ...(isSell && { takerAmount: optimalSwapExchange.srcAmount }),
166
- userAddress: options.executionContractAddress,
167
- chainId: String(this.network),
168
- };
169
-
170
- const rfq: CablesRFQResponse = await this.dexHelper.httpRequest.post(
171
- `${CABLES_API_URL}/quote`,
172
- rfqParams,
173
- CABLES_FIRM_QUOTE_TIMEOUT_MS,
174
- );
175
-
176
- if (!rfq) {
177
- throw new Error(
178
- 'Failed to fetch RFQ' +
179
- swapIdentifier +
180
- JSON.stringify(rfq + 'params' + rfqParams),
181
- );
182
- }
183
-
184
- const { order } = rfq;
185
-
186
- assert(
187
- order.makerAsset.toLowerCase() === makerToken.address,
188
- `QuoteData makerAsset=${order.makerAsset} is different from Paraswap makerAsset=${makerToken.address}`,
189
- );
190
- assert(
191
- order.takerAsset.toLowerCase() === takerToken.address,
192
- `QuoteData takerAsset=${order.takerAsset} is different from Paraswap takerAsset=${takerToken.address}`,
193
- );
194
- if (isSell) {
195
- assert(
196
- order.takerAmount === optimalSwapExchange.srcAmount,
197
- `QuoteData takerAmount=${order.takerAmount} is different from Paraswap srcAmount=${optimalSwapExchange.srcAmount}`,
198
- );
199
- } else {
200
- assert(
201
- order.makerAmount === optimalSwapExchange.destAmount,
202
- `QuoteData makerAmount=${order.makerAmount} is different from Paraswap destAmount=${optimalSwapExchange.destAmount}`,
203
- );
204
- }
205
-
206
- const expiryAsBigInt = BigInt(order.expiry);
207
- const minDeadline = expiryAsBigInt > 0 ? expiryAsBigInt : BI_MAX_UINT256;
208
-
209
- if (side === SwapSide.BUY) {
210
- const requiredAmount = BigInt(optimalSwapExchange.srcAmount);
211
- const quoteAmount = BigInt(order.takerAmount);
212
- const requiredAmountWithSlippage = new BigNumber(
213
- requiredAmount.toString(),
214
- )
215
- .multipliedBy(options.slippageFactor)
216
- .toFixed(0);
217
- if (quoteAmount > BigInt(requiredAmountWithSlippage)) {
218
- throw new SlippageError(
219
- `Slipped, factor: ${quoteAmount.toString()} > ${requiredAmountWithSlippage}`,
220
- );
221
- }
222
- } else {
223
- const requiredAmount = BigInt(optimalSwapExchange.destAmount);
224
- const quoteAmount = BigInt(order.makerAmount);
225
- const requiredAmountWithSlippage = new BigNumber(
226
- requiredAmount.toString(),
227
- )
228
- .multipliedBy(options.slippageFactor)
229
- .toFixed(0);
230
- if (quoteAmount < BigInt(requiredAmountWithSlippage)) {
231
- throw new SlippageError(
232
- `Slipped, factor: ${
233
- options.slippageFactor
234
- } ${quoteAmount.toString()} < ${requiredAmountWithSlippage}`,
235
- );
236
- }
237
- }
238
-
239
- return [
240
- {
241
- ...optimalSwapExchange,
242
- data: {
243
- quoteData: order,
244
- },
245
- },
246
- { deadline: minDeadline },
247
- ];
248
- } catch (e: any) {
249
- const message = `${this.dexKey}-${this.network}: ${e}`;
250
- this.logger.error(message);
251
- if (!e?.isSlippageError) {
252
- this.restrict();
253
- }
254
- throw new Error(message);
255
- }
256
- }
257
-
258
- getDexParam(
259
- srcToken: Address,
260
- destToken: Address,
261
- srcAmount: NumberAsString,
262
- destAmount: NumberAsString,
263
- recipient: Address,
264
- data: CablesData,
265
- side: SwapSide,
266
- ): DexExchangeParam {
267
- const { quoteData } = data;
268
-
269
- assert(
270
- quoteData !== undefined,
271
- `${this.dexKey}-${this.network}: quoteData undefined`,
272
- );
273
-
274
- const swapFunction = 'partialSwap';
275
- const swapFunctionParams = [
276
- [
277
- quoteData.nonceAndMeta,
278
- quoteData.expiry,
279
- quoteData.makerAsset,
280
- quoteData.takerAsset,
281
- quoteData.maker,
282
- quoteData.taker,
283
- quoteData.makerAmount,
284
- quoteData.takerAmount,
285
- ],
286
- quoteData.signature,
287
- // might be overwritten on Executors
288
- quoteData.takerAmount,
289
- ];
290
-
291
- const exchangeData = this.rfqInterface.encodeFunctionData(
292
- swapFunction,
293
- swapFunctionParams,
294
- );
295
-
296
- const fromAmount = ethers.utils.defaultAbiCoder.encode(
297
- ['uint256'],
298
- [quoteData.takerAmount],
299
- );
300
-
301
- const filledAmountIndex = exchangeData
302
- .replace('0x', '')
303
- .lastIndexOf(fromAmount.replace('0x', ''));
304
-
305
- const filledAmountPos =
306
- (filledAmountIndex !== -1 ? filledAmountIndex : exchangeData.length) / 2;
307
-
308
- return {
309
- exchangeData,
310
- needWrapNative: this.needWrapNative,
311
- dexFuncHasRecipient: false,
312
- targetExchange: this.mainnetRFQAddress,
313
- returnAmountPos: undefined,
314
- insertFromAmountPos: filledAmountPos,
315
- };
316
- }
317
-
318
- getAdapterParam(
319
- srcToken: string,
320
- destToken: string,
321
- srcAmount: string,
322
- destAmount: string,
323
- data: CablesData,
324
- side: SwapSide,
325
- ): AdapterExchangeParam {
326
- const { quoteData } = data;
327
-
328
- assert(
329
- quoteData !== undefined,
330
- `${this.dexKey}-${this.network}: quoteData undefined`,
331
- );
332
-
333
- const params = [
334
- {
335
- nonceAndMeta: quoteData.nonceAndMeta,
336
- expiry: quoteData.expiry,
337
- makerAsset: quoteData.makerAsset,
338
- takerAsset: quoteData.takerAsset,
339
- maker: quoteData.maker,
340
- taker: quoteData.taker,
341
- makerAmount: quoteData.makerAmount,
342
- takerAmount: quoteData.takerAmount,
343
- },
344
- quoteData.signature,
345
- ];
346
-
347
- const payload = this.abiCoder.encodeParameter(
348
- {
349
- ParentStruct: {
350
- order: {
351
- nonceAndMeta: 'uint256',
352
- expiry: 'uint128',
353
- makerAsset: 'address',
354
- takerAsset: 'address',
355
- maker: 'address',
356
- taker: 'address',
357
- makerAmount: 'uint256',
358
- takerAmount: 'uint256',
359
- },
360
- signature: 'bytes',
361
- },
362
- },
363
- {
364
- order: params[0],
365
- signature: params[1],
366
- },
367
- );
368
-
369
- return {
370
- targetExchange: this.mainnetRFQAddress,
371
- payload,
372
- networkFee: '0',
373
- };
374
- }
375
-
376
- normalizeToken(token: Token): Token {
377
- return {
378
- ...token,
379
- address: this.normalizeTokenAddress(token.address),
380
- };
381
- }
382
-
383
- normalizeTokenAddress(address: Address): Address {
384
- return address.toLowerCase();
385
- }
386
-
387
- getTokenFromAddress(address: Address): Token {
388
- return this.tokensMap[this.normalizeAddress(address)];
389
- }
390
-
391
- getPoolIdentifier(srcAddress: Address, destAddress: Address, mm?: string) {
392
- return `${this.dexKey}_${srcAddress}_${destAddress}`.toLowerCase();
393
- return `${this.dexKey}_${srcAddress}_${destAddress}_${mm}`.toLowerCase();
394
- }
395
-
396
- async getPoolIdentifiers(
397
- srcToken: Token,
398
- destToken: Token,
399
- side: SwapSide,
400
- blockNumber: number,
401
- ): Promise<string[]> {
402
- if (!srcToken || !destToken) {
403
- return [];
404
- }
405
-
406
- if (srcToken.address.toLowerCase() === destToken.address.toLowerCase()) {
407
- return [];
408
- }
409
-
410
- const pairData = await this.getPairData(srcToken, destToken);
411
-
412
- if (!pairData) {
413
- return [];
414
- }
415
-
416
- const tokensAddr = (await this.getCachedTokensAddr()) || {};
417
-
418
- return [
419
- this.getPoolIdentifier(
420
- tokensAddr[pairData.base.toLowerCase()],
421
- tokensAddr[pairData.quote.toLowerCase()],
422
- ),
423
- ];
424
- }
425
-
426
- calculateOrderPrice(
427
- amounts: bigint[],
428
- orderbook: string[][],
429
- baseToken: Token,
430
- quoteToken: Token,
431
- isInputQuote: boolean,
432
- ) {
433
- let result = [];
434
-
435
- for (let i = 0; i < amounts.length; i++) {
436
- let amt = amounts[i];
437
- if (amt === 0n) {
438
- result.push(amt);
439
- continue;
440
- }
441
-
442
- let decimals = baseToken.decimals;
443
- let out_decimals = quoteToken.decimals;
444
-
445
- let price = this.calculatePriceSwap(
446
- orderbook,
447
- Number(amt) / 10 ** decimals,
448
- isInputQuote,
449
- );
450
- result.push(BigInt(Math.round(price * 10 ** out_decimals)));
451
- }
452
- return result;
453
- }
454
-
455
- calculatePriceSwap(
456
- prices: string[][],
457
- requiredQty: number,
458
- qtyMode: Boolean,
459
- ) {
460
- let sumBaseQty = 0;
461
- let sumQuoteQty = 0;
462
- const selectedRows: string[][] = [];
463
-
464
- const isBase = qtyMode;
465
- const isQuote = !qtyMode;
466
-
467
- for (const [price, volume] of prices) {
468
- if (isBase) {
469
- if (sumBaseQty >= requiredQty) {
470
- break;
471
- }
472
- }
473
-
474
- if (isQuote) {
475
- if (sumQuoteQty >= requiredQty) {
476
- break;
477
- }
478
- }
479
-
480
- let currentBaseQty = Number(volume);
481
- let currentQuoteQty = Number(volume) * Number(price);
482
-
483
- const overQty = isBase
484
- ? currentBaseQty + sumBaseQty > requiredQty
485
- : currentQuoteQty + sumQuoteQty > requiredQty;
486
-
487
- if (overQty) {
488
- if (isBase) {
489
- currentBaseQty = requiredQty - sumBaseQty;
490
- currentQuoteQty = currentBaseQty * Number(price);
491
- }
492
-
493
- if (isQuote) {
494
- currentQuoteQty = requiredQty - sumQuoteQty;
495
- currentBaseQty =
496
- currentQuoteQty *
497
- new BigNumber(1).dividedBy(new BigNumber(price)).toNumber();
498
- }
499
- }
500
-
501
- sumBaseQty += currentBaseQty;
502
- sumQuoteQty += currentQuoteQty;
503
- selectedRows.push([price, currentBaseQty.toString()]);
504
- }
505
-
506
- const vSumBase = selectedRows.reduce((sum: number, [price, volume]) => {
507
- return sum + Number(price) * Number(volume);
508
- }, 0);
509
-
510
- const price = new BigNumber(vSumBase)
511
- .dividedBy(new BigNumber(sumBaseQty))
512
- .toNumber();
513
-
514
- if (isBase) {
515
- return requiredQty / price;
516
- } else {
517
- return requiredQty * price;
518
- }
519
- }
520
-
521
- async getPricesVolume(
522
- srcToken: Token,
523
- destToken: Token,
524
- amounts: bigint[],
525
- side: SwapSide,
526
- blockNumber: number,
527
- limitPools?: string[],
528
- transferFees?: TransferFeeParams,
529
- isFirstSwap?: boolean,
530
- ): Promise<ExchangePrices<CablesData> | null> {
531
- const isRestricted = await this.isRestricted();
532
- if (isRestricted) {
533
- return null;
534
- }
535
-
536
- try {
537
- const normalizedSrcToken = this.normalizeToken(srcToken);
538
- const normalizedDestToken = this.normalizeToken(destToken);
539
- // If: same token, return null
540
- if (
541
- normalizedSrcToken.address.toLowerCase() ===
542
- normalizedDestToken.address.toLowerCase()
543
- ) {
544
- return null;
545
- }
546
-
547
- for (const symbol of Object.keys(this.tokensMap)) {
548
- const normalizedTokenAddress =
549
- this.tokensMap[symbol].address.toLowerCase();
550
-
551
- if (normalizedSrcToken.address === normalizedTokenAddress) {
552
- normalizedSrcToken.symbol = this.tokensMap[symbol].symbol;
553
- }
554
- if (normalizedDestToken.address === normalizedTokenAddress) {
555
- normalizedDestToken.symbol = this.tokensMap[symbol].symbol;
556
- }
557
- }
558
-
559
- // ---------- Pools ----------
560
- let pools = await this.getPoolIdentifiers(
561
- srcToken,
562
- destToken,
563
- side,
564
- blockNumber,
565
- );
566
- if (pools.length === 0) return null;
567
-
568
- // ---------- Prices ----------
569
- const priceMap = await this.getCachedPrices();
570
-
571
- if (!priceMap) return null;
572
-
573
- let isInputQuote = false;
574
- let pairKey = `${normalizedSrcToken.symbol}/${normalizedDestToken.symbol}`;
575
- const pairsKeys = Object.keys(priceMap);
576
-
577
- if (!pairsKeys.includes(pairKey)) {
578
- // Revert
579
- isInputQuote = true;
580
- pairKey = `${normalizedDestToken.symbol}/${normalizedSrcToken.symbol}`;
581
- if (!pairsKeys.includes(pairKey)) {
582
- return null;
583
- }
584
- }
585
-
586
- /**
587
- * Orderbook
588
- */
589
- const priceData = priceMap[pairKey];
590
-
591
- let orderbook: any[] = [];
592
- if (side === SwapSide.BUY) {
593
- orderbook = priceData.asks;
594
- } else {
595
- orderbook = priceData.bids;
596
- }
597
- if (orderbook?.length === 0) {
598
- throw new Error(`Empty orderbook for ${pairKey}`);
599
- }
600
-
601
- const prices = this.calculateOrderPrice(
602
- amounts,
603
- orderbook,
604
- side === SwapSide.SELL ? srcToken : destToken,
605
- side === SwapSide.SELL ? destToken : srcToken,
606
- side === SwapSide.SELL ? isInputQuote : !isInputQuote,
607
- );
608
-
609
- const result = [
610
- {
611
- prices: prices,
612
- unit: BigInt(normalizedDestToken.decimals),
613
- exchange: this.dexKey,
614
- gasCost: CABLES_GAS_COST,
615
- poolAddresses: [this.mainnetRFQAddress],
616
- data: {},
617
- },
618
- ];
619
-
620
- return result;
621
- } catch (e: unknown) {
622
- this.logger.error(
623
- `Error in getPricesVolume`,
624
- {
625
- srcToken: srcToken.address || srcToken.symbol,
626
- destToken: destToken.address || destToken.symbol,
627
- side,
628
- },
629
- e,
630
- );
631
- return null;
632
- }
633
- }
634
-
635
- getCalldataGasCost(poolPrices: PoolPrices<CablesData>): number | number[] {
636
- return (
637
- CALLDATA_GAS_COST.DEX_OVERHEAD +
638
- // addresses: makerAsset, takerAsset, maker, taker
639
- CALLDATA_GAS_COST.ADDRESS * 4 +
640
- // uint256: expiry
641
- CALLDATA_GAS_COST.wordNonZeroBytes(16) +
642
- // uint256: nonceAndMeta, makerAmount, takerAmount
643
- CALLDATA_GAS_COST.AMOUNT * 3 +
644
- // bytes: _signature (65 bytes)
645
- CALLDATA_GAS_COST.FULL_WORD * 2 +
646
- CALLDATA_GAS_COST.OFFSET_SMALL
647
- );
648
- }
649
-
650
- async initializePricing(blockNumber: number): Promise<void> {
651
- if (!this.dexHelper.config.isSlave) {
652
- this.rateFetcher.start();
653
- }
654
- return;
655
- }
656
-
657
- getAdapters(side: SwapSide): { name: string; index: number }[] | null {
658
- return null;
659
- }
660
-
661
- releaseResources?(): AsyncOrSync<void> {
662
- if (this.rateFetcher) {
663
- this.rateFetcher.stop();
664
- }
665
- }
666
-
667
- normalizeAddress(address: string): string {
668
- return address.toLowerCase() === ETHER_ADDRESS
669
- ? NULL_ADDRESS
670
- : address.toLowerCase();
671
- }
672
-
673
- async setTokensMap() {
674
- const tokens = await this.getCachedTokens();
675
-
676
- if (tokens) {
677
- this.tokensMap = Object.keys(tokens).reduce((acc, key) => {
678
- //@ts-ignore
679
- acc[tokens[key].address.toLowerCase()] = tokens[key];
680
- return acc;
681
- }, {});
682
- }
683
- }
684
-
685
- async getTopPoolsForToken(
686
- tokenAddress: Address,
687
- limit: number,
688
- ): Promise<PoolLiquidity[]> {
689
- // const tokens = (await this.getCachedTokens()) as { [key: string]: Token };
690
- // const token = Object.values(tokens).find(
691
- // token => token.address.toLowerCase() === tokenAddress.toLowerCase(),
692
- // );
693
- //
694
- // console.log('TOKEN: ', token);
695
- //
696
- // if (!token) {
697
- // return [];
698
- // }
699
- //
700
- // const tokenPriceUsd = await this.dexHelper.getTokenUSDPrice(
701
- // token,
702
- // BigInt(10 ** token.decimals),
703
- // );
704
- //
705
- // const erc20BalanceCalldata = this.erc20Interface.encodeFunctionData(
706
- // 'balanceOf',
707
- // [this.mainnetRFQAddress],
708
- // );
709
- //
710
- // const tokenBalanceMultiCall = [
711
- // {
712
- // target: token.address,
713
- // callData: erc20BalanceCalldata,
714
- // },
715
- // ];
716
- // const res = (
717
- // await this.dexHelper.multiContract.methods
718
- // .aggregate(tokenBalanceMultiCall)
719
- // .call()
720
- // ).returnData[0];
721
- //
722
- // let tokenLiquidity = BigInt(res);
723
- //
724
- // let tokenLiquidityUsd =
725
- // (tokenLiquidity * BigInt(tokenPriceUsd * 1_000_000)) /
726
- // BigInt(1_000_000 * 10 ** token.decimals);
727
- //
728
- // let tokenWithLiquidity = [];
729
- //
730
- // tokenWithLiquidity.push({
731
- // exchange: this.dexKey,
732
- // address: this.mainnetRFQAddress,
733
- // connectorTokens: [
734
- // {
735
- // address: token.address,
736
- // decimals: token.decimals,
737
- // },
738
- // ],
739
- // liquidityUSD: Number(tokenLiquidityUsd),
740
- // });
741
- //
742
- // return tokenWithLiquidity;
743
- return [];
744
- }
745
-
746
- /**
747
- * CACHED UTILS
748
- */
749
- async getCachedTokens(): Promise<any> {
750
- const cachedTokens = await this.dexHelper.cache.get(
751
- this.dexKey,
752
- this.network,
753
- this.rateFetcher.tokensCacheKey,
754
- );
755
-
756
- return cachedTokens ? JSON.parse(cachedTokens) : {};
757
- }
758
-
759
- async getCachedPairs(): Promise<any> {
760
- const cachedPairs = await this.dexHelper.cache.get(
761
- this.dexKey,
762
- this.network,
763
- this.rateFetcher.pairsCacheKey,
764
- );
765
-
766
- return cachedPairs ? JSON.parse(cachedPairs) : {};
767
- }
768
-
769
- async getCachedPrices(): Promise<any> {
770
- const cachedPrices = await this.dexHelper.cache.get(
771
- this.dexKey,
772
- this.network,
773
- this.rateFetcher.pricesCacheKey,
774
- );
775
-
776
- return cachedPrices ? JSON.parse(cachedPrices) : {};
777
- }
778
-
779
- async getCachedTokensAddr(): Promise<any> {
780
- const tokens = await this.getCachedTokens();
781
- const tokensAddr: Record<string, Address> = {};
782
- for (const key of Object.keys(tokens)) {
783
- tokensAddr[tokens[key].symbol.toLowerCase()] = tokens[key].address;
784
- }
785
- return tokensAddr;
786
- }
787
-
788
- getPairString(baseToken: Token, quoteToken: Token): string {
789
- return `${baseToken.symbol}/${quoteToken.symbol}`.toLowerCase();
790
- }
791
-
792
- // Function to find a key by address
793
- private findKeyByAddress = (
794
- jsonData: Record<string, { address: string }>,
795
- targetAddress: string,
796
- ): string | undefined => {
797
- const entries = Object.entries(jsonData);
798
- const foundEntry = entries.find(
799
- ([_, value]) =>
800
- value.address.toLowerCase() === targetAddress.toLowerCase(),
801
- );
802
- return foundEntry ? foundEntry[0] : undefined;
803
- };
804
-
805
- async getPairData(srcToken: Token, destToken: Token): Promise<any> {
806
- const normalizedSrcToken = this.normalizeToken(srcToken);
807
- const normalizedDestToken = this.normalizeToken(destToken);
808
-
809
- if (normalizedSrcToken.address === normalizedDestToken.address) {
810
- return null;
811
- }
812
-
813
- const cachedTokens = await this.getCachedTokens();
814
-
815
- normalizedSrcToken.symbol = this.findKeyByAddress(
816
- cachedTokens,
817
- normalizedSrcToken.address,
818
- );
819
- normalizedDestToken.symbol = this.findKeyByAddress(
820
- cachedTokens,
821
- normalizedDestToken.address,
822
- );
823
-
824
- const cachedPairs = await this.getCachedPairs();
825
-
826
- const potentialPairs = [
827
- {
828
- base: normalizedSrcToken.symbol,
829
- quote: normalizedDestToken.symbol,
830
- identifier: this.getPairString(normalizedSrcToken, normalizedDestToken),
831
- isSrcBase: true,
832
- },
833
- {
834
- base: normalizedDestToken.symbol,
835
- quote: normalizedSrcToken.symbol,
836
- identifier: this.getPairString(normalizedDestToken, normalizedSrcToken),
837
- isSrcBase: false,
838
- },
839
- ];
840
-
841
- for (const pair of potentialPairs) {
842
- if (pair.identifier in cachedPairs) {
843
- const pairData = cachedPairs[pair.identifier];
844
- pairData.isSrcBase = pair.isSrcBase;
845
- return pairData;
846
- }
847
- }
848
- return null;
849
- }
850
-
851
- async isBlacklisted(txOrigin: Address): Promise<boolean> {
852
- const cachedBlacklist = await this.dexHelper.cache.get(
853
- this.dexKey,
854
- this.network,
855
- CABLES_BLACKLIST_CACHE_KEY,
856
- );
857
-
858
- if (cachedBlacklist) {
859
- const blacklist = JSON.parse(cachedBlacklist) as string[];
860
- return blacklist.includes(txOrigin.toLowerCase());
861
- }
862
-
863
- return false;
864
- }
865
-
866
- async isRestricted(): Promise<boolean> {
867
- const result = await this.dexHelper.cache.get(
868
- this.dexKey,
869
- this.network,
870
- CABLES_RESTRICTED_CACHE_KEY,
871
- );
872
-
873
- return result === 'true';
874
- }
875
-
876
- async restrict() {
877
- const errorsDataRaw = await this.dexHelper.cache.get(
878
- this.dexKey,
879
- this.network,
880
- CABLES_ERRORS_CACHE_KEY,
881
- );
882
-
883
- const errorsData: RestrictData = Utils.Parse(errorsDataRaw);
884
- const ERRORS_TTL_S = Math.floor(CABLES_RESTRICT_CHECK_INTERVAL_MS / 1000);
885
-
886
- if (
887
- !errorsData ||
888
- errorsData?.addedDatetimeMs + CABLES_RESTRICT_CHECK_INTERVAL_MS <
889
- Date.now()
890
- ) {
891
- this.logger.warn(
892
- `${this.dexKey}-${this.network}: First encounter of error OR error ocurred outside of threshold, setting up counter`,
893
- );
894
- const data: RestrictData = {
895
- count: 1,
896
- addedDatetimeMs: Date.now(),
897
- };
898
- await this.dexHelper.cache.setex(
899
- this.dexKey,
900
- this.network,
901
- CABLES_ERRORS_CACHE_KEY,
902
- ERRORS_TTL_S,
903
- Utils.Serialize(data),
904
- );
905
- return;
906
- } else {
907
- if (errorsData.count + 1 >= CABLES_RESTRICT_COUNT_THRESHOLD) {
908
- this.logger.warn(
909
- `${this.dexKey}-${this.network}: Restricting due to error count=${
910
- errorsData.count + 1
911
- } within ${CABLES_RESTRICT_CHECK_INTERVAL_MS / 1000 / 60} minutes`,
912
- );
913
- await this.dexHelper.cache.setex(
914
- this.dexKey,
915
- this.network,
916
- CABLES_RESTRICTED_CACHE_KEY,
917
- CABLES_RESTRICT_TTL_S,
918
- 'true',
919
- );
920
- } else {
921
- this.logger.warn(
922
- `${this.dexKey}-${this.network}: Error count increased`,
923
- );
924
- const data: RestrictData = {
925
- count: errorsData.count + 1,
926
- addedDatetimeMs: errorsData.addedDatetimeMs,
927
- };
928
- await this.dexHelper.cache.setex(
929
- this.dexKey,
930
- this.network,
931
- CABLES_RESTRICTED_CACHE_KEY,
932
- ERRORS_TTL_S,
933
- Utils.Serialize(data),
934
- );
935
- }
936
- }
937
- }
938
- }