@paraswap/dex-lib 3.4.3-thegraph-migration.0 → 3.4.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 (339) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/build/abi/AugustusV6.abi.json +395 -0
  10. package/build/abi/algebra/AlgebraPool.abi.json +727 -0
  11. package/build/abi/curve-v1/StableSwapFRXETH.json +889 -0
  12. package/build/abi/curve-v1/StableSwapWBETH.json +1223 -0
  13. package/build/abi/{wombat/pool.json → integral/relayer.json} +446 -587
  14. package/build/abi/sushiswap-v3/QuoterV2.json +267 -0
  15. package/build/abi/sushiswap-v3/RouterProcessor3.json +289 -0
  16. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +193 -0
  17. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +285 -0
  18. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +583 -0
  19. package/build/abi/wBETH.json +1527 -0
  20. package/build/abi/woo-fi/WooFeeManager.abi.json +318 -0
  21. package/build/abi/woo-fi/WooPP.abi.json +548 -0
  22. package/build/abi/woo-fi/Wooracle.abi.json +260 -0
  23. package/build/config.js +1 -2
  24. package/build/config.js.map +1 -1
  25. package/build/dex/aave-v3/tokens/arbitrum.json +50 -0
  26. package/build/dex/aave-v3/tokens/avalanche.json +74 -0
  27. package/build/dex/aave-v3/tokens/fantom.json +62 -0
  28. package/build/dex/aave-v3/tokens/optimism.json +50 -0
  29. package/build/dex/aave-v3/tokens/polygon.json +116 -0
  30. package/build/dex/algebra/algebra-pool.d.ts +114 -0
  31. package/build/dex/algebra/algebra-pool.js +448 -0
  32. package/build/dex/algebra/algebra-pool.js.map +1 -0
  33. package/build/dex/algebra/algebra.js +1 -1
  34. package/build/dex/algebra/algebra.js.map +1 -1
  35. package/build/dex/algebra/config.js +4 -4
  36. package/build/dex/algebra/config.js.map +1 -1
  37. package/build/dex/balancer-v1/balancer-v1.js +2 -2
  38. package/build/dex/balancer-v1/balancer-v1.js.map +1 -1
  39. package/build/dex/balancer-v1/config.js +1 -1
  40. package/build/dex/balancer-v1/config.js.map +1 -1
  41. package/build/dex/balancer-v2/Gyro3Pool.d.ts +43 -0
  42. package/build/dex/balancer-v2/Gyro3Pool.js +160 -0
  43. package/build/dex/balancer-v2/Gyro3Pool.js.map +1 -0
  44. package/build/dex/balancer-v2/LinearMath.d.ts +88 -0
  45. package/build/dex/balancer-v2/LinearMath.js +285 -0
  46. package/build/dex/balancer-v2/LinearMath.js.map +1 -0
  47. package/build/dex/balancer-v2/LinearPool.d.ts +81 -0
  48. package/build/dex/balancer-v2/LinearPool.js +444 -0
  49. package/build/dex/balancer-v2/LinearPool.js.map +1 -0
  50. package/build/dex/balancer-v2/PhantomStablePool.d.ts +90 -0
  51. package/build/dex/balancer-v2/PhantomStablePool.js +418 -0
  52. package/build/dex/balancer-v2/PhantomStablePool.js.map +1 -0
  53. package/build/dex/balancer-v2/StableMath.d.ts +9 -0
  54. package/build/dex/balancer-v2/StableMath.js +272 -0
  55. package/build/dex/balancer-v2/StableMath.js.map +1 -0
  56. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +140 -0
  57. package/build/dex/balancer-v2/balancer-v2-pool.js +647 -0
  58. package/build/dex/balancer-v2/balancer-v2-pool.js.map +1 -0
  59. package/build/dex/balancer-v2/balancer-v2.js +4 -4
  60. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  61. package/build/dex/balancer-v2/config.js +6 -6
  62. package/build/dex/balancer-v2/config.js.map +1 -1
  63. package/build/dex/camelot/camelot.js +2 -2
  64. package/build/dex/camelot/camelot.js.map +1 -1
  65. package/build/dex/camelot/config.js +1 -1
  66. package/build/dex/camelot/config.js.map +1 -1
  67. package/build/dex/curve-v1/pools/frxETHpool.d.ts +7 -0
  68. package/build/dex/curve-v1/pools/frxETHpool.js +27 -0
  69. package/build/dex/curve-v1/pools/frxETHpool.js.map +1 -0
  70. package/build/dex/curve-v1/pools/wbETHpool.d.ts +29 -0
  71. package/build/dex/curve-v1/pools/wbETHpool.js +408 -0
  72. package/build/dex/curve-v1/pools/wbETHpool.js.map +1 -0
  73. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.d.ts +4 -0
  74. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.js +80 -0
  75. package/build/dex/curve-v1-factory/price-handlers/functions/get_dx.js.map +1 -0
  76. package/build/dex/curve-v1-stable-ng/config.d.ts +5 -0
  77. package/build/dex/curve-v1-stable-ng/config.js +204 -0
  78. package/build/dex/curve-v1-stable-ng/config.js.map +1 -0
  79. package/build/dex/curve-v1-stable-ng/curve-v1-stable-ng.d.ts +18 -0
  80. package/build/dex/curve-v1-stable-ng/curve-v1-stable-ng.js +23 -0
  81. package/build/dex/curve-v1-stable-ng/curve-v1-stable-ng.js.map +1 -0
  82. package/build/dex/integral/config.d.ts +4 -0
  83. package/build/dex/integral/config.js +18 -0
  84. package/build/dex/integral/config.js.map +1 -0
  85. package/build/dex/integral/integral-pool.d.ts +39 -0
  86. package/build/dex/integral/integral-pool.js +67 -0
  87. package/build/dex/integral/integral-pool.js.map +1 -0
  88. package/build/dex/integral/integral.d.ts +48 -0
  89. package/build/dex/integral/integral.js +402 -0
  90. package/build/dex/integral/integral.js.map +1 -0
  91. package/build/dex/integral/types.d.ts +25 -0
  92. package/build/dex/integral/types.js +9 -0
  93. package/build/dex/integral/types.js.map +1 -0
  94. package/build/dex/kyberdmm/config.js +4 -4
  95. package/build/dex/kyberdmm/config.js.map +1 -1
  96. package/build/dex/kyberdmm/kyberdmm.js +2 -2
  97. package/build/dex/kyberdmm/kyberdmm.js.map +1 -1
  98. package/build/dex/lighter-v1/abi/erc20.json +222 -0
  99. package/build/dex/lighter-v1/abi/factory.json +291 -0
  100. package/build/dex/lighter-v1/abi/order_book.json +594 -0
  101. package/build/dex/lighter-v1/abi/order_book_helper.json +176 -0
  102. package/build/dex/lighter-v1/abi/router.json +488 -0
  103. package/build/dex/lighter-v1/config.d.ts +4 -0
  104. package/build/dex/lighter-v1/config.js +17 -0
  105. package/build/dex/lighter-v1/config.js.map +1 -0
  106. package/build/dex/lighter-v1/constants.d.ts +2 -0
  107. package/build/dex/lighter-v1/constants.js +13 -0
  108. package/build/dex/lighter-v1/constants.js.map +1 -0
  109. package/build/dex/lighter-v1/lighter-v1-pool.d.ts +57 -0
  110. package/build/dex/lighter-v1/lighter-v1-pool.js +310 -0
  111. package/build/dex/lighter-v1/lighter-v1-pool.js.map +1 -0
  112. package/build/dex/lighter-v1/lighter-v1.d.ts +45 -0
  113. package/build/dex/lighter-v1/lighter-v1.js +331 -0
  114. package/build/dex/lighter-v1/lighter-v1.js.map +1 -0
  115. package/build/dex/lighter-v1/types.d.ts +40 -0
  116. package/build/dex/lighter-v1/types.js +3 -0
  117. package/build/dex/lighter-v1/types.js.map +1 -0
  118. package/build/dex/maverick-v1/config.js +1 -1
  119. package/build/dex/maverick-v1/config.js.map +1 -1
  120. package/build/dex/maverick-v1/maverick-v1.js +2 -2
  121. package/build/dex/maverick-v1/maverick-v1.js.map +1 -1
  122. package/build/dex/pancakeswap-v3/config.js +4 -4
  123. package/build/dex/pancakeswap-v3/config.js.map +1 -1
  124. package/build/dex/pancakeswap-v3/constants.d.ts +1 -1
  125. package/build/dex/pancakeswap-v3/constants.js +1 -1
  126. package/build/dex/pancakeswap-v3/constants.js.map +1 -1
  127. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +1 -1
  128. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  129. package/build/dex/pancakeswap-v3/types.d.ts +14 -0
  130. package/build/dex/pancakeswap-v3/types.js +3 -0
  131. package/build/dex/pancakeswap-v3/types.js.map +1 -0
  132. package/build/dex/quickswap/camelot-v3.d.ts +6 -0
  133. package/build/dex/quickswap/camelot-v3.js +19 -0
  134. package/build/dex/quickswap/camelot-v3.js.map +1 -0
  135. package/build/dex/quickswap/zyberswap-v3.d.ts +6 -0
  136. package/build/dex/quickswap/zyberswap-v3.js +19 -0
  137. package/build/dex/quickswap/zyberswap-v3.js.map +1 -0
  138. package/build/dex/quickswap-v3.d.ts +21 -0
  139. package/build/dex/quickswap-v3.js +40 -0
  140. package/build/dex/quickswap-v3.js.map +1 -0
  141. package/build/dex/ramses-v2/config.d.ts +4 -0
  142. package/build/dex/ramses-v2/config.js +28 -0
  143. package/build/dex/ramses-v2/config.js.map +1 -0
  144. package/build/dex/ramses-v2/constants.d.ts +28 -0
  145. package/build/dex/ramses-v2/constants.js +35 -0
  146. package/build/dex/ramses-v2/constants.js.map +1 -0
  147. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +4 -0
  148. package/build/dex/ramses-v2/contract-math/BitMath.js +93 -0
  149. package/build/dex/ramses-v2/contract-math/BitMath.js.map +1 -0
  150. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +3 -0
  151. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +8 -0
  152. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +1 -0
  153. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +4 -0
  154. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +9 -0
  155. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +1 -0
  156. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +4 -0
  157. package/build/dex/ramses-v2/contract-math/FullMath.js +19 -0
  158. package/build/dex/ramses-v2/contract-math/FullMath.js.map +1 -0
  159. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +3 -0
  160. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +22 -0
  161. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +1 -0
  162. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +10 -0
  163. package/build/dex/ramses-v2/contract-math/Oracle.js +133 -0
  164. package/build/dex/ramses-v2/contract-math/Oracle.js.map +1 -0
  165. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +10 -0
  166. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +91 -0
  167. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +1 -0
  168. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +8 -0
  169. package/build/dex/ramses-v2/contract-math/SwapMath.js +70 -0
  170. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +1 -0
  171. package/build/dex/ramses-v2/contract-math/Tick.d.ts +7 -0
  172. package/build/dex/ramses-v2/contract-math/Tick.js +45 -0
  173. package/build/dex/ramses-v2/contract-math/Tick.js.map +1 -0
  174. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +8 -0
  175. package/build/dex/ramses-v2/contract-math/TickBitMap.js +87 -0
  176. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +1 -0
  177. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +8 -0
  178. package/build/dex/ramses-v2/contract-math/TickMath.js +162 -0
  179. package/build/dex/ramses-v2/contract-math/TickMath.js.map +1 -0
  180. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +3 -0
  181. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +10 -0
  182. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +1 -0
  183. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +18 -0
  184. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +392 -0
  185. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +1 -0
  186. package/build/dex/ramses-v2/contract-math/utils.d.ts +3 -0
  187. package/build/dex/ramses-v2/contract-math/utils.js +16 -0
  188. package/build/dex/ramses-v2/contract-math/utils.js.map +1 -0
  189. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +42 -0
  190. package/build/dex/ramses-v2/ramses-v2-pool.js +307 -0
  191. package/build/dex/ramses-v2/ramses-v2-pool.js.map +1 -0
  192. package/build/dex/ramses-v2/ramses-v2.d.ts +61 -0
  193. package/build/dex/ramses-v2/ramses-v2.js +690 -0
  194. package/build/dex/ramses-v2/ramses-v2.js.map +1 -0
  195. package/build/dex/ramses-v2/types.d.ts +154 -0
  196. package/build/dex/ramses-v2/types.js +9 -0
  197. package/build/dex/ramses-v2/types.js.map +1 -0
  198. package/build/dex/ramses-v2/utils.d.ts +6 -0
  199. package/build/dex/ramses-v2/utils.js +71 -0
  200. package/build/dex/ramses-v2/utils.js.map +1 -0
  201. package/build/dex/solidly/config.js +10 -8
  202. package/build/dex/solidly/config.js.map +1 -1
  203. package/build/dex/solidly/forks-override/chronos.js +2 -2
  204. package/build/dex/solidly/forks-override/chronos.js.map +1 -1
  205. package/build/dex/solidly/forks-override/fvm.d.ts +20 -0
  206. package/build/dex/solidly/forks-override/fvm.js +42 -0
  207. package/build/dex/solidly/forks-override/fvm.js.map +1 -0
  208. package/build/dex/solidly/forks-override/ramses.js +4 -4
  209. package/build/dex/solidly/forks-override/ramses.js.map +1 -1
  210. package/build/dex/solidly/solidly.js +2 -2
  211. package/build/dex/solidly/solidly.js.map +1 -1
  212. package/build/dex/solidly-v3/config.js +2 -2
  213. package/build/dex/solidly-v3/config.js.map +1 -1
  214. package/build/dex/solidly-v3/constants.d.ts +1 -1
  215. package/build/dex/solidly-v3/constants.js +1 -1
  216. package/build/dex/solidly-v3/constants.js.map +1 -1
  217. package/build/dex/solidly-v3/solidly-v3.js +1 -1
  218. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  219. package/build/dex/stable-pool.js +8 -1
  220. package/build/dex/stable-pool.js.map +1 -1
  221. package/build/dex/sushiswap-v3/config.d.ts +4 -0
  222. package/build/dex/sushiswap-v3/config.js +132 -0
  223. package/build/dex/sushiswap-v3/config.js.map +1 -0
  224. package/build/dex/sushiswap-v3/constants.d.ts +4 -0
  225. package/build/dex/sushiswap-v3/constants.js +32 -0
  226. package/build/dex/sushiswap-v3/constants.js.map +1 -0
  227. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +56 -0
  228. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +598 -0
  229. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +1 -0
  230. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +1 -0
  231. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +6 -0
  232. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +1 -0
  233. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +21 -0
  234. package/build/dex/sushiswap-v3/sushiswap-v3.js +58 -0
  235. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +1 -0
  236. package/build/dex/sushiswap-v3/token.d.ts +6 -0
  237. package/build/dex/sushiswap-v3/token.js +23 -0
  238. package/build/dex/sushiswap-v3/token.js.map +1 -0
  239. package/build/dex/sushiswap-v3/types.d.ts +15 -0
  240. package/build/dex/sushiswap-v3/types.js +18 -0
  241. package/build/dex/sushiswap-v3/types.js.map +1 -0
  242. package/build/dex/uniswap-v2/config.js +36 -29
  243. package/build/dex/uniswap-v2/config.js.map +1 -1
  244. package/build/dex/uniswap-v2/dfyn.js +1 -1
  245. package/build/dex/uniswap-v2/dfyn.js.map +1 -1
  246. package/build/dex/uniswap-v2/nomiswap-v2.js +1 -1
  247. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -1
  248. package/build/dex/uniswap-v2/types.d.ts +0 -1
  249. package/build/dex/uniswap-v2/uniswap-v2.d.ts +1 -2
  250. package/build/dex/uniswap-v2/uniswap-v2.js +3 -5
  251. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  252. package/build/dex/uniswap-v3/config.js +18 -17
  253. package/build/dex/uniswap-v3/config.js.map +1 -1
  254. package/build/dex/uniswap-v3/constants.d.ts +1 -1
  255. package/build/dex/uniswap-v3/constants.js +1 -1
  256. package/build/dex/uniswap-v3/constants.js.map +1 -1
  257. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +12 -0
  258. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +23 -0
  259. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +1 -0
  260. package/build/dex/uniswap-v3/uniswap-v3.js +2 -2
  261. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  262. package/build/dex/weth/config.js +3 -0
  263. package/build/dex/weth/config.js.map +1 -1
  264. package/build/dex/woo-fi/config.d.ts +4 -0
  265. package/build/dex/woo-fi/config.js +141 -0
  266. package/build/dex/woo-fi/config.js.map +1 -0
  267. package/build/dex/woo-fi/constants.d.ts +5 -0
  268. package/build/dex/woo-fi/constants.js +20 -0
  269. package/build/dex/woo-fi/constants.js.map +1 -0
  270. package/build/dex/woo-fi/types.d.ts +48 -0
  271. package/build/dex/woo-fi/types.js +3 -0
  272. package/build/dex/woo-fi/types.js.map +1 -0
  273. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +14 -0
  274. package/build/dex/woo-fi/woo-fi-decimal-math.js +42 -0
  275. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +1 -0
  276. package/build/dex/woo-fi/woo-fi-math.d.ts +31 -0
  277. package/build/dex/woo-fi/woo-fi-math.js +300 -0
  278. package/build/dex/woo-fi/woo-fi-math.js.map +1 -0
  279. package/build/dex/woo-fi/woo-fi.d.ts +65 -0
  280. package/build/dex/woo-fi/woo-fi.js +480 -0
  281. package/build/dex/woo-fi/woo-fi.js.map +1 -0
  282. package/build/dex-helper/dummy-dex-helper.d.ts +0 -10
  283. package/build/dex-helper/dummy-dex-helper.js +1 -19
  284. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  285. package/build/dex-helper/irequest-wrapper.d.ts +0 -8
  286. package/build/executor/IExecutorBytecodeBuilder.d.ts +6 -0
  287. package/build/executor/IExecutorBytecodeBuilder.js +3 -0
  288. package/build/executor/IExecutorBytecodeBuilder.js.map +1 -0
  289. package/build/types.d.ts +0 -1
  290. package/package.json +1 -1
  291. package/src/config.ts +1 -2
  292. package/src/dex/algebra/algebra.ts +3 -2
  293. package/src/dex/algebra/config.ts +8 -4
  294. package/src/dex/balancer-v1/balancer-v1.ts +14 -16
  295. package/src/dex/balancer-v1/config.ts +2 -1
  296. package/src/dex/balancer-v2/balancer-v2.ts +13 -11
  297. package/src/dex/balancer-v2/config.ts +12 -6
  298. package/src/dex/camelot/camelot.ts +2 -2
  299. package/src/dex/camelot/config.ts +2 -1
  300. package/src/dex/kyberdmm/config.ts +8 -4
  301. package/src/dex/kyberdmm/kyberdmm.ts +2 -2
  302. package/src/dex/maverick-v1/config.ts +2 -1
  303. package/src/dex/maverick-v1/maverick-v1.ts +6 -5
  304. package/src/dex/pancakeswap-v3/config.ts +8 -4
  305. package/src/dex/pancakeswap-v3/constants.ts +1 -1
  306. package/src/dex/pancakeswap-v3/pancakeswap-v3.ts +3 -2
  307. package/src/dex/solidly/config.ts +16 -8
  308. package/src/dex/solidly/forks-override/chronos.ts +2 -2
  309. package/src/dex/solidly/forks-override/ramses.ts +4 -4
  310. package/src/dex/solidly/solidly.ts +2 -2
  311. package/src/dex/solidly-v3/config.ts +4 -2
  312. package/src/dex/solidly-v3/constants.ts +1 -1
  313. package/src/dex/solidly-v3/solidly-v3.ts +3 -2
  314. package/src/dex/uniswap-v2/config.ts +65 -29
  315. package/src/dex/uniswap-v2/dfyn.ts +1 -1
  316. package/src/dex/uniswap-v2/nomiswap-v2.ts +2 -1
  317. package/src/dex/uniswap-v2/types.ts +0 -1
  318. package/src/dex/uniswap-v2/uniswap-v2.ts +2 -7
  319. package/src/dex/uniswap-v3/config.ts +31 -17
  320. package/src/dex/uniswap-v3/constants.ts +1 -1
  321. package/src/dex/uniswap-v3/uniswap-v3.ts +4 -3
  322. package/src/dex/weth/config.ts +3 -0
  323. package/src/dex-helper/dummy-dex-helper.ts +2 -31
  324. package/src/dex-helper/irequest-wrapper.ts +0 -9
  325. package/src/types.ts +0 -1
  326. package/.vscode/launch.json +0 -53
  327. package/.vscode/settings.json +0 -2
  328. package/.vscode/tasks.json +0 -15
  329. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
  330. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
  331. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  332. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  333. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  334. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  335. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
  336. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
  337. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
  338. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +0 -1
  339. package/changes.txt +0 -719
