@paraswap/dex-lib 3.8.2 → 3.8.3

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 (346) hide show
  1. package/.vscode/launch.json +13 -0
  2. package/.vscode/settings.json +3 -0
  3. package/build/abi/AaveV1_lending_pool.json +27 -0
  4. package/build/abi/Uncompressor.json +250 -0
  5. package/build/abi/integral/factory.json +333 -0
  6. package/build/abi/integral/oracle.json +501 -0
  7. package/build/abi/integral/pool.json +1041 -0
  8. package/build/abi/integral/relayer.json +1536 -0
  9. package/build/abi/oswap/oswap.abi.json +452 -0
  10. package/build/abi/platypus/asset.json +490 -0
  11. package/build/abi/platypus/avax-pool.json +820 -0
  12. package/build/abi/platypus/oracle.json +119 -0
  13. package/build/abi/platypus/pool.json +677 -0
  14. package/build/abi/smardex/all/smardex-router.json +648 -0
  15. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  16. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  17. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  18. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  19. package/build/abi/swaap-v1/pool.json +1346 -0
  20. package/build/dex/aave-v1/aave-v1.d.ts +33 -0
  21. package/build/dex/aave-v1/aave-v1.js +158 -0
  22. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  23. package/build/dex/aave-v1/config.d.ts +11 -0
  24. package/build/dex/aave-v1/config.js +20 -0
  25. package/build/dex/aave-v1/config.js.map +1 -0
  26. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  27. package/build/dex/aave-v1/tokens.d.ts +3 -0
  28. package/build/dex/aave-v1/tokens.js +50 -0
  29. package/build/dex/aave-v1/tokens.js.map +1 -0
  30. package/build/dex/aave-v1/types.d.ts +12 -0
  31. package/build/dex/aave-v1/types.js +3 -0
  32. package/build/dex/aave-v1/types.js.map +1 -0
  33. package/build/dex/aave-v3/aave-v3.js +2 -1
  34. package/build/dex/aave-v3/aave-v3.js.map +1 -1
  35. package/build/dex/aave-v3-stata/aave-v3-stata.js +1 -0
  36. package/build/dex/aave-v3-stata/aave-v3-stata.js.map +1 -1
  37. package/build/dex/angle-staked-stable/angle-staked-stable.js +4 -1
  38. package/build/dex/angle-staked-stable/angle-staked-stable.js.map +1 -1
  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/compound.js +2 -1
  46. package/build/dex/compound/compound.js.map +1 -1
  47. package/build/dex/compound.d.ts +18 -0
  48. package/build/dex/compound.js +46 -0
  49. package/build/dex/compound.js.map +1 -0
  50. package/build/dex/curve-v2.d.ts +58 -0
  51. package/build/dex/curve-v2.js +180 -0
  52. package/build/dex/curve-v2.js.map +1 -0
  53. package/build/dex/dodo-v1.d.ts +33 -0
  54. package/build/dex/dodo-v1.js +63 -0
  55. package/build/dex/dodo-v1.js.map +1 -0
  56. package/build/dex/etherfi/etherfi.d.ts +26 -0
  57. package/build/dex/etherfi/etherfi.js +96 -0
  58. package/build/dex/etherfi/etherfi.js.map +1 -0
  59. package/build/dex/etherfi.js +4 -1
  60. package/build/dex/etherfi.js.map +1 -1
  61. package/build/dex/idle-dao/idle-dao.js +1 -0
  62. package/build/dex/idle-dao/idle-dao.js.map +1 -1
  63. package/build/dex/integral/config.d.ts +4 -0
  64. package/build/dex/integral/config.js +20 -0
  65. package/build/dex/integral/config.js.map +1 -0
  66. package/build/dex/integral/context.d.ts +33 -0
  67. package/build/dex/integral/context.js +98 -0
  68. package/build/dex/integral/context.js.map +1 -0
  69. package/build/dex/integral/helpers.d.ts +17 -0
  70. package/build/dex/integral/helpers.js +157 -0
  71. package/build/dex/integral/helpers.js.map +1 -0
  72. package/build/dex/integral/integral-factory.d.ts +21 -0
  73. package/build/dex/integral/integral-factory.js +92 -0
  74. package/build/dex/integral/integral-factory.js.map +1 -0
  75. package/build/dex/integral/integral-pool.d.ts +46 -0
  76. package/build/dex/integral/integral-pool.js +143 -0
  77. package/build/dex/integral/integral-pool.js.map +1 -0
  78. package/build/dex/integral/integral-pricing.d.ts +18 -0
  79. package/build/dex/integral/integral-pricing.js +114 -0
  80. package/build/dex/integral/integral-pricing.js.map +1 -0
  81. package/build/dex/integral/integral-relayer.d.ts +39 -0
  82. package/build/dex/integral/integral-relayer.js +189 -0
  83. package/build/dex/integral/integral-relayer.js.map +1 -0
  84. package/build/dex/integral/integral-token.d.ts +22 -0
  85. package/build/dex/integral/integral-token.js +55 -0
  86. package/build/dex/integral/integral-token.js.map +1 -0
  87. package/build/dex/integral/integral.d.ts +41 -0
  88. package/build/dex/integral/integral.js +382 -0
  89. package/build/dex/integral/integral.js.map +1 -0
  90. package/build/dex/integral/types.d.ts +84 -0
  91. package/build/dex/integral/types.js +9 -0
  92. package/build/dex/integral/types.js.map +1 -0
  93. package/build/dex/integral/utils.d.ts +6 -0
  94. package/build/dex/integral/utils.js +23 -0
  95. package/build/dex/integral/utils.js.map +1 -0
  96. package/build/dex/lido.d.ts +19 -0
  97. package/build/dex/lido.js +42 -0
  98. package/build/dex/lido.js.map +1 -0
  99. package/build/dex/mStable.js +1 -1
  100. package/build/dex/mStable.js.map +1 -1
  101. package/build/dex/onebit.d.ts +25 -0
  102. package/build/dex/onebit.js +42 -0
  103. package/build/dex/onebit.js.map +1 -0
  104. package/build/dex/oswap/config.d.ts +5 -0
  105. package/build/dex/oswap/config.js +31 -0
  106. package/build/dex/oswap/config.js.map +1 -0
  107. package/build/dex/oswap/oswap-pool.d.ts +51 -0
  108. package/build/dex/oswap/oswap-pool.js +150 -0
  109. package/build/dex/oswap/oswap-pool.js.map +1 -0
  110. package/build/dex/oswap/oswap.d.ts +46 -0
  111. package/build/dex/oswap/oswap.js +266 -0
  112. package/build/dex/oswap/oswap.js.map +1 -0
  113. package/build/dex/oswap/types.d.ts +20 -0
  114. package/build/dex/oswap/types.js +3 -0
  115. package/build/dex/oswap/types.js.map +1 -0
  116. package/build/dex/platypus/asset.d.ts +14 -0
  117. package/build/dex/platypus/asset.js +97 -0
  118. package/build/dex/platypus/asset.js.map +1 -0
  119. package/build/dex/platypus/config.d.ts +11 -0
  120. package/build/dex/platypus/config.js +69 -0
  121. package/build/dex/platypus/config.js.map +1 -0
  122. package/build/dex/platypus/platypus.d.ts +62 -0
  123. package/build/dex/platypus/platypus.js +442 -0
  124. package/build/dex/platypus/platypus.js.map +1 -0
  125. package/build/dex/platypus/pool-avax.d.ts +8 -0
  126. package/build/dex/platypus/pool-avax.js +54 -0
  127. package/build/dex/platypus/pool-avax.js.map +1 -0
  128. package/build/dex/platypus/pool-base.d.ts +19 -0
  129. package/build/dex/platypus/pool-base.js +86 -0
  130. package/build/dex/platypus/pool-base.js.map +1 -0
  131. package/build/dex/platypus/pool-pure.d.ts +8 -0
  132. package/build/dex/platypus/pool-pure.js +37 -0
  133. package/build/dex/platypus/pool-pure.js.map +1 -0
  134. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  135. package/build/dex/platypus/pool-subscriber.js +167 -0
  136. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  137. package/build/dex/platypus/pool.d.ts +8 -0
  138. package/build/dex/platypus/pool.js +58 -0
  139. package/build/dex/platypus/pool.js.map +1 -0
  140. package/build/dex/platypus/types.d.ts +92 -0
  141. package/build/dex/platypus/types.js +10 -0
  142. package/build/dex/platypus/types.js.map +1 -0
  143. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  144. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  145. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  146. package/build/dex/sdai/config.d.ts +11 -0
  147. package/build/dex/sdai/config.js +21 -0
  148. package/build/dex/sdai/config.js.map +1 -0
  149. package/build/dex/sdai/constants.d.ts +2 -0
  150. package/build/dex/sdai/constants.js +6 -0
  151. package/build/dex/sdai/constants.js.map +1 -0
  152. package/build/dex/sdai/scripts/validate-state.d.ts +1 -0
  153. package/build/dex/sdai/scripts/validate-state.js +102 -0
  154. package/build/dex/sdai/scripts/validate-state.js.map +1 -0
  155. package/build/dex/sdai/sdai-pool.d.ts +16 -0
  156. package/build/dex/sdai/sdai-pool.js +85 -0
  157. package/build/dex/sdai/sdai-pool.js.map +1 -0
  158. package/build/dex/sdai/sdai.d.ts +51 -0
  159. package/build/dex/sdai/sdai.js +172 -0
  160. package/build/dex/sdai/sdai.js.map +1 -0
  161. package/build/dex/sdai/types.d.ts +21 -0
  162. package/build/dex/sdai/types.js +11 -0
  163. package/build/dex/sdai/types.js.map +1 -0
  164. package/build/dex/sdai/utils.d.ts +4 -0
  165. package/build/dex/sdai/utils.js +39 -0
  166. package/build/dex/sdai/utils.js.map +1 -0
  167. package/build/dex/simple-exchange.d.ts +1 -1
  168. package/build/dex/simple-exchange.js +4 -2
  169. package/build/dex/simple-exchange.js.map +1 -1
  170. package/build/dex/smardex/config.d.ts +4 -0
  171. package/build/dex/smardex/config.js +64 -0
  172. package/build/dex/smardex/config.js.map +1 -0
  173. package/build/dex/smardex/constants.d.ts +18 -0
  174. package/build/dex/smardex/constants.js +33 -0
  175. package/build/dex/smardex/constants.js.map +1 -0
  176. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  177. package/build/dex/smardex/sdk/constants.js +13 -0
  178. package/build/dex/smardex/sdk/constants.js.map +1 -0
  179. package/build/dex/smardex/sdk/core.d.ts +113 -0
  180. package/build/dex/smardex/sdk/core.js +499 -0
  181. package/build/dex/smardex/sdk/core.js.map +1 -0
  182. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  183. package/build/dex/smardex/sdk/errors.js +22 -0
  184. package/build/dex/smardex/sdk/errors.js.map +1 -0
  185. package/build/dex/smardex/sdk/types.d.ts +62 -0
  186. package/build/dex/smardex/sdk/types.js +3 -0
  187. package/build/dex/smardex/sdk/types.js.map +1 -0
  188. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  189. package/build/dex/smardex/sdk/utils.js +133 -0
  190. package/build/dex/smardex/sdk/utils.js.map +1 -0
  191. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  192. package/build/dex/smardex/smardex-event-pool.js +119 -0
  193. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  194. package/build/dex/smardex/smardex.d.ts +65 -0
  195. package/build/dex/smardex/smardex.js +519 -0
  196. package/build/dex/smardex/smardex.js.map +1 -0
  197. package/build/dex/smardex/types.d.ts +55 -0
  198. package/build/dex/smardex/types.js +3 -0
  199. package/build/dex/smardex/types.js.map +1 -0
  200. package/build/dex/smoothy.d.ts +26 -0
  201. package/build/dex/smoothy.js +48 -0
  202. package/build/dex/smoothy.js.map +1 -0
  203. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  204. package/build/dex/solidly/forks-override/cone.js +53 -0
  205. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  206. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  207. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  208. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  209. package/build/dex/spark/spark.js +2 -1
  210. package/build/dex/spark/spark.js.map +1 -1
  211. package/build/dex/stable-pool.d.ts +28 -0
  212. package/build/dex/stable-pool.js +62 -0
  213. package/build/dex/stable-pool.js.map +1 -0
  214. package/build/dex/swaap-v1/config.d.ts +17 -0
  215. package/build/dex/swaap-v1/config.js +56 -0
  216. package/build/dex/swaap-v1/config.js.map +1 -0
  217. package/build/dex/swaap-v1/constants.d.ts +6 -0
  218. package/build/dex/swaap-v1/constants.js +17 -0
  219. package/build/dex/swaap-v1/constants.js.map +1 -0
  220. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  221. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  222. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  223. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  224. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  225. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  226. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  227. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  228. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  229. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  230. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  231. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  232. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  233. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  234. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  235. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  236. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  237. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  238. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  239. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  240. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  241. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  242. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  243. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  244. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  245. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  246. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  247. package/build/dex/swaap-v1/swaap-v1.d.ts +61 -0
  248. package/build/dex/swaap-v1/swaap-v1.js +369 -0
  249. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  250. package/build/dex/swaap-v1/types.d.ts +106 -0
  251. package/build/dex/swaap-v1/types.js +9 -0
  252. package/build/dex/swaap-v1/types.js.map +1 -0
  253. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  254. package/build/dex/trader-joe-v2.1.js +79 -0
  255. package/build/dex/trader-joe-v2.1.js.map +1 -0
  256. package/build/executor/Executor01BytecodeBuilder.js +3 -1
  257. package/build/executor/Executor01BytecodeBuilder.js.map +1 -1
  258. package/build/executor/Executor02BytecodeBuilder.js +3 -1
  259. package/build/executor/Executor02BytecodeBuilder.js.map +1 -1
  260. package/build/executor/Executor03BytecodeBuilder.js +2 -0
  261. package/build/executor/Executor03BytecodeBuilder.js.map +1 -1
  262. package/build/executor/ExecutorBytecodeBuilder.js +2 -0
  263. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  264. package/build/executor/compressor/Compressor.d.ts +23 -0
  265. package/build/executor/compressor/Compressor.js +144 -0
  266. package/build/executor/compressor/Compressor.js.map +1 -0
  267. package/build/executor/compressor/compress.d.ts +17 -0
  268. package/build/executor/compressor/compress.js +187 -0
  269. package/build/executor/compressor/compress.js.map +1 -0
  270. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +6 -0
  271. package/build/executor/compressor/compress_functions/addressSubstitution.js +29 -0
  272. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +1 -0
  273. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +10 -0
  274. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +40 -0
  275. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +1 -0
  276. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +11 -0
  277. package/build/executor/compressor/compress_functions/byteSubstitution.js +64 -0
  278. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +1 -0
  279. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +7 -0
  280. package/build/executor/compressor/compress_functions/ffSubstitution.js +54 -0
  281. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +1 -0
  282. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +8 -0
  283. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +67 -0
  284. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +1 -0
  285. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +8 -0
  286. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +61 -0
  287. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +1 -0
  288. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +6 -0
  289. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +37 -0
  290. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +1 -0
  291. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +9 -0
  292. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +33 -0
  293. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +1 -0
  294. package/build/executor/compressor/fetchSaved.d.ts +0 -0
  295. package/build/executor/compressor/fetchSaved.js +17 -0
  296. package/build/executor/compressor/fetchSaved.js.map +1 -0
  297. package/build/executor/compressor/utils/computeCostL2.d.ts +2 -0
  298. package/build/executor/compressor/utils/computeCostL2.js +14 -0
  299. package/build/executor/compressor/utils/computeCostL2.js.map +1 -0
  300. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +2 -0
  301. package/build/executor/compressor/utils/findLongestDuplicatedString.js +30 -0
  302. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +1 -0
  303. package/build/executor/compressor/utils/getAllIndexes.d.ts +2 -0
  304. package/build/executor/compressor/utils/getAllIndexes.js +12 -0
  305. package/build/executor/compressor/utils/getAllIndexes.js.map +1 -0
  306. package/build/executor/compressor/utils/getByteForAddress.d.ts +2 -0
  307. package/build/executor/compressor/utils/getByteForAddress.js +14 -0
  308. package/build/executor/compressor/utils/getByteForAddress.js.map +1 -0
  309. package/build/executor/compressor/utils/intTo2Bytes.d.ts +2 -0
  310. package/build/executor/compressor/utils/intTo2Bytes.js +14 -0
  311. package/build/executor/compressor/utils/intTo2Bytes.js.map +1 -0
  312. package/build/executor/compressor/utils/intTo3Bytes.d.ts +2 -0
  313. package/build/executor/compressor/utils/intTo3Bytes.js +18 -0
  314. package/build/executor/compressor/utils/intTo3Bytes.js.map +1 -0
  315. package/build/executor/compressor/utils/intToByte.d.ts +2 -0
  316. package/build/executor/compressor/utils/intToByte.js +10 -0
  317. package/build/executor/compressor/utils/intToByte.js.map +1 -0
  318. package/build/types.d.ts +1 -0
  319. package/package.json +1 -1
  320. package/src/dex/aave-v3/aave-v3-e2e.test.ts +4 -9
  321. package/src/dex/aave-v3/aave-v3.ts +5 -0
  322. package/src/dex/aave-v3-stata/aave-v3-stata.ts +1 -0
  323. package/src/dex/angle-staked-stable/angle-staked-stable.ts +8 -0
  324. package/src/dex/compound/compound.ts +5 -0
  325. package/src/dex/etherfi.ts +5 -0
  326. package/src/dex/idle-dao/idle-dao.ts +1 -0
  327. package/src/dex/simple-exchange.ts +5 -5
  328. package/src/dex/spark/spark-e2e.test.ts +9 -1
  329. package/src/dex/spark/spark.ts +5 -0
  330. package/src/executor/Executor01BytecodeBuilder.ts +3 -1
  331. package/src/executor/Executor02BytecodeBuilder.ts +3 -1
  332. package/src/executor/Executor03BytecodeBuilder.ts +2 -0
  333. package/src/executor/ExecutorBytecodeBuilder.ts +2 -0
  334. package/src/executor/executor01-bytecode-builder-e2e.test.ts +25 -0
  335. package/src/executor/executor02-bytecode-builder-e2e.test.ts +29 -0
  336. package/src/types.ts +1 -0
  337. package/tests/constants-e2e.ts +13 -13
  338. package/tests/utils-e2e.ts +1 -1
  339. package/.idea/aws.xml +0 -17
  340. package/.idea/codeStyles/Project.xml +0 -19
  341. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  342. package/.idea/misc.xml +0 -6
  343. package/.idea/modules.xml +0 -8
  344. package/.idea/paraswap-dex-lib.iml +0 -9
  345. package/.idea/prettier.xml +0 -7
  346. package/.idea/vcs.xml +0 -6
