@paraswap/dex-lib 4.1.14 → 4.1.15

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 (320) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +4 -44
  3. package/.idea/codeStyles/codeStyleConfig.xml +1 -1
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/paraswap-dex-lib.iml +4 -7
  6. package/.idea/prettier.xml +1 -1
  7. package/build/abi/AaveV1_lending_pool.json +27 -0
  8. package/build/abi/integral/factory.json +333 -0
  9. package/build/abi/integral/oracle.json +501 -0
  10. package/build/abi/integral/pool.json +1041 -0
  11. package/build/abi/integral/relayer.json +1536 -0
  12. package/build/abi/platypus/asset.json +490 -0
  13. package/build/abi/platypus/avax-pool.json +820 -0
  14. package/build/abi/platypus/oracle.json +119 -0
  15. package/build/abi/platypus/pool.json +677 -0
  16. package/build/abi/smardex/all/smardex-router.json +648 -0
  17. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  18. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  19. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  20. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  21. package/build/abi/swaap-v1/pool.json +1346 -0
  22. package/build/abi/uniswap-v4/pool-manager.abi.json +1366 -0
  23. package/build/abi/uniswap-v4/quoter.abi.json +461 -0
  24. package/build/abi/uniswap-v4/router.abi.json +230 -0
  25. package/build/abi/uniswap-v4/state-view.abi.json +365 -0
  26. package/build/dex/aave-v1/aave-v1.d.ts +33 -0
  27. package/build/dex/aave-v1/aave-v1.js +158 -0
  28. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  29. package/build/dex/aave-v1/config.d.ts +11 -0
  30. package/build/dex/aave-v1/config.js +20 -0
  31. package/build/dex/aave-v1/config.js.map +1 -0
  32. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  33. package/build/dex/aave-v1/tokens.d.ts +3 -0
  34. package/build/dex/aave-v1/tokens.js +50 -0
  35. package/build/dex/aave-v1/tokens.js.map +1 -0
  36. package/build/dex/aave-v1/types.d.ts +12 -0
  37. package/build/dex/aave-v1/types.js +3 -0
  38. package/build/dex/aave-v1/types.js.map +1 -0
  39. package/build/dex/bProtocol.d.ts +18 -0
  40. package/build/dex/bProtocol.js +39 -0
  41. package/build/dex/bProtocol.js.map +1 -0
  42. package/build/dex/bancor.d.ts +26 -0
  43. package/build/dex/bancor.js +58 -0
  44. package/build/dex/bancor.js.map +1 -0
  45. package/build/dex/compound.d.ts +18 -0
  46. package/build/dex/compound.js +46 -0
  47. package/build/dex/compound.js.map +1 -0
  48. package/build/dex/curve-v2.d.ts +58 -0
  49. package/build/dex/curve-v2.js +180 -0
  50. package/build/dex/curve-v2.js.map +1 -0
  51. package/build/dex/dodo-v1.d.ts +33 -0
  52. package/build/dex/dodo-v1.js +63 -0
  53. package/build/dex/dodo-v1.js.map +1 -0
  54. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +49 -0
  55. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +104 -0
  56. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +1 -0
  57. package/build/dex/integral/config.d.ts +4 -0
  58. package/build/dex/integral/config.js +20 -0
  59. package/build/dex/integral/config.js.map +1 -0
  60. package/build/dex/integral/context.d.ts +40 -0
  61. package/build/dex/integral/context.js +158 -0
  62. package/build/dex/integral/context.js.map +1 -0
  63. package/build/dex/integral/integral-factory.d.ts +24 -0
  64. package/build/dex/integral/integral-factory.js +95 -0
  65. package/build/dex/integral/integral-factory.js.map +1 -0
  66. package/build/dex/integral/integral-pool.d.ts +50 -0
  67. package/build/dex/integral/integral-pool.js +149 -0
  68. package/build/dex/integral/integral-pool.js.map +1 -0
  69. package/build/dex/integral/integral-pricing.d.ts +18 -0
  70. package/build/dex/integral/integral-pricing.js +114 -0
  71. package/build/dex/integral/integral-pricing.js.map +1 -0
  72. package/build/dex/integral/integral-relayer.d.ts +42 -0
  73. package/build/dex/integral/integral-relayer.js +192 -0
  74. package/build/dex/integral/integral-relayer.js.map +1 -0
  75. package/build/dex/integral/integral-token.d.ts +27 -0
  76. package/build/dex/integral/integral-token.js +59 -0
  77. package/build/dex/integral/integral-token.js.map +1 -0
  78. package/build/dex/integral/integral.d.ts +41 -0
  79. package/build/dex/integral/integral.js +376 -0
  80. package/build/dex/integral/integral.js.map +1 -0
  81. package/build/dex/integral/types.d.ts +85 -0
  82. package/build/dex/integral/types.js +9 -0
  83. package/build/dex/integral/types.js.map +1 -0
  84. package/build/dex/integral/utils-e2e.d.ts +9 -0
  85. package/build/dex/integral/utils-e2e.js +131 -0
  86. package/build/dex/integral/utils-e2e.js.map +1 -0
  87. package/build/dex/integral/utils.d.ts +17 -0
  88. package/build/dex/integral/utils.js +94 -0
  89. package/build/dex/integral/utils.js.map +1 -0
  90. package/build/dex/jarvis.d.ts +1 -2
  91. package/build/dex/jarvis.js +0 -58
  92. package/build/dex/jarvis.js.map +1 -1
  93. package/build/dex/lido.d.ts +19 -0
  94. package/build/dex/lido.js +42 -0
  95. package/build/dex/lido.js.map +1 -0
  96. package/build/dex/m-token/config.d.ts +3 -0
  97. package/build/dex/m-token/config.js +19 -0
  98. package/build/dex/m-token/config.js.map +1 -0
  99. package/build/dex/m-token/m-token.d.ts +29 -0
  100. package/build/dex/m-token/m-token.js +145 -0
  101. package/build/dex/m-token/m-token.js.map +1 -0
  102. package/build/dex/m-token/m-wrapped-m.d.ts +17 -0
  103. package/build/dex/m-token/m-wrapped-m.js +50 -0
  104. package/build/dex/m-token/m-wrapped-m.js.map +1 -0
  105. package/build/dex/m-token/types.d.ts +12 -0
  106. package/build/dex/m-token/types.js +3 -0
  107. package/build/dex/m-token/types.js.map +1 -0
  108. package/build/dex/onebit.d.ts +25 -0
  109. package/build/dex/onebit.js +42 -0
  110. package/build/dex/onebit.js.map +1 -0
  111. package/build/dex/platypus/asset.d.ts +14 -0
  112. package/build/dex/platypus/asset.js +97 -0
  113. package/build/dex/platypus/asset.js.map +1 -0
  114. package/build/dex/platypus/config.d.ts +11 -0
  115. package/build/dex/platypus/config.js +69 -0
  116. package/build/dex/platypus/config.js.map +1 -0
  117. package/build/dex/platypus/platypus.d.ts +62 -0
  118. package/build/dex/platypus/platypus.js +442 -0
  119. package/build/dex/platypus/platypus.js.map +1 -0
  120. package/build/dex/platypus/pool-avax.d.ts +8 -0
  121. package/build/dex/platypus/pool-avax.js +54 -0
  122. package/build/dex/platypus/pool-avax.js.map +1 -0
  123. package/build/dex/platypus/pool-base.d.ts +19 -0
  124. package/build/dex/platypus/pool-base.js +86 -0
  125. package/build/dex/platypus/pool-base.js.map +1 -0
  126. package/build/dex/platypus/pool-pure.d.ts +8 -0
  127. package/build/dex/platypus/pool-pure.js +37 -0
  128. package/build/dex/platypus/pool-pure.js.map +1 -0
  129. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  130. package/build/dex/platypus/pool-subscriber.js +167 -0
  131. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  132. package/build/dex/platypus/pool.d.ts +8 -0
  133. package/build/dex/platypus/pool.js +58 -0
  134. package/build/dex/platypus/pool.js.map +1 -0
  135. package/build/dex/platypus/types.d.ts +92 -0
  136. package/build/dex/platypus/types.js +10 -0
  137. package/build/dex/platypus/types.js.map +1 -0
  138. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  139. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  140. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  141. package/build/dex/smardex/config.d.ts +4 -0
  142. package/build/dex/smardex/config.js +64 -0
  143. package/build/dex/smardex/config.js.map +1 -0
  144. package/build/dex/smardex/constants.d.ts +18 -0
  145. package/build/dex/smardex/constants.js +33 -0
  146. package/build/dex/smardex/constants.js.map +1 -0
  147. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  148. package/build/dex/smardex/sdk/constants.js +13 -0
  149. package/build/dex/smardex/sdk/constants.js.map +1 -0
  150. package/build/dex/smardex/sdk/core.d.ts +113 -0
  151. package/build/dex/smardex/sdk/core.js +499 -0
  152. package/build/dex/smardex/sdk/core.js.map +1 -0
  153. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  154. package/build/dex/smardex/sdk/errors.js +22 -0
  155. package/build/dex/smardex/sdk/errors.js.map +1 -0
  156. package/build/dex/smardex/sdk/types.d.ts +62 -0
  157. package/build/dex/smardex/sdk/types.js +3 -0
  158. package/build/dex/smardex/sdk/types.js.map +1 -0
  159. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  160. package/build/dex/smardex/sdk/utils.js +133 -0
  161. package/build/dex/smardex/sdk/utils.js.map +1 -0
  162. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  163. package/build/dex/smardex/smardex-event-pool.js +119 -0
  164. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  165. package/build/dex/smardex/smardex.d.ts +65 -0
  166. package/build/dex/smardex/smardex.js +519 -0
  167. package/build/dex/smardex/smardex.js.map +1 -0
  168. package/build/dex/smardex/types.d.ts +55 -0
  169. package/build/dex/smardex/types.js +3 -0
  170. package/build/dex/smardex/types.js.map +1 -0
  171. package/build/dex/smoothy.d.ts +26 -0
  172. package/build/dex/smoothy.js +48 -0
  173. package/build/dex/smoothy.js.map +1 -0
  174. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  175. package/build/dex/solidly/forks-override/cone.js +53 -0
  176. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  177. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  178. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  179. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  180. package/build/dex/spark/spark-psm.js +2 -2
  181. package/build/dex/spark/spark-psm.js.map +1 -1
  182. package/build/dex/spark/spark.js +1 -1
  183. package/build/dex/spark/spark.js.map +1 -1
  184. package/build/dex/spark/susds-psm.d.ts +49 -0
  185. package/build/dex/spark/susds-psm.js +245 -0
  186. package/build/dex/spark/susds-psm.js.map +1 -0
  187. package/build/dex/stable-pool.d.ts +28 -0
  188. package/build/dex/stable-pool.js +62 -0
  189. package/build/dex/stable-pool.js.map +1 -0
  190. package/build/dex/swaap-v1/config.d.ts +17 -0
  191. package/build/dex/swaap-v1/config.js +56 -0
  192. package/build/dex/swaap-v1/config.js.map +1 -0
  193. package/build/dex/swaap-v1/constants.d.ts +6 -0
  194. package/build/dex/swaap-v1/constants.js +17 -0
  195. package/build/dex/swaap-v1/constants.js.map +1 -0
  196. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  197. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  198. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  199. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  200. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  201. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  202. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  203. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  204. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  205. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  206. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  207. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  208. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  209. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  210. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  211. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  212. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  213. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  214. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  215. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  216. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  217. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  218. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  219. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  220. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  221. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  222. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  223. package/build/dex/swaap-v1/swaap-v1.d.ts +61 -0
  224. package/build/dex/swaap-v1/swaap-v1.js +369 -0
  225. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  226. package/build/dex/swaap-v1/types.d.ts +106 -0
  227. package/build/dex/swaap-v1/types.js +9 -0
  228. package/build/dex/swaap-v1/types.js.map +1 -0
  229. package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
  230. package/build/dex/trader-joe-v2.1/optimizer.js +47 -0
  231. package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
  232. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  233. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  234. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  235. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  236. package/build/dex/trader-joe-v2.1.js +79 -0
  237. package/build/dex/trader-joe-v2.1.js.map +1 -0
  238. package/build/dex/uniswap-v4/config.d.ts +3 -0
  239. package/build/dex/uniswap-v4/config.js +58 -0
  240. package/build/dex/uniswap-v4/config.js.map +1 -0
  241. package/build/dex/uniswap-v4/constants.d.ts +7 -0
  242. package/build/dex/uniswap-v4/constants.js +18 -0
  243. package/build/dex/uniswap-v4/constants.js.map +1 -0
  244. package/build/dex/uniswap-v4/contract-math/BitMath.d.ts +4 -0
  245. package/build/dex/uniswap-v4/contract-math/BitMath.js +53 -0
  246. package/build/dex/uniswap-v4/contract-math/BitMath.js.map +1 -0
  247. package/build/dex/uniswap-v4/contract-math/FixedPoint128.d.ts +3 -0
  248. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js +8 -0
  249. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js.map +1 -0
  250. package/build/dex/uniswap-v4/contract-math/FixedPoint96.d.ts +4 -0
  251. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js +9 -0
  252. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js.map +1 -0
  253. package/build/dex/uniswap-v4/contract-math/FullMath.d.ts +4 -0
  254. package/build/dex/uniswap-v4/contract-math/FullMath.js +19 -0
  255. package/build/dex/uniswap-v4/contract-math/FullMath.js.map +1 -0
  256. package/build/dex/uniswap-v4/contract-math/LiquidityMath.d.ts +3 -0
  257. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js +18 -0
  258. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js.map +1 -0
  259. package/build/dex/uniswap-v4/contract-math/Position.d.ts +9 -0
  260. package/build/dex/uniswap-v4/contract-math/Position.js +39 -0
  261. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -0
  262. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.d.ts +11 -0
  263. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js +80 -0
  264. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js.map +1 -0
  265. package/build/dex/uniswap-v4/contract-math/SwapMath.d.ts +8 -0
  266. package/build/dex/uniswap-v4/contract-math/SwapMath.js +70 -0
  267. package/build/dex/uniswap-v4/contract-math/SwapMath.js.map +1 -0
  268. package/build/dex/uniswap-v4/contract-math/Tick.d.ts +9 -0
  269. package/build/dex/uniswap-v4/contract-math/Tick.js +40 -0
  270. package/build/dex/uniswap-v4/contract-math/Tick.js.map +1 -0
  271. package/build/dex/uniswap-v4/contract-math/TickBitMap.d.ts +8 -0
  272. package/build/dex/uniswap-v4/contract-math/TickBitMap.js +40 -0
  273. package/build/dex/uniswap-v4/contract-math/TickBitMap.js.map +1 -0
  274. package/build/dex/uniswap-v4/contract-math/TickMath.d.ts +9 -0
  275. package/build/dex/uniswap-v4/contract-math/TickMath.js +164 -0
  276. package/build/dex/uniswap-v4/contract-math/TickMath.js.map +1 -0
  277. package/build/dex/uniswap-v4/contract-math/UnsafeMath.d.ts +4 -0
  278. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js +16 -0
  279. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js.map +1 -0
  280. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.d.ts +8 -0
  281. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.js +11 -0
  282. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.js.map +1 -0
  283. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.d.ts +15 -0
  284. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js +108 -0
  285. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js.map +1 -0
  286. package/build/dex/uniswap-v4/contract-math/utils.d.ts +4 -0
  287. package/build/dex/uniswap-v4/contract-math/utils.js +23 -0
  288. package/build/dex/uniswap-v4/contract-math/utils.js.map +1 -0
  289. package/build/dex/uniswap-v4/encoder.d.ts +16 -0
  290. package/build/dex/uniswap-v4/encoder.js +104 -0
  291. package/build/dex/uniswap-v4/encoder.js.map +1 -0
  292. package/build/dex/uniswap-v4/subgraph.d.ts +5 -0
  293. package/build/dex/uniswap-v4/subgraph.js +80 -0
  294. package/build/dex/uniswap-v4/subgraph.js.map +1 -0
  295. package/build/dex/uniswap-v4/types.d.ts +98 -0
  296. package/build/dex/uniswap-v4/types.js +3 -0
  297. package/build/dex/uniswap-v4/types.js.map +1 -0
  298. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +33 -0
  299. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +260 -0
  300. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -0
  301. package/build/dex/uniswap-v4/uniswap-v4.d.ts +38 -0
  302. package/build/dex/uniswap-v4/uniswap-v4.js +169 -0
  303. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -0
  304. package/build/dex/uniswap-v4/utils.d.ts +2 -0
  305. package/build/dex/uniswap-v4/utils.js +15 -0
  306. package/build/dex/uniswap-v4/utils.js.map +1 -0
  307. package/build/dex/zerox/index.d.ts +25 -3
  308. package/build/dex/zerox/index.js +42 -50
  309. package/build/dex/zerox/index.js.map +1 -1
  310. package/build/dex/zerox/types.d.ts +0 -29
  311. package/build/dex/zerox/types.js +1 -8
  312. package/build/dex/zerox/types.js.map +1 -1
  313. package/package.json +1 -1
  314. package/src/dex/spark/spark-psm.ts +2 -2
  315. package/src/dex/spark/spark.ts +1 -1
  316. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  317. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
  318. package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
  319. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
  320. package/scripts/get-uniswap-v3-dexes.ts +0 -64
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Smoothy = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const constants_1 = require("../constants");
9
+ const simple_exchange_1 = require("./simple-exchange");
10
+ const Smoothy_json_1 = __importDefault(require("../abi/Smoothy.json"));
11
+ var SmoothyFunctions;
12
+ (function (SmoothyFunctions) {
13
+ SmoothyFunctions["swap"] = "swap";
14
+ })(SmoothyFunctions || (SmoothyFunctions = {}));
15
+ class Smoothy extends simple_exchange_1.SimpleExchange {
16
+ constructor(dexHelper) {
17
+ super(dexHelper, 'smoothy');
18
+ this.minConversionRate = '1';
19
+ this.exchangeRouterInterface = new abi_1.Interface(Smoothy_json_1.default);
20
+ }
21
+ getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
22
+ if (side === constants_1.SwapSide.BUY)
23
+ throw new Error(`Buy not supported`);
24
+ const { i, j } = data;
25
+ const payload = this.abiCoder.encodeParameter({
26
+ ParentStruct: {
27
+ i: 'int128',
28
+ j: 'int128',
29
+ },
30
+ }, { i, j });
31
+ return {
32
+ targetExchange: data.exchange,
33
+ payload,
34
+ networkFee: '0',
35
+ };
36
+ }
37
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
38
+ if (side === constants_1.SwapSide.BUY)
39
+ throw new Error(`Buy not supported`);
40
+ const { exchange, i, j } = data;
41
+ const swapFunctionParams = [i, j, srcAmount, destAmount];
42
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(SmoothyFunctions.swap, swapFunctionParams);
43
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
44
+ }
45
+ }
46
+ exports.Smoothy = Smoothy;
47
+ Smoothy.dexKeys = ['smoothy'];
48
+ //# sourceMappingURL=smoothy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoothy.js","sourceRoot":"","sources":["../../src/dex/smoothy.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAE/C,4CAAwC;AAQxC,uDAAmD;AACnD,uEAA6C;AAiB7C,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACnB,iCAAa,CAAA;AACf,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED,MAAa,OACX,SAAQ,gCAAc;IAOtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAH9B,sBAAiB,GAAG,GAAG,CAAC;QAItB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,sBAAU,CAAC,CAAC;IAC3D,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;aACZ;SACF,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,CACT,CAAC;QACF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAiB,EACjB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,kBAAkB,GAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,gBAAgB,CAAC,IAAI,EACrB,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;;AAjEH,0BAkEC;AA9DQ,eAAO,GAAG,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Solidly } from '../solidly';
2
+ import { SolidlyPair } from '../types';
3
+ import { Network } from '../../../constants';
4
+ import { IDexHelper } from '../../../dex-helper';
5
+ export declare class Cone extends Solidly {
6
+ protected network: Network;
7
+ protected dexHelper: IDexHelper;
8
+ feeFactor: number;
9
+ static dexKeysWithNetwork: {
10
+ key: string;
11
+ networks: Network[];
12
+ }[];
13
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
14
+ private callDecoder;
15
+ protected getFeesMultiCallData(pair: SolidlyPair): {
16
+ callEntry: {
17
+ target: string;
18
+ callData: string;
19
+ };
20
+ callDecoder: (values: any[]) => number;
21
+ };
22
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Cone = void 0;
7
+ const solidly_1 = require("../solidly");
8
+ const abi_1 = require("@ethersproject/abi");
9
+ const config_1 = require("../config");
10
+ const utils_1 = require("../../../utils");
11
+ const lodash_1 = __importDefault(require("lodash"));
12
+ const swapFeeFunctionName = 'swapFee';
13
+ const ConePairABI = [
14
+ {
15
+ inputs: [],
16
+ name: swapFeeFunctionName,
17
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
18
+ stateMutability: 'view',
19
+ type: 'function',
20
+ },
21
+ ];
22
+ const conePairIface = new abi_1.Interface(ConePairABI);
23
+ class Cone extends solidly_1.Solidly {
24
+ constructor(network, dexKey, dexHelper) {
25
+ super(network, dexKey, dexHelper, true);
26
+ this.network = network;
27
+ this.dexHelper = dexHelper;
28
+ this.feeFactor = 1e4;
29
+ }
30
+ callDecoder(values) {
31
+ const fees = parseInt(conePairIface
32
+ .decodeFunctionResult(swapFeeFunctionName, values)[0]
33
+ .toString());
34
+ if (!fees)
35
+ return 0;
36
+ // noinspection UnnecessaryLocalVariableJS
37
+ const feeCode = Math.ceil(this.feeFactor / fees);
38
+ return feeCode;
39
+ }
40
+ getFeesMultiCallData(pair) {
41
+ const callEntry = {
42
+ target: pair.exchange,
43
+ callData: conePairIface.encodeFunctionData(swapFeeFunctionName, []),
44
+ };
45
+ return {
46
+ callEntry,
47
+ callDecoder: this.callDecoder.bind(this),
48
+ };
49
+ }
50
+ }
51
+ exports.Cone = Cone;
52
+ Cone.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.SolidlyConfig, ['Cone']));
53
+ //# sourceMappingURL=cone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cone.js","sourceRoot":"","sources":["../../../../src/dex/solidly/forks-override/cone.ts"],"names":[],"mappings":";;;;;;AAAA,wCAAqC;AAIrC,4CAA+C;AAC/C,sCAA0C;AAC1C,0CAAuD;AACvD,oDAAuB;AAEvB,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC,MAAM,WAAW,GAAG;IAClB;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,eAAS,CAAC,WAAW,CAAC,CAAC;AAEjD,MAAa,IAAK,SAAQ,iBAAO;IAM/B,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,CACL,CAAC;QATQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QARjC,cAAS,GAAG,GAAG,CAAC;IAgBhB,CAAC;IAEO,WAAW,CAAC,MAAa;QAC/B,MAAM,IAAI,GAAG,QAAQ,CACnB,aAAa;aACV,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aACpD,QAAQ,EAAE,CACd,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAEpB,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,oBAAoB,CAAC,IAAiB;QAC9C,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,QAAS;YACtB,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,EAAE,CAAC;SACpE,CAAC;QAEF,OAAO;YACL,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SACzC,CAAC;IACJ,CAAC;;AA1CH,oBA2CC;AAxCe,uBAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,sBAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Velodrome } from './velodrome';
2
+ import { Network } from '../../../constants';
3
+ export declare class SoliSnek extends Velodrome {
4
+ static dexKeysWithNetwork: {
5
+ key: string;
6
+ networks: Network[];
7
+ }[];
8
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SoliSnek = void 0;
7
+ const velodrome_1 = require("./velodrome");
8
+ const utils_1 = require("../../../utils");
9
+ const config_1 = require("../config");
10
+ const lodash_1 = __importDefault(require("lodash"));
11
+ class SoliSnek extends velodrome_1.Velodrome {
12
+ }
13
+ exports.SoliSnek = SoliSnek;
14
+ SoliSnek.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.SolidlyConfig, ['SoliSnek']));
15
+ //# sourceMappingURL=solisnek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solisnek.js","sourceRoot":"","sources":["../../../../src/dex/solidly/forks-override/solisnek.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAwC;AAExC,0CAAuD;AACvD,sCAA0C;AAC1C,oDAAuB;AAEvB,MAAa,QAAS,SAAQ,qBAAS;;AAAvC,4BAGC;AAFe,2BAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,sBAAa,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC"}
@@ -47,7 +47,7 @@ exports.sUSDSPsmConfig = {
47
47
  psmAddress: '0x1601843c5E9bC251A3272907010AFa41Fa18347E', // PSM contract address
48
48
  savingsRate: {
49
49
  symbol: 'ssrOracle',
50
- topic: '0x7373720000000000000000000000000000000000000000000000000000000000',
50
+ topic: '0xc234856e2a0c5b406365714ced016892e7d98f7b1d49982cdd8db416a586d811', // SetSUSDSData event
51
51
  },
52
52
  poolInterface: new abi_1.Interface(SSRAuthOracle_abi_json_1.default),
53
53
  exchangeInterface: new abi_1.Interface(PSM3_abi_json_1.default),
@@ -188,7 +188,7 @@ class SparkPsm extends spark_1.Spark {
188
188
  async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
189
189
  if (!this.isAppropriatePair(srcToken, destToken))
190
190
  return null;
191
- const state = this.eventPool.getState(blockNumber);
191
+ const state = await this.eventPool.getOrGenerateState(blockNumber);
192
192
  if (!state)
193
193
  return null;
194
194
  let results;
@@ -1 +1 @@
1
- {"version":3,"file":"spark-psm.js","sourceRoot":"","sources":["../../../src/dex/spark/spark-psm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spark-psm.js","sourceRoot":"","sources":["../../../src/dex/spark/spark-psm.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ class Spark extends simple_exchange_1.SimpleExchange {
101
101
  async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
102
102
  if (!this.isAppropriatePair(srcToken, destToken))
103
103
  return null;
104
- const state = this.eventPool.getState(blockNumber);
104
+ const state = await this.eventPool.getOrGenerateState(blockNumber);
105
105
  if (!state)
106
106
  return null;
107
107
  const isSrcAsset = this.isDai(srcToken.address);
@@ -1 +1 @@
1
- {"version":3,"file":"spark.js","sourceRoot":"","sources":["../../../src/dex/spark/spark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spark.js","sourceRoot":"","sources":["../../../src/dex/spark/spark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { Spark } from './spark';
2
+ import { Address, NumberAsString } from '@paraswap/core';
3
+ import { SparkData, SparkParams, SparkSDaiPoolState, SparkSUSDSPsmFunctions } from './types';
4
+ import { SwapSide } from '@paraswap/core/build/constants';
5
+ import { Context } from '../idex';
6
+ import { DexConfigMap, DexExchangeParam, ExchangePrices, Token } from '../../types';
7
+ import { Network } from '../../constants';
8
+ import { Interface } from '@ethersproject/abi';
9
+ import { IDexHelper } from '../../dex-helper';
10
+ export declare const sUSDSPsmConfig: DexConfigMap<SparkParams>;
11
+ export declare class sUSDSPsm extends Spark {
12
+ protected network: Network;
13
+ readonly dexHelper: IDexHelper;
14
+ readonly config: SparkParams;
15
+ readonly daiAddress: string;
16
+ readonly sdaiAddress: string;
17
+ readonly potAddress: string;
18
+ readonly abiInterface: Interface;
19
+ protected adapters: {
20
+ [side: string]: {
21
+ name: string;
22
+ index: number;
23
+ }[];
24
+ };
25
+ protected sdaiInterface: Interface;
26
+ protected swapFunctions: typeof import("./types").SparkSDaiFunctions | typeof import("./types").SparkSUSDSFunctions | typeof SparkSUSDSPsmFunctions;
27
+ protected referralCode: string | null;
28
+ static dexKeysWithNetwork: {
29
+ key: string;
30
+ networks: Network[];
31
+ }[];
32
+ protected readonly usdcAddress: string;
33
+ protected readonly daiPrecision: bigint;
34
+ protected readonly sDaiPrecision: bigint;
35
+ protected readonly usdcPrecision: bigint;
36
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config?: SparkParams, daiAddress?: string, sdaiAddress?: string, potAddress?: string, abiInterface?: Interface, adapters?: {
37
+ [side: string]: {
38
+ name: string;
39
+ index: number;
40
+ }[];
41
+ }, sdaiInterface?: Interface, swapFunctions?: typeof import("./types").SparkSDaiFunctions | typeof import("./types").SparkSUSDSFunctions | typeof SparkSUSDSPsmFunctions, referralCode?: string | null);
42
+ isUSDC(tokenAddress: Address): boolean;
43
+ isAppropriatePair(srcToken: Token, destToken: Token): boolean;
44
+ convertOneToOne(assetPrecision: bigint, convertAssetPrecision: bigint): (assets: bigint) => bigint;
45
+ previewSell(srcToken: Token, destToken: Token, amounts: bigint[], state: SparkSDaiPoolState): bigint[];
46
+ previewBuy(srcToken: Token, destToken: Token, amounts: bigint[], state: SparkSDaiPoolState): bigint[];
47
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<SparkData>>;
48
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: SparkData, side: SwapSide, _: Context, executorAddress: Address): DexExchangeParam;
49
+ }
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.sUSDSPsm = exports.sUSDSPsmConfig = void 0;
7
+ const spark_1 = require("./spark");
8
+ const types_1 = require("./types");
9
+ const constants_1 = require("@paraswap/core/build/constants");
10
+ const constants_2 = require("../../constants");
11
+ const utils_1 = require("../../utils");
12
+ const abi_1 = require("@ethersproject/abi");
13
+ const SSRAuthOracle_abi_json_1 = __importDefault(require("../../abi/sdai/SSRAuthOracle.abi.json"));
14
+ const PSM3_abi_json_1 = __importDefault(require("../../abi/sdai/PSM3.abi.json"));
15
+ const config_1 = require("./config");
16
+ const utils_2 = require("../../executor/utils");
17
+ const bigint_constants_1 = require("../../bigint-constants");
18
+ const constants_3 = require("./constants");
19
+ exports.sUSDSPsmConfig = {
20
+ sUSDSPsm: {
21
+ [constants_2.Network.ARBITRUM]: {
22
+ sdaiAddress: '0xdDb46999F8891663a8F2828d25298f70416d7610', // sUSDS
23
+ sdaiDecimals: 18,
24
+ daiAddress: '0x6491c05A82219b8D1479057361ff1654749b876b', // USDS
25
+ daiDecimals: 18,
26
+ usdcAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', // USDC
27
+ usdcDecimals: 6,
28
+ potAddress: '0xEE2816c1E1eed14d444552654Ed3027abC033A36', // SSRAuthOracle contract address
29
+ psmAddress: '0x2B05F8e1cACC6974fD79A673a341Fe1f58d27266', // PSM contract address
30
+ savingsRate: {
31
+ symbol: 'ssrOracle',
32
+ topic: '0xc234856e2a0c5b406365714ced016892e7d98f7b1d49982cdd8db416a586d811', // SetSUSDSData event
33
+ },
34
+ poolInterface: new abi_1.Interface(SSRAuthOracle_abi_json_1.default),
35
+ exchangeInterface: new abi_1.Interface(PSM3_abi_json_1.default),
36
+ swapFunctions: types_1.SparkSUSDSPsmFunctions,
37
+ referralCode: '1004',
38
+ },
39
+ [constants_2.Network.BASE]: {
40
+ sdaiAddress: '0x5875eEE11Cf8398102FdAd704C9E96607675467a', // sUSDS
41
+ sdaiDecimals: 18,
42
+ daiAddress: '0x820C137fa70C8691f0e44Dc420a5e53c168921Dc', // USDS
43
+ daiDecimals: 18,
44
+ usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
45
+ usdcDecimals: 6,
46
+ potAddress: '0x65d946e533748A998B1f0E430803e39A6388f7a1', // SSRAuthOracle contract address
47
+ psmAddress: '0x1601843c5E9bC251A3272907010AFa41Fa18347E', // PSM contract address
48
+ savingsRate: {
49
+ symbol: 'ssrOracle',
50
+ topic: '0x7373720000000000000000000000000000000000000000000000000000000000',
51
+ },
52
+ poolInterface: new abi_1.Interface(SSRAuthOracle_abi_json_1.default),
53
+ exchangeInterface: new abi_1.Interface(PSM3_abi_json_1.default),
54
+ swapFunctions: types_1.SparkSUSDSPsmFunctions,
55
+ referralCode: '1004',
56
+ },
57
+ },
58
+ };
59
+ class sUSDSPsm extends spark_1.Spark {
60
+ network;
61
+ dexHelper;
62
+ config;
63
+ daiAddress;
64
+ sdaiAddress;
65
+ potAddress;
66
+ abiInterface;
67
+ adapters;
68
+ sdaiInterface;
69
+ swapFunctions;
70
+ referralCode;
71
+ static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(exports.sUSDSPsmConfig);
72
+ usdcAddress;
73
+ daiPrecision;
74
+ sDaiPrecision;
75
+ usdcPrecision;
76
+ constructor(network, dexKey, dexHelper, config = exports.sUSDSPsmConfig[dexKey][network], daiAddress = exports.sUSDSPsmConfig[dexKey][network].daiAddress, sdaiAddress = exports.sUSDSPsmConfig[dexKey][network].sdaiAddress, potAddress = exports.sUSDSPsmConfig[dexKey][network].potAddress, abiInterface = exports.sUSDSPsmConfig[dexKey][network]
77
+ .poolInterface, adapters = config_1.Adapters[network] || {}, sdaiInterface = exports.sUSDSPsmConfig[dexKey][network].exchangeInterface, swapFunctions = exports.sUSDSPsmConfig[dexKey][network].swapFunctions, referralCode = exports.sUSDSPsmConfig[dexKey][network].referralCode) {
78
+ super(network, dexKey, dexHelper, config, daiAddress, sdaiAddress, potAddress, abiInterface, adapters, sdaiInterface, swapFunctions, referralCode);
79
+ this.network = network;
80
+ this.dexHelper = dexHelper;
81
+ this.config = config;
82
+ this.daiAddress = daiAddress;
83
+ this.sdaiAddress = sdaiAddress;
84
+ this.potAddress = potAddress;
85
+ this.abiInterface = abiInterface;
86
+ this.adapters = adapters;
87
+ this.sdaiInterface = sdaiInterface;
88
+ this.swapFunctions = swapFunctions;
89
+ this.referralCode = referralCode;
90
+ this.usdcAddress = config.usdcAddress;
91
+ this.daiPrecision = 10n ** BigInt(config.daiDecimals);
92
+ this.sDaiPrecision = 10n ** BigInt(config.sdaiDecimals);
93
+ this.usdcPrecision = 10n ** BigInt(config.usdcDecimals);
94
+ }
95
+ isUSDC(tokenAddress) {
96
+ return this.usdcAddress.toLowerCase() === tokenAddress.toLowerCase();
97
+ }
98
+ isAppropriatePair(srcToken, destToken) {
99
+ if (srcToken.address.toLowerCase() === destToken.address.toLowerCase()) {
100
+ return false;
101
+ }
102
+ const supportedTokens = [
103
+ this.daiAddress.toLowerCase(),
104
+ this.usdcAddress.toLowerCase(),
105
+ this.sdaiAddress.toLowerCase(),
106
+ ];
107
+ return (supportedTokens.indexOf(srcToken.address.toLowerCase()) > -1 &&
108
+ supportedTokens.indexOf(destToken.address.toLowerCase()) > -1);
109
+ }
110
+ convertOneToOne(assetPrecision, convertAssetPrecision) {
111
+ return (assets) => {
112
+ return (assets * convertAssetPrecision + assetPrecision) / assetPrecision;
113
+ };
114
+ }
115
+ previewSell(srcToken, destToken, amounts, state) {
116
+ let calcFunction;
117
+ const isDaiSrcAsset = this.isDai(srcToken.address);
118
+ const isUSDCToUSDS = this.isUSDC(srcToken.address) && this.isDai(destToken.address);
119
+ const isUSDSToUSDC = this.isDai(srcToken.address) && this.isUSDC(destToken.address);
120
+ const isUSDCSrcAsset = this.isUSDC(srcToken.address);
121
+ const isUSDCDestAsset = this.isUSDC(destToken.address);
122
+ if (isUSDCToUSDS) {
123
+ calcFunction = this.convertOneToOne(this.usdcPrecision, this.daiPrecision).bind(this);
124
+ }
125
+ else if (isUSDSToUSDC) {
126
+ calcFunction = this.convertOneToOne(this.daiPrecision, this.usdcPrecision).bind(this);
127
+ }
128
+ else if (isDaiSrcAsset) {
129
+ calcFunction = this.previewDeposit.bind(this);
130
+ }
131
+ else {
132
+ if (isUSDCSrcAsset) {
133
+ calcFunction = (assets, state) => {
134
+ const res = this.previewDeposit(assets, state);
135
+ return (res * this.sDaiPrecision) / this.usdcPrecision;
136
+ };
137
+ }
138
+ else if (isUSDCDestAsset) {
139
+ calcFunction = (assets, state) => {
140
+ const res = this.previewRedeem(assets, state);
141
+ return (res * this.usdcPrecision) / this.sDaiPrecision;
142
+ };
143
+ }
144
+ else {
145
+ calcFunction = this.previewRedeem.bind(this);
146
+ }
147
+ }
148
+ return amounts.map(amount => calcFunction(amount, state));
149
+ }
150
+ previewBuy(srcToken, destToken, amounts, state) {
151
+ let calcFunction;
152
+ const isDaiSrcAsset = this.isDai(srcToken.address);
153
+ const isUSDCToUSDS = this.isUSDC(srcToken.address) && this.isDai(destToken.address);
154
+ const isUSDSToUSDC = this.isDai(srcToken.address) && this.isUSDC(destToken.address);
155
+ const isUSDCSrcAsset = this.isUSDC(srcToken.address);
156
+ const isUSDCDestAsset = this.isUSDC(destToken.address);
157
+ if (isUSDCToUSDS) {
158
+ calcFunction = this.convertOneToOne(this.daiPrecision, this.usdcPrecision).bind(this);
159
+ }
160
+ else if (isUSDSToUSDC) {
161
+ calcFunction = this.convertOneToOne(this.usdcPrecision, this.daiPrecision).bind(this);
162
+ }
163
+ else if (isDaiSrcAsset) {
164
+ calcFunction = this.previewMint.bind(this);
165
+ }
166
+ else {
167
+ if (isUSDCSrcAsset) {
168
+ calcFunction = (assets, state) => {
169
+ const res = this.previewMint(assets, state);
170
+ return (res * this.usdcPrecision) / this.sDaiPrecision;
171
+ };
172
+ }
173
+ else if (isUSDCDestAsset) {
174
+ calcFunction = (assets, state) => {
175
+ const res = this.previewWithdraw(assets, state);
176
+ return (res * this.sDaiPrecision) / this.usdcPrecision;
177
+ };
178
+ }
179
+ else {
180
+ calcFunction = this.previewWithdraw.bind(this);
181
+ }
182
+ }
183
+ return amounts.map(amount => calcFunction(amount, state));
184
+ }
185
+ async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
186
+ if (!this.isAppropriatePair(srcToken, destToken))
187
+ return null;
188
+ const state = this.eventPool.getState(blockNumber);
189
+ if (!state)
190
+ return null;
191
+ let results;
192
+ if (side === constants_1.SwapSide.SELL) {
193
+ results = this.previewSell(srcToken, destToken, amounts, state);
194
+ }
195
+ else {
196
+ results = this.previewBuy(srcToken, destToken, amounts, state);
197
+ }
198
+ return [
199
+ {
200
+ // cannot produce 1:1 price without making an rpc call for block.timestamp and using it for price calculation in `calcChi` function
201
+ prices: results,
202
+ unit: bigint_constants_1.BI_POWS[18],
203
+ gasCost: constants_3.SDAI_DEPOSIT_GAS_COST,
204
+ exchange: this.dexKey,
205
+ data: { exchange: `${this.sdaiAddress}` },
206
+ poolAddresses: [`${this.sdaiAddress}`],
207
+ },
208
+ ];
209
+ }
210
+ getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
211
+ const isSell = side === constants_1.SwapSide.SELL;
212
+ let swapData;
213
+ if (isSell) {
214
+ swapData = this.sdaiInterface.encodeFunctionData('swapExactIn', [
215
+ srcToken,
216
+ destToken,
217
+ srcAmount,
218
+ destAmount,
219
+ recipient,
220
+ this.config.referralCode,
221
+ ]);
222
+ }
223
+ else {
224
+ swapData = this.sdaiInterface.encodeFunctionData('swapExactOut', [
225
+ srcToken,
226
+ destToken,
227
+ destAmount,
228
+ srcAmount,
229
+ recipient,
230
+ this.config.referralCode,
231
+ ]);
232
+ }
233
+ return {
234
+ needWrapNative: this.needWrapNative,
235
+ dexFuncHasRecipient: true,
236
+ exchangeData: swapData,
237
+ targetExchange: this.config.psmAddress,
238
+ returnAmountPos: isSell
239
+ ? (0, utils_2.extractReturnAmountPosition)(this.sdaiInterface, 'swapExactIn', 'amountOut')
240
+ : undefined,
241
+ };
242
+ }
243
+ }
244
+ exports.sUSDSPsm = sUSDSPsm;
245
+ //# sourceMappingURL=susds-psm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"susds-psm.js","sourceRoot":"","sources":["../../../src/dex/spark/susds-psm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { SwapSide } from '../constants';
3
+ import { AdapterExchangeParam, NumberAsString, SimpleExchangeParam } from '../types';
4
+ import { IDexTxBuilder } from './idex';
5
+ import { SimpleExchange } from './simple-exchange';
6
+ import { IDexHelper } from '../dex-helper';
7
+ declare type StablePoolData = {
8
+ exchange: string;
9
+ i: string;
10
+ j: string;
11
+ deadline: string;
12
+ };
13
+ declare type StablePoolParam = [
14
+ i: NumberAsString,
15
+ j: NumberAsString,
16
+ dx: NumberAsString,
17
+ min_dy: NumberAsString,
18
+ deadline?: string
19
+ ];
20
+ export declare class StablePool extends SimpleExchange implements IDexTxBuilder<StablePoolData, StablePoolParam> {
21
+ static dexKeys: string[];
22
+ exchangeRouterInterface: Interface;
23
+ minConversionRate: string;
24
+ constructor(dexHelper: IDexHelper);
25
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: StablePoolData, side: SwapSide): AdapterExchangeParam;
26
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: StablePoolData, side: SwapSide): Promise<SimpleExchangeParam>;
27
+ }
28
+ export {};