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