@@ -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"}
@@ -150,7 +150,7 @@ class Spark extends simple_exchange_1.SimpleExchange {
150
150
  this.augustusAddress,
151
151
  ]);
152
152
  }
153
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
153
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange, undefined, undefined, undefined, isSell && this.isDai(destToken));
154
154
  }
155
155
  getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
156
156
  const isSell = side === constants_1.SwapSide.SELL;
@@ -172,6 +172,7 @@ class Spark extends simple_exchange_1.SimpleExchange {
172
172
  ? types_1.SparkSDaiFunctions.deposit
173
173
  : types_1.SparkSDaiFunctions.redeem, this.isDai(srcToken) ? 'shares' : 'assets')
174
174
  : undefined,
175
+ skipApproval: isSell && this.isDai(destToken),
175
176
  };
176
177
  }
177
178
  getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
@@ -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,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 {};
@@ -0,0 +1,62 @@
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.StablePool = 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 StablePool_json_1 = __importDefault(require("../abi/StablePool.json"));
11
+ var StabePoolFunctions;
12
+ (function (StabePoolFunctions) {
13
+ StabePoolFunctions["swap"] = "swap";
14
+ })(StabePoolFunctions || (StabePoolFunctions = {}));
15
+ class StablePool extends simple_exchange_1.SimpleExchange {
16
+ constructor(dexHelper) {
17
+ super(dexHelper, 'stablePool');
18
+ this.minConversionRate = '1';
19
+ this.exchangeRouterInterface = new abi_1.Interface(StablePool_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, deadline } = data;
25
+ const payload = this.abiCoder.encodeParameter({
26
+ ParentStruct: {
27
+ i: 'int128',
28
+ j: 'int128',
29
+ deadline: 'uint256',
30
+ },
31
+ }, { i, j, deadline });
32
+ return {
33
+ targetExchange: data.exchange,
34
+ payload,
35
+ networkFee: '0',
36
+ };
37
+ }
38
+ async getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
39
+ if (side === constants_1.SwapSide.BUY)
40
+ throw new Error(`Buy not supported`);
41
+ const { exchange, i, j, deadline } = data;
42
+ const swapFunctionParams = [
43
+ i,
44
+ j,
45
+ srcAmount,
46
+ this.minConversionRate,
47
+ deadline,
48
+ ];
49
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(StabePoolFunctions.swap, swapFunctionParams);
50
+ return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, exchange);
51
+ }
52
+ }
53
+ exports.StablePool = StablePool;
54
+ StablePool.dexKeys = [
55
+ 'nerve',
56
+ 'saddle',
57
+ 'ironv2',
58
+ 'snowball',
59
+ 'axial',
60
+ 'zyberswapstable',
61
+ ];
62
+ //# sourceMappingURL=stable-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-pool.js","sourceRoot":"","sources":["../../src/dex/stable-pool.ts"],"names":[],"mappings":";;;;;;AAAA,4CAA+C;AAE/C,4CAAwC;AAQxC,uDAAmD;AACnD,6EAAmD;AAmBnD,IAAK,kBAEJ;AAFD,WAAK,kBAAkB;IACrB,mCAAa,CAAA;AACf,CAAC,EAFI,kBAAkB,KAAlB,kBAAkB,QAEtB;AAED,MAAa,UACX,SAAQ,gCAAc;IActB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAHjC,sBAAiB,GAAG,GAAG,CAAC;QAItB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAoB,EACpB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,QAAQ,EAAE,SAAS;aACpB;SACF,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CACnB,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,IAAoB,EACpB,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,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1C,MAAM,kBAAkB,GAAoB;YAC1C,CAAC;YACD,CAAC;YACD,SAAS;YACT,IAAI,CAAC,iBAAiB;YACtB,QAAQ;SACT,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,kBAAkB,CAAC,IAAI,EACvB,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;;AA/EH,gCAgFC;AA5EQ,kBAAO,GAAG;IACf,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,OAAO;IACP,iBAAiB;CAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const MAX_GAS_COST_ESTIMATION: number;
4
+ export declare const SUBGRAPH_TIMEOUT: number;
5
+ export declare const MAX_POOL_CNT = 1000;
6
+ export declare const POOL_CACHE_TTL: number;
7
+ export declare const RECCURING_POOL_FETCH_INTERVAL_MS: number;
8
+ export declare const SwaapV1Config: DexConfigMap<DexParams>;
9
+ export declare const Adapters: {
10
+ [chainId: number]: {
11
+ [side: string]: {
12
+ name: string;
13
+ index: number;
14
+ }[] | null;
15
+ };
16
+ };
17
+ export declare const SUBGRAPH_FETCH_ALL_POOOLS_RQ = "query ($count: Int) {\n pools: pools(first: $count, orderBy: liquidity, orderDirection: desc, where: {finalized: true}) {\n id\n tokens {\n address\n decimals\n oracleInitialState {\n proxy\n price: fixedPointPrice\n decimals\n }\n }\n liquidityUSD: liquidity\n swapFee\n dynamicCoverageFeesZ\n dynamicCoverageFeesHorizon\n priceStatisticsLookbackInSec\n priceStatisticsLookbackInRound\n priceStatisticsLookbackStepInRound\n maxPriceUnpegRatio\n }\n}";
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUBGRAPH_FETCH_ALL_POOOLS_RQ = exports.Adapters = exports.SwaapV1Config = exports.RECCURING_POOL_FETCH_INTERVAL_MS = exports.POOL_CACHE_TTL = exports.MAX_POOL_CNT = exports.SUBGRAPH_TIMEOUT = exports.MAX_GAS_COST_ESTIMATION = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.MAX_GAS_COST_ESTIMATION = 375 * 1000;
6
+ exports.SUBGRAPH_TIMEOUT = 1000 * 10;
7
+ exports.MAX_POOL_CNT = 1000;
8
+ exports.POOL_CACHE_TTL = 60 * 60; // 1hr
9
+ exports.RECCURING_POOL_FETCH_INTERVAL_MS = 12 * 3600 * 1000; // 12h (in ms)
10
+ exports.SwaapV1Config = {
11
+ SwaapV1: {
12
+ [constants_1.Network.POLYGON]: {
13
+ subgraphURL: 'https://api.thegraph.com/subgraphs/name/swaap-labs/swaapv1',
14
+ exchangeProxy: '0x718cc95685a0b0af73c2c8534243039a28687037',
15
+ },
16
+ },
17
+ };
18
+ exports.Adapters = {
19
+ [constants_1.Network.POLYGON]: {
20
+ [constants_1.SwapSide.SELL]: [
21
+ {
22
+ name: 'PolygonAdapter02',
23
+ index: 6,
24
+ },
25
+ ],
26
+ [constants_1.SwapSide.BUY]: [
27
+ {
28
+ name: 'PolygonBuyAdapter',
29
+ index: 4,
30
+ },
31
+ ],
32
+ },
33
+ };
34
+ exports.SUBGRAPH_FETCH_ALL_POOOLS_RQ = `query ($count: Int) {
35
+ pools: pools(first: $count, orderBy: liquidity, orderDirection: desc, where: {finalized: true}) {
36
+ id
37
+ tokens {
38
+ address
39
+ decimals
40
+ oracleInitialState {
41
+ proxy
42
+ price: fixedPointPrice
43
+ decimals
44
+ }
45
+ }
46
+ liquidityUSD: liquidity
47
+ swapFee
48
+ dynamicCoverageFeesZ
49
+ dynamicCoverageFeesHorizon
50
+ priceStatisticsLookbackInSec
51
+ priceStatisticsLookbackInRound
52
+ priceStatisticsLookbackStepInRound
53
+ maxPriceUnpegRatio
54
+ }
55
+ }`;
56
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/swaap-v1/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,uBAAuB,GAAG,GAAG,GAAG,IAAI,CAAC;AACrC,QAAA,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,QAAA,YAAY,GAAG,IAAI,CAAC;AACpB,QAAA,cAAc,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM;AAChC,QAAA,gCAAgC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,cAAc;AAEnE,QAAA,aAAa,GAA4B;IACpD,OAAO,EAAE;QACP,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,WAAW,EAAE,4DAA4D;YACzE,aAAa,EAAE,4CAA4C;SAC5D;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,CAAC;aACT;SACF;QACD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE;YACd;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC;AAEW,QAAA,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;EAqB1C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BigNumber } from '@0x/utils';
2
+ import { SwaapV1PoolParameters, SwaapV1PoolLiquidities, SwaapV1PoolOracles } from './types';
3
+ export declare const defaultParametersState: SwaapV1PoolParameters;
4
+ export declare const defaultLiquiditiesState: SwaapV1PoolLiquidities;
5
+ export declare const defaultOraclesState: SwaapV1PoolOracles;
6
+ export declare const protocolPrecision: BigNumber;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.protocolPrecision = exports.defaultOraclesState = exports.defaultLiquiditiesState = exports.defaultParametersState = void 0;
4
+ const utils_1 = require("@0x/utils");
5
+ exports.defaultParametersState = {
6
+ swapFee: BigInt(10 ** 12),
7
+ priceStatisticsLookbackInRound: 5,
8
+ priceStatisticsLookbackStepInRound: 4,
9
+ dynamicCoverageFeesZ: BigInt(6),
10
+ dynamicCoverageFeesHorizon: BigInt(5),
11
+ priceStatisticsLookbackInSec: BigInt(3600),
12
+ maxPriceUnpegRatio: BigInt(1025000000000000000),
13
+ };
14
+ exports.defaultLiquiditiesState = {};
15
+ exports.defaultOraclesState = {};
16
+ exports.protocolPrecision = new utils_1.BigNumber(10).pow(new utils_1.BigNumber(18));
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/swaap-v1/constants.ts"],"names":[],"mappings":";;;AAAA,qCAAsC;AAOzB,QAAA,sBAAsB,GAA0B;IAC3D,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IACzB,8BAA8B,EAAE,CAAC;IACjC,kCAAkC,EAAE,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC,CAAC,CAAC;IACrC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,mBAAmB,CAAC;CAChD,CAAC;AAEW,QAAA,uBAAuB,GAA2B,EAAE,CAAC;AAErD,QAAA,mBAAmB,GAAuB,EAAE,CAAC;AAE7C,QAAA,iBAAiB,GAAG,IAAI,iBAAS,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,iBAAS,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import * as Struct from './Struct';
2
+ import { ChainLinkData } from '../types';
3
+ export declare class ChainlinkUtils {
4
+ static getLatestRound(latestRoundId: number, historicalPrices: ChainLinkData, currentTimestamp: bigint): Struct.LatestRound;
5
+ /**
6
+ * @notice Retrieves historical data from round id.
7
+ * @dev Special cases:
8
+ * - if retrieved price is negative --> fails
9
+ * - if no data can be found --> returns (0,0)
10
+ * @param oracle The price feed oracle
11
+ * @param _roundId The the round of interest ID
12
+ * @return The round price
13
+ * @return The round timestamp
14
+ */
15
+ static getRoundData(_roundId: number, historicalPrices: ChainLinkData): [bigint, bigint];
16
+ /**
17
+ * @notice Computes the price of token 2 in terms of token 1
18
+ * @param price_1 The latest price data for token 1
19
+ * @param decimals_1 The sum of the decimals of token 1 its oracle
20
+ * @param price_2 The latest price data for token 2
21
+ * @param decimals_2 The sum of the decimals of token 2 its oracle
22
+ * @return The last price of token 2 divded by the last price of token 1
23
+ */
24
+ static getTokenRelativePrice(price_1: bigint, decimals_1: bigint, price_2: bigint, decimals_2: bigint): bigint;
25
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChainlinkUtils = void 0;
4
+ const Const_1 = require("./Const");
5
+ const Num_1 = require("./Num");
6
+ const _require = (b, message) => {
7
+ if (!b)
8
+ throw new Error(message);
9
+ };
10
+ class ChainlinkUtils {
11
+ static getLatestRound(latestRoundId, historicalPrices, currentTimestamp) {
12
+ let latestRoundData = historicalPrices[latestRoundId];
13
+ let latestPrice = latestRoundData.answer;
14
+ let latestTimestamp = latestRoundData.timestamp;
15
+ _require(currentTimestamp - latestTimestamp <= Const_1.Const.ORACLE_TIMEOUT, 'Err.EXCEEDED_ORACLE_TIMEOUT');
16
+ _require(latestPrice > 0, 'Err.NON_POSITIVE_PRICE');
17
+ return {
18
+ roundId: latestRoundId,
19
+ price: latestPrice,
20
+ timestamp: latestTimestamp,
21
+ };
22
+ }
23
+ /**
24
+ * @notice Retrieves historical data from round id.
25
+ * @dev Special cases:
26
+ * - if retrieved price is negative --> fails
27
+ * - if no data can be found --> returns (0,0)
28
+ * @param oracle The price feed oracle
29
+ * @param _roundId The the round of interest ID
30
+ * @return The round price
31
+ * @return The round timestamp
32
+ */
33
+ static getRoundData(_roundId, historicalPrices) {
34
+ let data = historicalPrices[_roundId];
35
+ _require(data != undefined, 'Err.UNAVAILABLE_HISTORICAL_PRICE');
36
+ _require(data.answer >= 0, 'Err.NEGATIVE_PRICE');
37
+ return [data.answer, data.timestamp];
38
+ }
39
+ /**
40
+ * @notice Computes the price of token 2 in terms of token 1
41
+ * @param price_1 The latest price data for token 1
42
+ * @param decimals_1 The sum of the decimals of token 1 its oracle
43
+ * @param price_2 The latest price data for token 2
44
+ * @param decimals_2 The sum of the decimals of token 2 its oracle
45
+ * @return The last price of token 2 divded by the last price of token 1
46
+ */
47
+ static getTokenRelativePrice(price_1, decimals_1, price_2, decimals_2) {
48
+ // we consider tokens price to be > 0
49
+ if (decimals_1 > decimals_2) {
50
+ return Num_1.Num.div(Num_1.Num.mul(price_2, 10n ** (decimals_1 - decimals_2) * Const_1.Const.ONE), price_1);
51
+ }
52
+ else if (decimals_1 < decimals_2) {
53
+ return Num_1.Num.div(Num_1.Num.div(price_2, price_1), 10n ** (decimals_2 - decimals_1) * Const_1.Const.ONE);
54
+ }
55
+ else {
56
+ // decimals_1 == decimals_2
57
+ return Num_1.Num.div(price_2, price_1);
58
+ }
59
+ }
60
+ }
61
+ exports.ChainlinkUtils = ChainlinkUtils;
62
+ //# sourceMappingURL=ChainlinkUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChainlinkUtils.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/ChainlinkUtils.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,+BAA4B;AAI5B,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAE,OAAe,EAAE,EAAE;IAC/C,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAa,cAAc;IACzB,MAAM,CAAC,cAAc,CACnB,aAAqB,EACrB,gBAA+B,EAC/B,gBAAwB;QAExB,IAAI,eAAe,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEtD,IAAI,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;QACzC,IAAI,eAAe,GAAG,eAAe,CAAC,SAAS,CAAC;QAEhD,QAAQ,CACN,gBAAgB,GAAG,eAAe,IAAI,aAAK,CAAC,cAAc,EAC1D,6BAA6B,CAC9B,CAAC;QACF,QAAQ,CAAC,WAAW,GAAG,CAAC,EAAE,wBAAwB,CAAC,CAAC;QAEpD,OAAO;YACL,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,eAAe;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CACjB,QAAgB,EAChB,gBAA+B;QAE/B,IAAI,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAEtC,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE,kCAAkC,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAEjD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,qBAAqB,CAC1B,OAAe,EACf,UAAkB,EAClB,OAAe,EACf,UAAkB;QAElB,qCAAqC;QACrC,IAAI,UAAU,GAAG,UAAU,EAAE;YAC3B,OAAO,SAAG,CAAC,GAAG,CACZ,SAAG,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,aAAK,CAAC,GAAG,CAAC,EAC9D,OAAO,CACR,CAAC;SACH;aAAM,IAAI,UAAU,GAAG,UAAU,EAAE;YAClC,OAAO,SAAG,CAAC,GAAG,CACZ,SAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EACzB,GAAG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,aAAK,CAAC,GAAG,CAC7C,CAAC;SACH;aAAM;YACL,2BAA2B;YAC3B,OAAO,SAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAClC;IACH,CAAC;CAmEF;AA9ID,wCA8IC"}
@@ -0,0 +1,18 @@
1
+ export declare class Const {
2
+ static ONE: bigint;
3
+ static MIN_POW_BASE: bigint;
4
+ static MAX_POW_BASE: bigint;
5
+ static POW_PRECISION: bigint;
6
+ static ORACLE_TIMEOUT: bigint;
7
+ static MIN_FEE: bigint;
8
+ static EXIT_FEE: bigint;
9
+ static BASE_Z: bigint;
10
+ static BASE_HORIZON: bigint;
11
+ static BASE_LOOKBACK_IN_ROUND: number;
12
+ static BASE_LOOKBACK_IN_SEC: bigint;
13
+ static LOOKBACK_STEP_IN_ROUND: number;
14
+ static MAX_IN_RATIO: bigint;
15
+ static MAX_OUT_RATIO: bigint;
16
+ static FALLBACK_SPREAD: bigint;
17
+ static BASE_MAX_PRICE_UNPEG_RATIO: bigint;
18
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Const = void 0;
5
+ const bigint_constants_1 = require("../../../bigint-constants");
6
+ class Const {
7
+ }
8
+ exports.Const = Const;
9
+ _a = Const;
10
+ Const.ONE = bigint_constants_1.BI_POWS[18];
11
+ Const.MIN_POW_BASE = 1n;
12
+ Const.MAX_POW_BASE = 2n * _a.ONE - 1n;
13
+ Const.POW_PRECISION = _a.ONE / 10n ** 10n;
14
+ Const.ORACLE_TIMEOUT = 2n * 60n;
15
+ Const.MIN_FEE = _a.ONE / 10n ** 6n;
16
+ Const.EXIT_FEE = 0n;
17
+ Const.BASE_Z = 6n * _a.ONE;
18
+ Const.BASE_HORIZON = 5n * _a.ONE;
19
+ Const.BASE_LOOKBACK_IN_ROUND = 5;
20
+ Const.BASE_LOOKBACK_IN_SEC = 3600n;
21
+ Const.LOOKBACK_STEP_IN_ROUND = 4;
22
+ Const.MAX_IN_RATIO = _a.ONE / 2n;
23
+ Const.MAX_OUT_RATIO = _a.ONE / 3n + 1n;
24
+ Const.FALLBACK_SPREAD = (3n * _a.ONE) / 1000n;
25
+ Const.BASE_MAX_PRICE_UNPEG_RATIO = _a.ONE + _a.ONE / 40n;
26
+ //# sourceMappingURL=Const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Const.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/Const.ts"],"names":[],"mappings":";;;;AAAA,gEAAoD;AAEpD,MAAa,KAAK;;AAAlB,sBA0BC;;AAzBQ,SAAG,GAAG,0BAAO,CAAC,EAAE,CAAC,CAAC;AAElB,kBAAY,GAAG,EAAE,CAAC;AAClB,kBAAY,GAAG,EAAE,GAAG,EAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AAElC,mBAAa,GAAG,EAAI,CAAC,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC;AAEtC,oBAAc,GAAG,EAAE,GAAG,GAAG,CAAC;AAE1B,aAAO,GAAG,EAAI,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC;AAC/B,cAAQ,GAAG,EAAE,CAAC;AAEd,YAAM,GAAG,EAAE,GAAG,EAAI,CAAC,GAAG,CAAC;AACvB,kBAAY,GAAG,EAAE,GAAG,EAAI,CAAC,GAAG,CAAC;AAE7B,4BAAsB,GAAG,CAAC,CAAC;AAC3B,0BAAoB,GAAG,KAAK,CAAC;AAC7B,4BAAsB,GAAG,CAAC,CAAC;AAE3B,kBAAY,GAAG,EAAI,CAAC,GAAG,GAAG,EAAE,CAAC;AAC7B,mBAAa,GAAG,EAAI,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;AAEnC,qBAAe,GAAG,CAAC,EAAE,GAAG,EAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1C,gCAA0B,GAAG,EAAI,CAAC,GAAG,GAAG,EAAI,CAAC,GAAG,GAAG,GAAG,CAAC"}