@@ -0,0 +1,408 @@
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.WBETHPool = exports.address = void 0;
7
+ const utils_1 = require("../../../utils");
8
+ const StableSwapWBETH_json_1 = __importDefault(require("../../../abi/curve-v1/StableSwapWBETH.json"));
9
+ const wBETH_json_1 = __importDefault(require("../../../abi/wBETH.json"));
10
+ const bignumber_constants_1 = require("../../../bignumber-constants");
11
+ const lodash_1 = __importDefault(require("lodash"));
12
+ const curve_pool_1 = require("./curve-pool");
13
+ const abi_1 = require("@ethersproject/abi");
14
+ const wBETHInterface = new abi_1.Interface(wBETH_json_1.default);
15
+ const pool = 'wbETH';
16
+ exports.address = '0xbfab6fa95e0091ed66058ad493189d2cb29385e6'.toLowerCase();
17
+ const tokenAddress = '0xbfab6fa95e0091ed66058ad493189d2cb29385e6';
18
+ const N_COINS = 2;
19
+ const PRECISION_MUL = ['1', '1'].map(utils_1.bigNumberify);
20
+ const A_PRECISION = (0, utils_1.bigNumberify)(100);
21
+ const USE_LENDING = [false, false];
22
+ const ADMIN_FEE = (0, utils_1.bigNumberify)(5000000000);
23
+ const COINS = [
24
+ '0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE',
25
+ '0xa2e3356610840701bdf5611a53974510ae27e2e1',
26
+ ];
27
+ const trackCoins = true;
28
+ class WBETHPool extends curve_pool_1.CurvePool {
29
+ constructor(parentName, dexHelper, _pool = pool, _address = exports.address, _tokenAddress = tokenAddress, _trackCoins = trackCoins, _abi = StableSwapWBETH_json_1.default, _N_COINS = N_COINS, _PRECISION_MUL = PRECISION_MUL, _USE_LENDING = USE_LENDING, _COINS = COINS, prefix = 'WBETHPool') {
30
+ super(parentName, dexHelper, dexHelper.getLogger(prefix), _pool, _address, _tokenAddress, _trackCoins, _abi, _N_COINS, _PRECISION_MUL, _USE_LENDING, _COINS);
31
+ this.isAdminBalancesSupported = true;
32
+ this.decoder = (log) => {
33
+ if (this.trackCoins &&
34
+ lodash_1.default.findIndex(this.COINS, c => c.toLowerCase() === log.address.toLowerCase()) != -1)
35
+ return wBETHInterface.parseLog(log);
36
+ return this.poolIface.parseLog(log);
37
+ };
38
+ // Add pool specific handlers or overloaded handlers
39
+ this.handlers['RemoveLiquidityOne'] =
40
+ this.handleRemoveLiquidityOne.bind(this);
41
+ this.handlers['CommitNewFee'] = this.handleNewFee.bind(this);
42
+ this.handlers['Transfer'] = this.handleCoinTransfer.bind(this);
43
+ this.handlers['ExchangeRateUpdated'] = this.handleExchangeRateUpdated.bind(this);
44
+ }
45
+ processLog(state, log) {
46
+ let _state = {
47
+ A: (0, utils_1.bigNumberify)(state.A),
48
+ fee: (0, utils_1.bigNumberify)(state.fee),
49
+ admin_fee: (0, utils_1.bigNumberify)(state.admin_fee),
50
+ supply: (0, utils_1.bigNumberify)(state.supply),
51
+ balances: state.balances.map(utils_1.bigNumberify),
52
+ eth_balance: (0, utils_1.bigNumberify)(state.eth_balance),
53
+ token_balance: (0, utils_1.bigNumberify)(state.token_balance),
54
+ stored_rates: state.stored_rates.map(utils_1.bigNumberify),
55
+ admin_balances: state.admin_balances.map(utils_1.bigNumberify),
56
+ };
57
+ try {
58
+ const event = this.decoder(log);
59
+ if (event.name in this.handlers) {
60
+ return this.handlers[event.name](event, _state, log);
61
+ }
62
+ return _state;
63
+ }
64
+ catch (e) {
65
+ (0, utils_1.catchParseLogError)(e, this.logger);
66
+ }
67
+ return _state;
68
+ }
69
+ handleExchangeRateUpdated(event, state) {
70
+ this.logger.info(`CurveV1: wbETH pool handle exchange rate updated state before: ${JSON.stringify(state)}`);
71
+ this.logger.info(`CurveV1: wbETH pool handle exchange rate updated event args: ${JSON.stringify(event.args)}`);
72
+ this.logger.info(`CurveV1: wbETH pool handle exchange rate updated newExchangeRate: ${event.args.newExchangeRate}`);
73
+ this.logger.info(`CurveV1: wbETH pool handle exchange rate updated newExchangeRate big number: ${(0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.newExchangeRate))}`);
74
+ const newExchangeRateUpdated = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.newExchangeRate));
75
+ this.logger.info(`CurveV1: wbETH pool handle exchange rate updated: ${newExchangeRateUpdated}`);
76
+ state.stored_rates[1] = newExchangeRateUpdated;
77
+ this.logger.info(`CurveV1: wbETH pool handle exchange rate updated state after: ${JSON.stringify(state)}`);
78
+ return state;
79
+ }
80
+ handleCoinTransfer(event, state, log) {
81
+ this.logger.info(`CurveV1: wbETH pool handle coin transfer before lastTransferredCoin: ${this.lastTransferredCoin}`);
82
+ const from = event.args.from;
83
+ const coin = log.address;
84
+ this.logger.info(`CurveV1: wbETH pool handle coin transfer coin: ${coin}`);
85
+ if (from.toLowerCase() === this.address.toLowerCase())
86
+ this.lastTransferredCoin = coin.toLowerCase();
87
+ this.logger.info(`CurveV1: wbETH pool handle coin transfer after lastTransferredCoin: ${this.lastTransferredCoin}`);
88
+ return state;
89
+ }
90
+ handleRemoveLiquidityOne(event, state, log) {
91
+ this.logger.info(`CurveV1: wbETH pool handle remove liquidity one before state: ${JSON.stringify(state)}`);
92
+ const _token_amount = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.token_amount));
93
+ const token_supply = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.token_supply));
94
+ const i = lodash_1.default.findIndex(this.COINS, c => c.toLowerCase() === this.lastTransferredCoin?.toLowerCase());
95
+ if (i == -1) {
96
+ this.logger.error(`Error: expected coin to have a transfer event before RemoveLiquidityOne event`);
97
+ return state;
98
+ }
99
+ this.remove_liquidity_one_coin(_token_amount, token_supply, i, state);
100
+ this.logger.info(`CurveV1: wbETH pool handle remove liquidity one after state: ${JSON.stringify(state)}`);
101
+ return state;
102
+ }
103
+ handleNewFee(event, state, log) {
104
+ this.logger.info(`CurveV1: wbETH pool handle new fee before state: ${JSON.stringify(state)}`);
105
+ const fee = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.new_fee));
106
+ state.fee = fee;
107
+ this.logger.info(`CurveV1: wbETH pool handle new fee after state: ${JSON.stringify(state)}`);
108
+ return state;
109
+ }
110
+ handleRemoveLiquidity(event, state, log) {
111
+ this.logger.info(`CurveV1: wbETH pool handle remove liquidity before state: ${JSON.stringify(state)}`);
112
+ const token_supply = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.token_supply));
113
+ const amounts = event.args.token_amounts
114
+ .map(utils_1.stringify)
115
+ .map(utils_1.bigNumberify);
116
+ for (let i = 0; i < this.N_COINS; i++) {
117
+ if (i === 0) {
118
+ state.eth_balance = state.eth_balance?.minus(amounts[i]);
119
+ }
120
+ else {
121
+ state.token_balance = state.token_balance.minus(amounts[i]);
122
+ }
123
+ }
124
+ state.supply = token_supply;
125
+ this.logger.info(`CurveV1: wbETH pool handle remove liquidity after state: ${JSON.stringify(state)}`);
126
+ return state;
127
+ }
128
+ handleRemoveLiquidityImbalances(event, state, log) {
129
+ this.logger.info(`CurveV1: wbETH pool handle remove liquidity imbalances before state: ${JSON.stringify(state)}`);
130
+ const amounts = event.args.token_amounts.map(utils_1.stringify).map(utils_1.bigNumberify);
131
+ const { A, stored_rates: rates, fee, supply: total_supply } = state;
132
+ const amp = A.times(A_PRECISION);
133
+ const old_balances = this._balances(state);
134
+ const D0 = this.get_D_mem(rates, old_balances, amp);
135
+ let new_balances = lodash_1.default.clone(old_balances);
136
+ for (let i = 0; i < this.N_COINS; i++) {
137
+ new_balances[i] = new_balances[i].minus(amounts[i]);
138
+ }
139
+ const D1 = this.get_D_mem(rates, new_balances, amp);
140
+ const fees = new Array(this.N_COINS);
141
+ const base_fee = fee.times(this.N_COINS).idiv(4 * (this.N_COINS - 1));
142
+ for (let i = 0; i < this.N_COINS; i++) {
143
+ const ideal_balance = D1.times(old_balances[i]).idiv(D0);
144
+ let difference = bignumber_constants_1.BN_0;
145
+ const new_balance = new_balances[i];
146
+ if (ideal_balance.gt(new_balance)) {
147
+ difference = ideal_balance.minus(new_balances[i]);
148
+ }
149
+ else {
150
+ difference = new_balances[i].minus(ideal_balance);
151
+ }
152
+ fees[i] = base_fee.times(difference).idiv(this.FEE_DENOMINATOR);
153
+ state.admin_balances[i] = state.admin_balances[i].plus(fees[i].times(ADMIN_FEE).idiv(this.FEE_DENOMINATOR));
154
+ new_balances[i] = new_balances[i].minus(fees[i]);
155
+ }
156
+ new_balances = this._xp_mem(rates, new_balances);
157
+ const D2 = this.get_D(new_balances, amp);
158
+ const burn_amount = D0.minus(D2).times(total_supply).idiv(D0).plus(1);
159
+ state.supply = state.supply.minus(burn_amount);
160
+ if (!amounts[0].eq(bignumber_constants_1.BN_0)) {
161
+ state.eth_balance = state.eth_balance.minus(amounts[0]);
162
+ }
163
+ if (!amounts[1].eq(bignumber_constants_1.BN_0)) {
164
+ state.token_balance = state.token_balance.minus(amounts[1]);
165
+ }
166
+ this.logger.info(`CurveV1: wbETH pool handle remove liquidity imbalances after state: ${JSON.stringify(state)}`);
167
+ return state;
168
+ }
169
+ handleAddLiquidity(event, state, log) {
170
+ this.logger.info(`CurveV1: wbETH pool handle add liquidity before state: ${JSON.stringify(state)}`);
171
+ const amounts = event.args.token_amounts.map(utils_1.stringify).map(utils_1.bigNumberify);
172
+ const fees = event.args.fees.map(utils_1.stringify).map(utils_1.bigNumberify);
173
+ const total_supply = (0, utils_1.bigNumberify)((0, utils_1.stringify)(event.args.token_supply));
174
+ for (let i = 0; i < this.N_COINS; i++) {
175
+ state.admin_balances[i] = state.admin_balances[i].plus(fees[i].times(ADMIN_FEE).idiv(this.FEE_DENOMINATOR));
176
+ }
177
+ if (amounts[0].gt(0)) {
178
+ state.eth_balance = state.eth_balance.plus(amounts[0]);
179
+ }
180
+ if (amounts[1].gt(0)) {
181
+ state.token_balance = state.token_balance.plus(amounts[1]);
182
+ }
183
+ state.supply = total_supply;
184
+ this.logger.info(`CurveV1: wbETH pool handle add liquidity after state: ${JSON.stringify(state)}`);
185
+ return state;
186
+ }
187
+ exchange(i, j, dx, state) {
188
+ this.logger.info(`CurveV1: wbETH pool exchange before state: ${JSON.stringify(state)}`);
189
+ const rates = state.stored_rates;
190
+ let msgValue;
191
+ if (i === 0) {
192
+ msgValue = (0, utils_1.bigNumberify)(dx);
193
+ }
194
+ else {
195
+ msgValue = bignumber_constants_1.BN_0;
196
+ }
197
+ this.logger.info(`CurveV1: wbETH pool exchange msg value: ${msgValue}`);
198
+ const old_balances = this._balances(state, msgValue);
199
+ const xp = this._xp_mem(rates, old_balances);
200
+ const x = xp[i].plus(dx.times(rates[i]).idiv(this.PRECISION));
201
+ const y = this._get_y(i, j, x, xp, state.A);
202
+ let dy = xp[j].minus(y).minus(1);
203
+ const dy_fee = dy.times(state.fee).idiv(this.FEE_DENOMINATOR);
204
+ dy = dy.minus(dy_fee).times(this.PRECISION).idiv(rates[j]);
205
+ xp[i] = x;
206
+ xp[j] = y;
207
+ const dy_admin_fee = dy_fee.times(ADMIN_FEE).idiv(this.FEE_DENOMINATOR).times(this.PRECISION).idiv(rates[j]);
208
+ if (!dy_admin_fee.eq(bignumber_constants_1.BN_0)) {
209
+ state.admin_balances[j] = state.admin_balances[j].plus(dy_admin_fee);
210
+ }
211
+ if (i === 0) {
212
+ state.eth_balance = state.eth_balance.plus(dx);
213
+ state.token_balance = state.token_balance.minus(dy);
214
+ }
215
+ else {
216
+ state.token_balance = state.token_balance.plus(dx);
217
+ state.eth_balance = state.eth_balance?.minus(dy);
218
+ }
219
+ this.logger.info(`CurveV1: wbETH pool exchange after state: ${JSON.stringify(state)}`);
220
+ return dy;
221
+ }
222
+ _balances(state, value = bignumber_constants_1.BN_0) {
223
+ const { admin_balances, eth_balance, token_balance } = state;
224
+ state.balances = [
225
+ eth_balance.minus(admin_balances[0]).minus(value),
226
+ token_balance.minus(admin_balances[1]),
227
+ ];
228
+ return state.balances;
229
+ }
230
+ get_dy(i, j, dx, state) {
231
+ const { stored_rates: rates } = state;
232
+ this.logger.info(`CurveV1: wbETH pool get_dy state: ${JSON.stringify(state)}`);
233
+ return this._get_dy(i, j, dx, (0, utils_1.bigNumberify)(state.A), (0, utils_1.bigNumberify)(state.fee), this._balances(state), rates);
234
+ }
235
+ _get_dy(i, j, dx, A, fee, balances, rates, usefee = true) {
236
+ const xp = this._xp_mem(rates, balances);
237
+ const x = xp[i].plus(dx.times(rates[i]).idiv(this.PRECISION));
238
+ const y = this._get_y(i, j, x, xp, A);
239
+ const dy = xp[j].minus(y).minus(bignumber_constants_1.BN_1);
240
+ const _fee = fee.times(dy).idiv(this.FEE_DENOMINATOR);
241
+ return dy.minus(_fee).times(this.PRECISION).idiv(rates[j]);
242
+ }
243
+ _xp_mem(_rates, _balances) {
244
+ const result = new Array(N_COINS).fill(0n);
245
+ for (const i of lodash_1.default.range(Number(N_COINS))) {
246
+ result[i] = _rates[i].times(_balances[i]).idiv(this.PRECISION);
247
+ }
248
+ return result;
249
+ }
250
+ _get_y(i, j, x, xp, A) {
251
+ let S_ = bignumber_constants_1.BN_0;
252
+ let _x = bignumber_constants_1.BN_0;
253
+ const amp = A.times(A_PRECISION);
254
+ const D = this._get_D(xp, amp);
255
+ let c = (0, utils_1.bigNumberify)(D);
256
+ let y_prev = bignumber_constants_1.BN_0;
257
+ const Ann = amp.times(this.N_COINS);
258
+ for (const _i of lodash_1.default.range(N_COINS)) {
259
+ if (_i === i) {
260
+ _x = (0, utils_1.bigNumberify)(x);
261
+ }
262
+ else if (_i !== j) {
263
+ _x = (0, utils_1.bigNumberify)(xp[_i]);
264
+ }
265
+ else {
266
+ continue;
267
+ }
268
+ S_ = S_.plus(_x);
269
+ c = c.times(D).idiv(_x.times(this.N_COINS)); // c = c * D / (_x * N_COINS)
270
+ }
271
+ // c = c * D * A_PRECISION / (Ann * N_COINS)
272
+ c = c.times(D).times(A_PRECISION).idiv(Ann.times(this.N_COINS));
273
+ // b: uint256 = S_ + D * A_PRECISION / Ann # - D
274
+ const b = S_.plus(D.times(A_PRECISION).idiv(Ann));
275
+ let y = (0, utils_1.bigNumberify)(D);
276
+ for (const _i of lodash_1.default.range(255)) {
277
+ y_prev = (0, utils_1.bigNumberify)(y);
278
+ y = y.times(y).plus(c).idiv(bignumber_constants_1.BN_2.times(y).plus(b).minus(D)); // y = (y*y + c) / (2 * y + b - D)
279
+ // Equality with the precision of 1
280
+ if (y > y_prev) {
281
+ if (y.minus(y_prev).lte(1)) {
282
+ return y;
283
+ }
284
+ }
285
+ else {
286
+ if (y_prev.minus(y).lte(1)) {
287
+ return y;
288
+ }
289
+ }
290
+ }
291
+ throw Error('Error when calculate y');
292
+ }
293
+ remove_liquidity_one_coin(token_amount, token_supply, i, state) {
294
+ let { dy, dy_fee } = this._calc_withdraw_one_coin(token_amount, i, state);
295
+ state.admin_balances[i] = state.admin_balances[i].plus(dy_fee.times(ADMIN_FEE).idiv(this.FEE_DENOMINATOR));
296
+ state.supply = token_supply;
297
+ if (i === 0) {
298
+ state.eth_balance = state.eth_balance.minus(dy);
299
+ }
300
+ else {
301
+ state.token_balance = state.token_balance.minus(dy);
302
+ }
303
+ return dy;
304
+ }
305
+ _calc_withdraw_one_coin(_token_amount, i, state) {
306
+ const { A, fee, supply, stored_rates: rates } = state;
307
+ const amp = A.times(A_PRECISION);
308
+ const xp = this._xp_mem(rates, this._balances(state));
309
+ const D0 = this._get_D(xp, amp);
310
+ const total_supply = (0, utils_1.bigNumberify)(supply);
311
+ const D1 = D0.minus(_token_amount.idiv(total_supply));
312
+ const new_y = this.get_y_D(amp, i, xp, D1);
313
+ const base_fee = fee.times(this.N_COINS).idiv(4 * (this.N_COINS - 1));
314
+ let xp_reduced = new Array(N_COINS).fill(0n);
315
+ for (const j of lodash_1.default.range(N_COINS)) {
316
+ let dx_expected = bignumber_constants_1.BN_0;
317
+ const xp_j = (0, utils_1.bigNumberify)(xp[j]);
318
+ if (j === i) {
319
+ dx_expected = xp_j.times(D1).idiv(D0).minus(new_y);
320
+ }
321
+ else {
322
+ dx_expected = xp_j.minus(xp_j.times(D1).idiv(D0));
323
+ }
324
+ xp_reduced[j] = xp_j.minus(base_fee.times(dx_expected).idiv(this.FEE_DENOMINATOR));
325
+ }
326
+ let dy = xp_reduced[i].minus(this.get_y_D(amp, i, xp_reduced, D1));
327
+ const dy_0 = xp[i].minus(new_y).times(this.PRECISION).idiv(rates[i]);
328
+ dy = dy.minus(1).times(this.PRECISION).idiv(rates[i]);
329
+ return { dy, dy_fee: dy_0.minus(dy) };
330
+ }
331
+ get_y_D(A_, i, xp, D) {
332
+ let c = D;
333
+ let S_ = bignumber_constants_1.BN_0;
334
+ const Ann = A_.times(this.N_COINS);
335
+ let _x = bignumber_constants_1.BN_0;
336
+ for (let _i = 0; _i < this.N_COINS; _i++) {
337
+ if (_i !== i) {
338
+ _x = xp[_i];
339
+ }
340
+ else {
341
+ continue;
342
+ }
343
+ S_ = S_.plus(_x);
344
+ c = c.times(D).idiv(_x.times(this.N_COINS));
345
+ }
346
+ c = c.times(D).idiv(Ann.times(this.N_COINS));
347
+ const b = S_.plus(D.idiv(Ann));
348
+ let y_prev = bignumber_constants_1.BN_0;
349
+ let y = D;
350
+ for (let _i = 0; _i < 255; _i++) {
351
+ y_prev = y;
352
+ y = y.times(y).plus(c).idiv(y.times(2).plus(b).minus(D));
353
+ // Equality with the precision of 1
354
+ if (y.gt(y_prev)) {
355
+ if (y.minus(y_prev).lte(1)) {
356
+ break;
357
+ }
358
+ }
359
+ else {
360
+ if (y_prev.minus(y).lte(1)) {
361
+ break;
362
+ }
363
+ }
364
+ }
365
+ return y;
366
+ }
367
+ _get_D(xp, amp) {
368
+ let S = bignumber_constants_1.BN_0;
369
+ for (const _x of xp) {
370
+ S = S.plus(_x);
371
+ }
372
+ if (S.eq(bignumber_constants_1.BN_0)) {
373
+ return bignumber_constants_1.BN_0;
374
+ }
375
+ let D = (0, utils_1.bigNumberify)(S);
376
+ const Ann = amp.times(this.N_COINS);
377
+ for (const _i of lodash_1.default.range(255)) {
378
+ let D_P = D.times(D)
379
+ .idiv(xp[0])
380
+ .times(D)
381
+ .idiv(xp[1])
382
+ .idiv(this.N_COINS ** 2); // D_P: uint256 = D * D / _xp[0] * D / _xp[1] / (N_COINS)**2
383
+ let Dprev = (0, utils_1.bigNumberify)(D);
384
+ const dividend = Ann.times(S)
385
+ .idiv(A_PRECISION)
386
+ .plus(D_P.times(this.N_COINS))
387
+ .times(D);
388
+ const divisor = Ann.minus(A_PRECISION)
389
+ .times(D)
390
+ .idiv(A_PRECISION)
391
+ .plus(D_P.times(this.N_COINS + 1));
392
+ D = dividend.idiv(divisor); // D = (Ann * S / A_PRECISION + D_P * N_COINS) * D / ((Ann - A_PRECISION) * D / A_PRECISION + (N_COINS + 1) * D_P)
393
+ if (D.gt(Dprev)) {
394
+ if (D.minus(Dprev).lte(1)) {
395
+ return D;
396
+ }
397
+ }
398
+ else {
399
+ if (Dprev.minus(D).lte(1)) {
400
+ return D;
401
+ }
402
+ }
403
+ }
404
+ throw Error('Error when calcucate D');
405
+ }
406
+ }
407
+ exports.WBETHPool = WBETHPool;
408
+ //# sourceMappingURL=wbETHpool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wbETHpool.js","sourceRoot":"","sources":["../../../../src/dex/curve-v1/pools/wbETHpool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { ImplementationNames } from '../../types';
2
+ import { get_dx } from '../types';
3
+ declare const implementations: Record<ImplementationNames, get_dx>;
4
+ export default implementations;
@@ -0,0 +1,80 @@
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
+ const types_1 = require("../../types");
7
+ const utils_1 = require("./utils");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const stableNg = (self, state, i, j, dy) => {
10
+ const rates = (0, utils_1.requireValue)(self, state, 'storedRates', 'stableNg');
11
+ const N_COINS = (0, utils_1.requireValue)(self, state, 'n_coins', 'stableNg');
12
+ const A = (0, utils_1.requireValue)(self, state, 'A', 'stableNg');
13
+ const stateFee = (0, utils_1.requireValue)(self, state, 'fee', 'stableNg');
14
+ const offpeg_fee_multiplier = (0, utils_1.requireValue)(self, state, 'offpeg_fee_multiplier', 'stableNg');
15
+ const { FEE_DENOMINATOR, PRECISION } = self.constants;
16
+ const xp = [];
17
+ const { balances } = state;
18
+ for (const idx of lodash_1.default.range(N_COINS)) {
19
+ xp.push((rates[idx] * balances[idx]) / PRECISION);
20
+ }
21
+ const amp = A;
22
+ const D = self.get_D(self, xp, amp, N_COINS);
23
+ const base_fee = stateFee;
24
+ const dy_with_fee = (dy * rates[j]) / PRECISION + 1n;
25
+ const fee_multiplier = offpeg_fee_multiplier;
26
+ const fee = self._dynamic_fee(self, xp[i], xp[j], base_fee, fee_multiplier);
27
+ const y = xp[j] - (dy_with_fee * FEE_DENOMINATOR) / (FEE_DENOMINATOR - fee);
28
+ const x = self.get_y(self, state, j, i, y, xp, amp, D);
29
+ return ((x - xp[i]) * PRECISION) / rates[i];
30
+ };
31
+ const notExist = (self, state, i, j, dy) => {
32
+ return (0, utils_1.throwNotExist)('get_dx', self.IMPLEMENTATION_NAME);
33
+ };
34
+ const implementations = {
35
+ [types_1.ImplementationNames.CUSTOM_PLAIN_2COIN_FRAX]: notExist,
36
+ [types_1.ImplementationNames.CUSTOM_PLAIN_2COIN_RENBTC]: notExist,
37
+ [types_1.ImplementationNames.CUSTOM_PLAIN_2COIN_WBTC]: notExist,
38
+ [types_1.ImplementationNames.CUSTOM_PLAIN_3COIN_SBTC]: notExist,
39
+ [types_1.ImplementationNames.CUSTOM_PLAIN_3COIN_THREE]: notExist,
40
+ [types_1.ImplementationNames.CUSTOM_ARBITRUM_2COIN_BTC]: notExist,
41
+ [types_1.ImplementationNames.CUSTOM_ARBITRUM_2COIN_USD]: notExist,
42
+ [types_1.ImplementationNames.CUSTOM_AVALANCHE_3COIN_LENDING]: notExist,
43
+ [types_1.ImplementationNames.CUSTOM_FANTOM_2COIN_BTC]: notExist,
44
+ [types_1.ImplementationNames.CUSTOM_FANTOM_2COIN_USD]: notExist,
45
+ [types_1.ImplementationNames.CUSTOM_FANTOM_3COIN_LENDING]: notExist,
46
+ [types_1.ImplementationNames.CUSTOM_OPTIMISM_3COIN_USD]: notExist,
47
+ [types_1.ImplementationNames.CUSTOM_POLYGON_2COIN_LENDING]: notExist,
48
+ [types_1.ImplementationNames.CUSTOM_POLYGON_3COIN_LENDING]: notExist,
49
+ [types_1.ImplementationNames.FACTORY_V1_META_BTC]: notExist,
50
+ [types_1.ImplementationNames.FACTORY_V1_META_USD]: notExist,
51
+ [types_1.ImplementationNames.FACTORY_META_BTC]: notExist,
52
+ [types_1.ImplementationNames.FACTORY_META_BTC_BALANCES]: notExist,
53
+ [types_1.ImplementationNames.FACTORY_META_BTC_REN]: notExist,
54
+ [types_1.ImplementationNames.FACTORY_META_BTC_BALANCES_REN]: notExist,
55
+ [types_1.ImplementationNames.FACTORY_META_USD]: notExist,
56
+ [types_1.ImplementationNames.FACTORY_META_USD_BALANCES]: notExist,
57
+ [types_1.ImplementationNames.FACTORY_META_USD_FRAX_USDC]: notExist,
58
+ [types_1.ImplementationNames.FACTORY_META_USD_BALANCES_FRAX_USDC]: notExist,
59
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_BALANCES]: notExist,
60
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC]: notExist,
61
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH]: notExist,
62
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_OPTIMIZED]: notExist,
63
+ [types_1.ImplementationNames.FACTORY_PLAIN_3_BALANCES]: notExist,
64
+ [types_1.ImplementationNames.FACTORY_PLAIN_3_BASIC]: notExist,
65
+ [types_1.ImplementationNames.FACTORY_PLAIN_3_ETH]: notExist,
66
+ [types_1.ImplementationNames.FACTORY_PLAIN_3_OPTIMIZED]: notExist,
67
+ [types_1.ImplementationNames.FACTORY_PLAIN_4_BALANCES]: notExist,
68
+ [types_1.ImplementationNames.FACTORY_PLAIN_4_BASIC]: notExist,
69
+ [types_1.ImplementationNames.FACTORY_PLAIN_4_ETH]: notExist,
70
+ [types_1.ImplementationNames.FACTORY_PLAIN_4_OPTIMIZED]: notExist,
71
+ [types_1.ImplementationNames.FACTORY_META_BTC_SBTC2]: notExist,
72
+ [types_1.ImplementationNames.FACTORY_META_BTC_BALANCES_SBTC2]: notExist,
73
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC_EMA]: notExist,
74
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA]: notExist,
75
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2]: notExist,
76
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_CRV_EMA]: notExist,
77
+ [types_1.ImplementationNames.FACTORY_STABLE_NG]: stableNg,
78
+ };
79
+ exports.default = implementations;
80
+ //# sourceMappingURL=get_dx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_dx.js","sourceRoot":"","sources":["../../../../../src/dex/curve-v1-factory/price-handlers/functions/get_dx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { DexParams } from '../curve-v1-factory/types';
2
+ import { DexConfigMap, AdapterMappings } from '../../types';
3
+ declare const CurveV1StableNgConfig: DexConfigMap<DexParams>;
4
+ export declare const Adapters: Record<number, AdapterMappings>;
5
+ export { CurveV1StableNgConfig };