@paraswap/dex-lib 3.7.0 → 3.7.2

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 (304) hide show
  1. package/build/abi/Uncompressor.json +250 -0
  2. package/build/dex/aave-v1/aave-v1.d.ts +1 -2
  3. package/build/dex/aave-v1/aave-v1.js +0 -23
  4. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  5. package/build/dex/balancer-v2/balancer-v2.js +41 -19
  6. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  7. package/build/dex/compound.js +1 -1
  8. package/build/dex/compound.js.map +1 -1
  9. package/build/dex/etherfi/etherfi.d.ts +26 -0
  10. package/build/dex/etherfi/etherfi.js +96 -0
  11. package/build/dex/etherfi/etherfi.js.map +1 -0
  12. package/build/dex/platypus/platypus.d.ts +1 -2
  13. package/build/dex/platypus/platypus.js +0 -45
  14. package/build/dex/platypus/platypus.js.map +1 -1
  15. package/build/dex/sdai/config.d.ts +11 -0
  16. package/build/dex/sdai/config.js +21 -0
  17. package/build/dex/sdai/config.js.map +1 -0
  18. package/build/dex/sdai/constants.d.ts +2 -0
  19. package/build/dex/sdai/constants.js +6 -0
  20. package/build/dex/sdai/constants.js.map +1 -0
  21. package/build/dex/sdai/scripts/validate-state.d.ts +1 -0
  22. package/build/dex/sdai/scripts/validate-state.js +102 -0
  23. package/build/dex/sdai/scripts/validate-state.js.map +1 -0
  24. package/build/dex/sdai/sdai-pool.d.ts +16 -0
  25. package/build/dex/sdai/sdai-pool.js +85 -0
  26. package/build/dex/sdai/sdai-pool.js.map +1 -0
  27. package/build/dex/sdai/sdai.d.ts +51 -0
  28. package/build/dex/sdai/sdai.js +172 -0
  29. package/build/dex/sdai/sdai.js.map +1 -0
  30. package/build/dex/sdai/types.d.ts +21 -0
  31. package/build/dex/sdai/types.js +11 -0
  32. package/build/dex/sdai/types.js.map +1 -0
  33. package/build/dex/sdai/utils.d.ts +4 -0
  34. package/build/dex/sdai/utils.js +39 -0
  35. package/build/dex/sdai/utils.js.map +1 -0
  36. package/build/dex/swaap-v1/swaap-v1.d.ts +1 -2
  37. package/build/dex/swaap-v1/swaap-v1.js +0 -14
  38. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  39. package/build/executor/compressor/Compressor.d.ts +23 -0
  40. package/build/executor/compressor/Compressor.js +144 -0
  41. package/build/executor/compressor/Compressor.js.map +1 -0
  42. package/build/executor/compressor/compress.d.ts +17 -0
  43. package/build/executor/compressor/compress.js +187 -0
  44. package/build/executor/compressor/compress.js.map +1 -0
  45. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +6 -0
  46. package/build/executor/compressor/compress_functions/addressSubstitution.js +29 -0
  47. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +1 -0
  48. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +10 -0
  49. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +40 -0
  50. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +1 -0
  51. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +11 -0
  52. package/build/executor/compressor/compress_functions/byteSubstitution.js +64 -0
  53. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +1 -0
  54. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +7 -0
  55. package/build/executor/compressor/compress_functions/ffSubstitution.js +54 -0
  56. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +1 -0
  57. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +8 -0
  58. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +67 -0
  59. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +1 -0
  60. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +8 -0
  61. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +61 -0
  62. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +1 -0
  63. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +6 -0
  64. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +37 -0
  65. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +1 -0
  66. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +9 -0
  67. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +33 -0
  68. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +1 -0
  69. package/build/executor/compressor/fetchSaved.d.ts +0 -0
  70. package/build/executor/compressor/fetchSaved.js +17 -0
  71. package/build/executor/compressor/fetchSaved.js.map +1 -0
  72. package/build/executor/compressor/utils/computeCostL2.d.ts +2 -0
  73. package/build/executor/compressor/utils/computeCostL2.js +14 -0
  74. package/build/executor/compressor/utils/computeCostL2.js.map +1 -0
  75. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +2 -0
  76. package/build/executor/compressor/utils/findLongestDuplicatedString.js +30 -0
  77. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +1 -0
  78. package/build/executor/compressor/utils/getAllIndexes.d.ts +2 -0
  79. package/build/executor/compressor/utils/getAllIndexes.js +12 -0
  80. package/build/executor/compressor/utils/getAllIndexes.js.map +1 -0
  81. package/build/executor/compressor/utils/getByteForAddress.d.ts +2 -0
  82. package/build/executor/compressor/utils/getByteForAddress.js +14 -0
  83. package/build/executor/compressor/utils/getByteForAddress.js.map +1 -0
  84. package/build/executor/compressor/utils/intTo2Bytes.d.ts +2 -0
  85. package/build/executor/compressor/utils/intTo2Bytes.js +14 -0
  86. package/build/executor/compressor/utils/intTo2Bytes.js.map +1 -0
  87. package/build/executor/compressor/utils/intTo3Bytes.d.ts +2 -0
  88. package/build/executor/compressor/utils/intTo3Bytes.js +18 -0
  89. package/build/executor/compressor/utils/intTo3Bytes.js.map +1 -0
  90. package/build/executor/compressor/utils/intToByte.d.ts +2 -0
  91. package/build/executor/compressor/utils/intToByte.js +10 -0
  92. package/build/executor/compressor/utils/intToByte.js.map +1 -0
  93. package/package.json +1 -1
  94. package/src/dex/balancer-v2/balancer-v2.ts +41 -19
  95. package/tests/utils-e2e.ts +114 -116
  96. package/.idea/aws.xml +0 -17
  97. package/.idea/codeStyles/Project.xml +0 -19
  98. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  99. package/.idea/misc.xml +0 -6
  100. package/.idea/modules.xml +0 -8
  101. package/.idea/paraswap-dex-lib.iml +0 -9
  102. package/.idea/prettier.xml +0 -7
  103. package/.idea/vcs.xml +0 -6
  104. package/build/abi/AugustusV6.abi.json +0 -395
  105. package/build/abi/algebra/AlgebraPool.abi.json +0 -727
  106. package/build/abi/curve-v1/StableSwapFRXETH.json +0 -889
  107. package/build/abi/curve-v1/StableSwapWBETH.json +0 -1223
  108. package/build/abi/integral/relayer.json +0 -1148
  109. package/build/abi/sushiswap-v3/QuoterV2.json +0 -267
  110. package/build/abi/sushiswap-v3/RouterProcessor3.json +0 -289
  111. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  112. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3QuoterV2.abi.json +0 -285
  113. package/build/abi/uniswap-v3/pancakeswap-v3/PancakeswapV3Router.abi.json +0 -583
  114. package/build/abi/wBETH.json +0 -1527
  115. package/build/abi/woo-fi/WooFeeManager.abi.json +0 -318
  116. package/build/abi/woo-fi/WooPP.abi.json +0 -548
  117. package/build/abi/woo-fi/Wooracle.abi.json +0 -260
  118. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  119. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  120. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  121. package/build/dex/aave-v3/tokens/arbitrum.json +0 -50
  122. package/build/dex/aave-v3/tokens/avalanche.json +0 -74
  123. package/build/dex/aave-v3/tokens/fantom.json +0 -62
  124. package/build/dex/aave-v3/tokens/optimism.json +0 -50
  125. package/build/dex/aave-v3/tokens/polygon.json +0 -116
  126. package/build/dex/algebra/algebra-pool.d.ts +0 -114
  127. package/build/dex/algebra/algebra-pool.js +0 -448
  128. package/build/dex/algebra/algebra-pool.js.map +0 -1
  129. package/build/dex/balancer-v2/Gyro3Pool.d.ts +0 -43
  130. package/build/dex/balancer-v2/Gyro3Pool.js +0 -160
  131. package/build/dex/balancer-v2/Gyro3Pool.js.map +0 -1
  132. package/build/dex/balancer-v2/LinearMath.d.ts +0 -88
  133. package/build/dex/balancer-v2/LinearMath.js +0 -285
  134. package/build/dex/balancer-v2/LinearMath.js.map +0 -1
  135. package/build/dex/balancer-v2/LinearPool.d.ts +0 -81
  136. package/build/dex/balancer-v2/LinearPool.js +0 -444
  137. package/build/dex/balancer-v2/LinearPool.js.map +0 -1
  138. package/build/dex/balancer-v2/PhantomStablePool.d.ts +0 -90
  139. package/build/dex/balancer-v2/PhantomStablePool.js +0 -418
  140. package/build/dex/balancer-v2/PhantomStablePool.js.map +0 -1
  141. package/build/dex/balancer-v2/StableMath.d.ts +0 -9
  142. package/build/dex/balancer-v2/StableMath.js +0 -272
  143. package/build/dex/balancer-v2/StableMath.js.map +0 -1
  144. package/build/dex/balancer-v2/balancer-v2-pool.d.ts +0 -140
  145. package/build/dex/balancer-v2/balancer-v2-pool.js +0 -647
  146. package/build/dex/balancer-v2/balancer-v2-pool.js.map +0 -1
  147. package/build/dex/curve-v1/pools/frxETHpool.d.ts +0 -7
  148. package/build/dex/curve-v1/pools/frxETHpool.js +0 -27
  149. package/build/dex/curve-v1/pools/frxETHpool.js.map +0 -1
  150. package/build/dex/curve-v1/pools/wbETHpool.d.ts +0 -29
  151. package/build/dex/curve-v1/pools/wbETHpool.js +0 -408
  152. package/build/dex/curve-v1/pools/wbETHpool.js.map +0 -1
  153. package/build/dex/integral/config.d.ts +0 -4
  154. package/build/dex/integral/config.js +0 -18
  155. package/build/dex/integral/config.js.map +0 -1
  156. package/build/dex/integral/integral-pool.d.ts +0 -39
  157. package/build/dex/integral/integral-pool.js +0 -67
  158. package/build/dex/integral/integral-pool.js.map +0 -1
  159. package/build/dex/integral/integral.d.ts +0 -48
  160. package/build/dex/integral/integral.js +0 -402
  161. package/build/dex/integral/integral.js.map +0 -1
  162. package/build/dex/integral/types.d.ts +0 -25
  163. package/build/dex/integral/types.js +0 -9
  164. package/build/dex/integral/types.js.map +0 -1
  165. package/build/dex/lighter-v1/abi/erc20.json +0 -222
  166. package/build/dex/lighter-v1/abi/factory.json +0 -291
  167. package/build/dex/lighter-v1/abi/order_book.json +0 -594
  168. package/build/dex/lighter-v1/abi/order_book_helper.json +0 -176
  169. package/build/dex/lighter-v1/abi/router.json +0 -488
  170. package/build/dex/lighter-v1/config.d.ts +0 -4
  171. package/build/dex/lighter-v1/config.js +0 -17
  172. package/build/dex/lighter-v1/config.js.map +0 -1
  173. package/build/dex/lighter-v1/constants.d.ts +0 -2
  174. package/build/dex/lighter-v1/constants.js +0 -13
  175. package/build/dex/lighter-v1/constants.js.map +0 -1
  176. package/build/dex/lighter-v1/lighter-v1-pool.d.ts +0 -57
  177. package/build/dex/lighter-v1/lighter-v1-pool.js +0 -310
  178. package/build/dex/lighter-v1/lighter-v1-pool.js.map +0 -1
  179. package/build/dex/lighter-v1/lighter-v1.d.ts +0 -45
  180. package/build/dex/lighter-v1/lighter-v1.js +0 -331
  181. package/build/dex/lighter-v1/lighter-v1.js.map +0 -1
  182. package/build/dex/lighter-v1/types.d.ts +0 -40
  183. package/build/dex/lighter-v1/types.js +0 -3
  184. package/build/dex/lighter-v1/types.js.map +0 -1
  185. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  186. package/build/dex/pancakeswap-v3/types.js +0 -3
  187. package/build/dex/pancakeswap-v3/types.js.map +0 -1
  188. package/build/dex/quickswap/camelot-v3.d.ts +0 -6
  189. package/build/dex/quickswap/camelot-v3.js +0 -19
  190. package/build/dex/quickswap/camelot-v3.js.map +0 -1
  191. package/build/dex/quickswap/zyberswap-v3.d.ts +0 -6
  192. package/build/dex/quickswap/zyberswap-v3.js +0 -19
  193. package/build/dex/quickswap/zyberswap-v3.js.map +0 -1
  194. package/build/dex/quickswap-v3.d.ts +0 -21
  195. package/build/dex/quickswap-v3.js +0 -40
  196. package/build/dex/quickswap-v3.js.map +0 -1
  197. package/build/dex/ramses-v2/config.d.ts +0 -4
  198. package/build/dex/ramses-v2/config.js +0 -28
  199. package/build/dex/ramses-v2/config.js.map +0 -1
  200. package/build/dex/ramses-v2/constants.d.ts +0 -28
  201. package/build/dex/ramses-v2/constants.js +0 -35
  202. package/build/dex/ramses-v2/constants.js.map +0 -1
  203. package/build/dex/ramses-v2/contract-math/BitMath.d.ts +0 -4
  204. package/build/dex/ramses-v2/contract-math/BitMath.js +0 -93
  205. package/build/dex/ramses-v2/contract-math/BitMath.js.map +0 -1
  206. package/build/dex/ramses-v2/contract-math/FixedPoint128.d.ts +0 -3
  207. package/build/dex/ramses-v2/contract-math/FixedPoint128.js +0 -8
  208. package/build/dex/ramses-v2/contract-math/FixedPoint128.js.map +0 -1
  209. package/build/dex/ramses-v2/contract-math/FixedPoint96.d.ts +0 -4
  210. package/build/dex/ramses-v2/contract-math/FixedPoint96.js +0 -9
  211. package/build/dex/ramses-v2/contract-math/FixedPoint96.js.map +0 -1
  212. package/build/dex/ramses-v2/contract-math/FullMath.d.ts +0 -4
  213. package/build/dex/ramses-v2/contract-math/FullMath.js +0 -19
  214. package/build/dex/ramses-v2/contract-math/FullMath.js.map +0 -1
  215. package/build/dex/ramses-v2/contract-math/LiquidityMath.d.ts +0 -3
  216. package/build/dex/ramses-v2/contract-math/LiquidityMath.js +0 -22
  217. package/build/dex/ramses-v2/contract-math/LiquidityMath.js.map +0 -1
  218. package/build/dex/ramses-v2/contract-math/Oracle.d.ts +0 -10
  219. package/build/dex/ramses-v2/contract-math/Oracle.js +0 -133
  220. package/build/dex/ramses-v2/contract-math/Oracle.js.map +0 -1
  221. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.d.ts +0 -10
  222. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js +0 -91
  223. package/build/dex/ramses-v2/contract-math/SqrtPriceMath.js.map +0 -1
  224. package/build/dex/ramses-v2/contract-math/SwapMath.d.ts +0 -8
  225. package/build/dex/ramses-v2/contract-math/SwapMath.js +0 -70
  226. package/build/dex/ramses-v2/contract-math/SwapMath.js.map +0 -1
  227. package/build/dex/ramses-v2/contract-math/Tick.d.ts +0 -7
  228. package/build/dex/ramses-v2/contract-math/Tick.js +0 -45
  229. package/build/dex/ramses-v2/contract-math/Tick.js.map +0 -1
  230. package/build/dex/ramses-v2/contract-math/TickBitMap.d.ts +0 -8
  231. package/build/dex/ramses-v2/contract-math/TickBitMap.js +0 -87
  232. package/build/dex/ramses-v2/contract-math/TickBitMap.js.map +0 -1
  233. package/build/dex/ramses-v2/contract-math/TickMath.d.ts +0 -8
  234. package/build/dex/ramses-v2/contract-math/TickMath.js +0 -162
  235. package/build/dex/ramses-v2/contract-math/TickMath.js.map +0 -1
  236. package/build/dex/ramses-v2/contract-math/UnsafeMath.d.ts +0 -3
  237. package/build/dex/ramses-v2/contract-math/UnsafeMath.js +0 -10
  238. package/build/dex/ramses-v2/contract-math/UnsafeMath.js.map +0 -1
  239. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.d.ts +0 -18
  240. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js +0 -392
  241. package/build/dex/ramses-v2/contract-math/uniswap-v3-math.js.map +0 -1
  242. package/build/dex/ramses-v2/contract-math/utils.d.ts +0 -3
  243. package/build/dex/ramses-v2/contract-math/utils.js +0 -16
  244. package/build/dex/ramses-v2/contract-math/utils.js.map +0 -1
  245. package/build/dex/ramses-v2/ramses-v2-pool.d.ts +0 -42
  246. package/build/dex/ramses-v2/ramses-v2-pool.js +0 -307
  247. package/build/dex/ramses-v2/ramses-v2-pool.js.map +0 -1
  248. package/build/dex/ramses-v2/ramses-v2.d.ts +0 -61
  249. package/build/dex/ramses-v2/ramses-v2.js +0 -690
  250. package/build/dex/ramses-v2/ramses-v2.js.map +0 -1
  251. package/build/dex/ramses-v2/types.d.ts +0 -154
  252. package/build/dex/ramses-v2/types.js +0 -9
  253. package/build/dex/ramses-v2/types.js.map +0 -1
  254. package/build/dex/ramses-v2/utils.d.ts +0 -6
  255. package/build/dex/ramses-v2/utils.js +0 -71
  256. package/build/dex/ramses-v2/utils.js.map +0 -1
  257. package/build/dex/solidly/forks-override/fvm.d.ts +0 -20
  258. package/build/dex/solidly/forks-override/fvm.js +0 -42
  259. package/build/dex/solidly/forks-override/fvm.js.map +0 -1
  260. package/build/dex/sushiswap-v3/config.d.ts +0 -4
  261. package/build/dex/sushiswap-v3/config.js +0 -132
  262. package/build/dex/sushiswap-v3/config.js.map +0 -1
  263. package/build/dex/sushiswap-v3/constants.d.ts +0 -4
  264. package/build/dex/sushiswap-v3/constants.js +0 -32
  265. package/build/dex/sushiswap-v3/constants.js.map +0 -1
  266. package/build/dex/sushiswap-v3/sushiswap-v3-original.d.ts +0 -56
  267. package/build/dex/sushiswap-v3/sushiswap-v3-original.js +0 -598
  268. package/build/dex/sushiswap-v3/sushiswap-v3-original.js.map +0 -1
  269. package/build/dex/sushiswap-v3/sushiswap-v3-pool.d.ts +0 -1
  270. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js +0 -6
  271. package/build/dex/sushiswap-v3/sushiswap-v3-pool.js.map +0 -1
  272. package/build/dex/sushiswap-v3/sushiswap-v3.d.ts +0 -21
  273. package/build/dex/sushiswap-v3/sushiswap-v3.js +0 -58
  274. package/build/dex/sushiswap-v3/sushiswap-v3.js.map +0 -1
  275. package/build/dex/sushiswap-v3/token.d.ts +0 -6
  276. package/build/dex/sushiswap-v3/token.js +0 -23
  277. package/build/dex/sushiswap-v3/token.js.map +0 -1
  278. package/build/dex/sushiswap-v3/types.d.ts +0 -15
  279. package/build/dex/sushiswap-v3/types.js +0 -18
  280. package/build/dex/sushiswap-v3/types.js.map +0 -1
  281. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.d.ts +0 -12
  282. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js +0 -23
  283. package/build/dex/uniswap-v3/forks/pancakeswap-v3/pancakeswap-v3.js.map +0 -1
  284. package/build/dex/woo-fi/config.d.ts +0 -4
  285. package/build/dex/woo-fi/config.js +0 -141
  286. package/build/dex/woo-fi/config.js.map +0 -1
  287. package/build/dex/woo-fi/constants.d.ts +0 -5
  288. package/build/dex/woo-fi/constants.js +0 -20
  289. package/build/dex/woo-fi/constants.js.map +0 -1
  290. package/build/dex/woo-fi/types.d.ts +0 -48
  291. package/build/dex/woo-fi/types.js +0 -3
  292. package/build/dex/woo-fi/types.js.map +0 -1
  293. package/build/dex/woo-fi/woo-fi-decimal-math.d.ts +0 -14
  294. package/build/dex/woo-fi/woo-fi-decimal-math.js +0 -42
  295. package/build/dex/woo-fi/woo-fi-decimal-math.js.map +0 -1
  296. package/build/dex/woo-fi/woo-fi-math.d.ts +0 -31
  297. package/build/dex/woo-fi/woo-fi-math.js +0 -300
  298. package/build/dex/woo-fi/woo-fi-math.js.map +0 -1
  299. package/build/dex/woo-fi/woo-fi.d.ts +0 -65
  300. package/build/dex/woo-fi/woo-fi.js +0 -480
  301. package/build/dex/woo-fi/woo-fi.js.map +0 -1
  302. package/build/executor/IExecutorBytecodeBuilder.d.ts +0 -6
  303. package/build/executor/IExecutorBytecodeBuilder.js +0 -3
  304. package/build/executor/IExecutorBytecodeBuilder.js.map +0 -1
@@ -1,300 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WooFiMath = void 0;
4
- const woo_fi_decimal_math_1 = require("./woo-fi-decimal-math");
5
- const bigint_constants_1 = require("../../bigint-constants");
6
- const utils_1 = require("../../utils");
7
- const constants_1 = require("./constants");
8
- const constants_2 = require("../../constants");
9
- function handleMathError(e, logger) {
10
- if (e instanceof Error && e.message.startsWith('WooGuardian:')) {
11
- logger.warn('WooFi Guardian check Error:', e);
12
- return;
13
- }
14
- logger.error('Unexpected error in WooFi math:', e);
15
- }
16
- class WooFiMath {
17
- constructor(logger, _quoteToken) {
18
- this.logger = logger;
19
- this._quoteToken = _quoteToken;
20
- // dMath = decimalMath
21
- this.dMath = woo_fi_decimal_math_1.wooFiDecimalMath;
22
- this._MIN_INPUT_DEFAULT = bigint_constants_1.BI_POWS[16]; // 0.01 xToken
23
- this._MAX_INPUT_DEFAULT = bigint_constants_1.BI_POWS[20]; // 100 xToken
24
- this.state = constants_1.NULL_STATE;
25
- }
26
- querySellBase(baseToken, baseAmounts) {
27
- try {
28
- const _baseAmounts = baseAmounts.map(baseAmount => {
29
- try {
30
- this._checkInputAmount(baseToken, baseAmount);
31
- return baseAmount;
32
- }
33
- catch (e) {
34
- if (e instanceof Error &&
35
- e.message.includes('WooGuardian: inputAmount')) {
36
- return 0n;
37
- }
38
- throw e;
39
- }
40
- });
41
- this._autoUpdate(this._quoteToken, baseToken);
42
- const quoteAmounts = this._getQuoteAmountSellBase(baseToken, _baseAmounts);
43
- const feeRate = this.state.feeRates[baseToken];
44
- return this._takeFee(quoteAmounts, feeRate);
45
- }
46
- catch (e) {
47
- handleMathError(e, this.logger);
48
- return null;
49
- }
50
- }
51
- querySellQuote(baseToken, quoteAmounts) {
52
- try {
53
- let _quoteAmounts = quoteAmounts.map(quoteAmount => {
54
- try {
55
- this._checkInputAmount(this._quoteToken, quoteAmount);
56
- return quoteAmount;
57
- }
58
- catch (e) {
59
- if (e instanceof Error &&
60
- e.message.startsWith('Error message: WooGuardian: inputAmount')) {
61
- return 0n;
62
- }
63
- throw e;
64
- }
65
- });
66
- this._autoUpdate(this._quoteToken, baseToken);
67
- const feeRate = this.state.feeRates[baseToken];
68
- _quoteAmounts = this._takeFee(_quoteAmounts, feeRate);
69
- return this._getBaseAmountSellQuote(baseToken, _quoteAmounts);
70
- }
71
- catch (e) {
72
- handleMathError(e, this.logger);
73
- return null;
74
- }
75
- }
76
- _takeFee(amounts, feeRate) {
77
- return amounts.map(amount => {
78
- const lpFee = this.dMath.mulCeil(amount, feeRate);
79
- return amount === 0n ? 0n : amount - lpFee;
80
- });
81
- }
82
- _getQuoteAmountSellBase(baseToken, baseAmounts) {
83
- const quoteInfo = this.state.tokenInfos[this._quoteToken];
84
- const baseInfo = this.state.tokenInfos[baseToken];
85
- let { priceNow: p, spreadNow: s, coeffNow: k, } = this.state.tokenStates[baseToken];
86
- this.checkSwapPrice(p, baseToken, this._quoteToken);
87
- // price: p * (1 - s / 2)
88
- p = this.dMath.mulFloor(p, this.dMath.ONE - this.dMath.divCeil(s, this.dMath.TWO));
89
- const { baseBought, quoteBought } = this._getBoughtAmount(baseInfo, quoteInfo, p, k, true);
90
- return baseAmounts.map(baseAmount => {
91
- if (baseAmount === 0n)
92
- return 0n;
93
- let quoteAmount;
94
- if (baseBought > 0n) {
95
- const quoteSold = this._getQuoteAmountLowBaseSide(p, k, baseInfo.R, baseBought);
96
- if (baseAmount > baseBought) {
97
- const newBaseSold = baseAmount - baseBought;
98
- quoteAmount =
99
- quoteSold +
100
- this._getQuoteAmountLowQuoteSide(p, k, this.dMath.ONE, newBaseSold);
101
- }
102
- else {
103
- const newBaseBought = baseBought - baseAmount;
104
- quoteAmount =
105
- quoteSold -
106
- this._getQuoteAmountLowBaseSide(p, k, baseInfo.R, newBaseBought);
107
- }
108
- }
109
- else {
110
- const baseSold = this._getBaseAmountLowQuoteSide(p, k, this.dMath.ONE, quoteBought);
111
- const newBaseSold = baseAmount + baseSold;
112
- const newQuoteBought = this._getQuoteAmountLowQuoteSide(p, k, this.dMath.ONE, newBaseSold);
113
- quoteAmount =
114
- newQuoteBought > quoteBought ? newQuoteBought - quoteBought : 0n;
115
- }
116
- this._checkSwapAmount(baseToken, this._quoteToken, baseAmount, quoteAmount);
117
- if (quoteAmount > this.state.wooPPBalances[this._quoteToken]) {
118
- // require(quoteAmount <= IERC20(quoteToken).balanceOf(address(this)), 'WooPP: INSUFF_QUOTE');
119
- return 0n;
120
- }
121
- return quoteAmount;
122
- });
123
- }
124
- _getBaseAmountSellQuote(baseToken, quoteAmounts) {
125
- const quoteInfo = this.state.tokenInfos[this._quoteToken];
126
- const baseInfo = this.state.tokenInfos[baseToken];
127
- let { priceNow: p, spreadNow: s, coeffNow: k, } = this.state.tokenStates[baseToken];
128
- this.checkSwapPrice(p, baseToken, this._quoteToken);
129
- // price: p * (1 + s / 2)
130
- p = this.dMath.mulCeil(p, this.dMath.ONE + this.dMath.divCeil(s, this.dMath.TWO));
131
- const { baseBought, quoteBought } = this._getBoughtAmount(baseInfo, quoteInfo, p, k, false);
132
- return quoteAmounts.map(quoteAmount => {
133
- if (quoteAmount === 0n)
134
- return 0n;
135
- let baseAmount;
136
- if (quoteBought > 0) {
137
- const baseSold = this._getBaseAmountLowQuoteSide(p, k, baseInfo.R, quoteBought);
138
- if (quoteAmount > quoteBought) {
139
- const newQuoteSold = quoteAmount - quoteBought;
140
- baseAmount =
141
- baseSold +
142
- this._getBaseAmountLowBaseSide(p, k, this.dMath.ONE, newQuoteSold);
143
- }
144
- else {
145
- const newQuoteBought = quoteBought - quoteAmount;
146
- baseAmount =
147
- baseSold -
148
- this._getBaseAmountLowQuoteSide(p, k, baseInfo.R, newQuoteBought);
149
- }
150
- }
151
- else {
152
- const quoteSold = this._getQuoteAmountLowBaseSide(p, k, this.dMath.ONE, baseBought);
153
- const newQuoteSold = quoteAmount + quoteSold;
154
- const newBaseBought = this._getBaseAmountLowBaseSide(p, k, this.dMath.ONE, newQuoteSold);
155
- baseAmount =
156
- newBaseBought > baseBought ? newBaseBought - baseBought : 0n;
157
- }
158
- this._checkSwapAmount(this._quoteToken, baseToken, quoteAmount, baseAmount);
159
- if (baseAmount > this.state.wooPPBalances[baseToken]) {
160
- // require(baseAmount <= IERC20(baseToken).balanceOf(address(this)), 'WooPP: INSUFF_BASE');
161
- return 0n;
162
- }
163
- return baseAmount;
164
- });
165
- }
166
- _getBoughtAmount(baseInfo, quoteInfo, p, k, isSellBase) {
167
- let baseBought = 0n;
168
- let quoteBought = 0n;
169
- let baseSold = 0n;
170
- if (baseInfo.reserve < baseInfo.target) {
171
- baseBought = baseInfo.target - baseInfo.reserve;
172
- }
173
- else {
174
- baseSold = baseInfo.reserve - baseInfo.target;
175
- }
176
- let quoteSold = 0n;
177
- if (quoteInfo.reserve < quoteInfo.target) {
178
- quoteBought = quoteInfo.target - quoteInfo.reserve;
179
- }
180
- else {
181
- quoteSold = quoteInfo.reserve - quoteInfo.target;
182
- }
183
- if (this.dMath.mulCeil(baseSold, p) > quoteSold) {
184
- baseSold = baseSold - this.dMath.divFloor(quoteSold, p);
185
- quoteSold = 0n;
186
- }
187
- else {
188
- quoteSold = quoteSold - this.dMath.mulCeil(baseSold, p);
189
- baseSold = 0n;
190
- }
191
- const virtualBaseBought = this._getBaseAmountLowBaseSide(p, k, this.dMath.ONE, quoteSold);
192
- if (isSellBase === virtualBaseBought < baseBought) {
193
- baseBought = virtualBaseBought;
194
- }
195
- const virtualQuoteBought = this._getQuoteAmountLowQuoteSide(p, k, this.dMath.ONE, baseSold);
196
- if (isSellBase === virtualQuoteBought > quoteBought) {
197
- quoteBought = virtualQuoteBought;
198
- }
199
- return { baseBought, quoteBought };
200
- }
201
- _getBaseAmountLowBaseSide(p, k, r, quoteAmount) {
202
- // priceFactor = 1 + k * quoteAmount * r;
203
- const priceFactor = this.dMath.ONE +
204
- this.dMath.mulCeil(this.dMath.mulCeil(k, quoteAmount), r);
205
- // quoteAmount / p / priceFactor;
206
- return this.dMath.divFloor(this.dMath.divFloor(quoteAmount, p), priceFactor);
207
- }
208
- _getQuoteAmountLowQuoteSide(p, k, r, baseAmount) {
209
- // priceFactor = 1 + k * baseAmount * p * r;
210
- const priceFactor = this.dMath.ONE +
211
- this.dMath.mulCeil(this.dMath.mulCeil(this.dMath.mulCeil(k, baseAmount), p), r);
212
- // baseAmount * p / priceFactor;
213
- return this.dMath.divFloor(this.dMath.mulFloor(baseAmount, p), priceFactor);
214
- }
215
- _getBaseAmountLowQuoteSide(p, k, r, quoteAmount) {
216
- // priceFactor = (1 - k * quoteAmount * r);
217
- const priceFactor = this.dMath.ONE -
218
- this.dMath.mulFloor(this.dMath.mulFloor(k, quoteAmount), r);
219
- // quoteAmount / p / priceFactor;
220
- return this.dMath.divFloor(this.dMath.divFloor(quoteAmount, p), priceFactor);
221
- }
222
- _getQuoteAmountLowBaseSide(p, k, r, baseAmount) {
223
- // priceFactor = 1 - k * baseAmount * p * r;
224
- const priceFactor = this.dMath.ONE -
225
- this.dMath.mulFloor(this.dMath.mulFloor(this.dMath.mulFloor(k, baseAmount), p), r);
226
- // baseAmount * p / priceFactor;
227
- return this.dMath.divFloor(this.dMath.mulFloor(baseAmount, p), priceFactor);
228
- }
229
- _autoUpdate(quoteTokenAddress, baseTokenAddress) {
230
- const quoteInfo = this.state.tokenInfos[quoteTokenAddress];
231
- const baseInfo = this.state.tokenInfos[baseTokenAddress];
232
- if (this.state.oracleTimestamp !== baseInfo.lastResetTimestamp) {
233
- baseInfo.target =
234
- baseInfo.threshold > baseInfo.reserve
235
- ? baseInfo.threshold
236
- : baseInfo.reserve;
237
- baseInfo.lastResetTimestamp = this.state.oracleTimestamp;
238
- }
239
- if (this.state.oracleTimestamp !== quoteInfo.lastResetTimestamp) {
240
- quoteInfo.target =
241
- quoteInfo.threshold > quoteInfo.reserve
242
- ? quoteInfo.threshold
243
- : quoteInfo.reserve;
244
- quoteInfo.lastResetTimestamp = this.state.oracleTimestamp;
245
- }
246
- }
247
- _checkInputAmount(token, inputAmount) {
248
- (0, utils_1._require)(inputAmount < bigint_constants_1.BI_MAX_UINT96, `WooGuardian: inputAmount_uint96_OVERFLOW in _checkInputAmount for ${token}`);
249
- const info = this.state.guardian.refInfos[token];
250
- const minInputAmount = info.minInputAmount != 0n ? info.minInputAmount : this._MIN_INPUT_DEFAULT;
251
- const maxInputAmount = info.maxInputAmount != 0n ? info.maxInputAmount : this._MAX_INPUT_DEFAULT;
252
- (0, utils_1._require)(inputAmount >= minInputAmount, `WooGuardian: inputAmount_LTM in _checkInputAmount for ${token}`);
253
- (0, utils_1._require)(inputAmount <= maxInputAmount, `WooGuardian: inputAmount_GTM in _checkInputAmount for ${token}`);
254
- }
255
- _checkSwapAmount(fromToken, toToken, fromAmount, toAmount) {
256
- if (this.state.guardian.refInfos[fromToken].chainlinkRefOracle ===
257
- constants_2.NULL_ADDRESS ||
258
- this.state.guardian.refInfos[toToken].chainlinkRefOracle === constants_2.NULL_ADDRESS) {
259
- return;
260
- }
261
- const refPrice = this._refPrice(fromToken, toToken);
262
- const refToAmount = this.dMath.mulFloor(fromAmount, refPrice);
263
- const bound = this._boundForTokens(fromToken, toToken);
264
- (0, utils_1._require)(this.dMath.mulFloor(refToAmount, bigint_constants_1.BI_POWS[18] - bound) <= toAmount &&
265
- toAmount <= this.dMath.mulCeil(refToAmount, bigint_constants_1.BI_POWS[18] + bound), `WooGuardian: TO_AMOUNT_UNRELIABLE in _checkSwapAmount for ${toToken}`);
266
- }
267
- checkSwapPrice(price, fromToken, toToken) {
268
- if (this.state.guardian.refInfos[fromToken].chainlinkRefOracle ===
269
- constants_2.NULL_ADDRESS ||
270
- this.state.guardian.refInfos[toToken].chainlinkRefOracle === constants_2.NULL_ADDRESS) {
271
- return;
272
- }
273
- const refPrice = this._refPrice(fromToken, toToken);
274
- const bound = this._boundForTokens(fromToken, toToken);
275
- (0, utils_1._require)(this.dMath.mulFloor(refPrice, bigint_constants_1.BI_POWS[18] - bound) <= price &&
276
- price <= this.dMath.mulCeil(refPrice, bigint_constants_1.BI_POWS[18] + bound), `WooGuardian: PRICE_UNRELIABLE in checkSwapPrice fromToken=${fromToken} and toToken=${toToken}`);
277
- }
278
- _refPrice(fromToken, toToken) {
279
- const baseInfo = this.state.guardian.refInfos[fromToken];
280
- const quoteInfo = this.state.guardian.refInfos[toToken];
281
- (0, utils_1._require)(baseInfo.chainlinkRefOracle !== constants_2.NULL_ADDRESS, `WooGuardian: fromToken_RefOracle_INVALID: ${fromToken}`);
282
- (0, utils_1._require)(quoteInfo.chainlinkRefOracle !== constants_2.NULL_ADDRESS, `WooGuardian: toToken_RefOracle_INVALID: ${toToken}`);
283
- const { answer: rawBaseRefPrice } = this.state.chainlink.latestRoundDatas[baseInfo.chainlinkRefOracle];
284
- (0, utils_1._require)(rawBaseRefPrice >= 0, `WooGuardian: INVALID_CHAINLINK_PRICE in _refPrice for ${fromToken}`);
285
- const { answer: rawQuoteRefPrice } = this.state.chainlink.latestRoundDatas[quoteInfo.chainlinkRefOracle];
286
- (0, utils_1._require)(rawQuoteRefPrice >= 0, `WooGuardian: INVALID_CHAINLINK_QUOTE_PRICE in _refPrice for ${toToken}`);
287
- const baseRefPrice = rawBaseRefPrice * baseInfo.refPriceFixCoeff;
288
- const quoteRefPrice = rawQuoteRefPrice * quoteInfo.refPriceFixCoeff;
289
- return this.dMath.divFloor(baseRefPrice, quoteRefPrice);
290
- }
291
- _boundForTokens(token1, token2) {
292
- const info1 = this.state.guardian.refInfos[token1];
293
- const bound1 = info1.bound !== 0n ? info1.bound : this.state.guardian.globalBound;
294
- const info2 = this.state.guardian.refInfos[token2];
295
- const bound2 = info2.bound != 0n ? info2.bound : this.state.guardian.globalBound;
296
- return bound1 > bound2 ? bound1 : bound2;
297
- }
298
- }
299
- exports.WooFiMath = WooFiMath;
300
- //# sourceMappingURL=woo-fi-math.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"woo-fi-math.js","sourceRoot":"","sources":["../../../src/dex/woo-fi/woo-fi-math.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { Interface, Result } from '@ethersproject/abi';
2
- import { Token, Address, ExchangePrices, PoolPrices, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger } from '../../types';
3
- import { SwapSide, Network } from '../../constants';
4
- import { IDex } from '../../dex/idex';
5
- import { IDexHelper } from '../../dex-helper/idex-helper';
6
- import { DexParams, PoolState, WooFiData } from './types';
7
- import { SimpleExchange } from '../simple-exchange';
8
- import { WooFiMath } from './woo-fi-math';
9
- export declare class WooFi extends SimpleExchange implements IDex<WooFiData> {
10
- protected network: Network;
11
- protected dexHelper: IDexHelper;
12
- protected adapters: import("../../types").AdapterMappings;
13
- readonly config: DexParams;
14
- readonly math: WooFiMath;
15
- latestState: PoolState | null;
16
- latestBlockNumber: number;
17
- vaultUSDBalance: number;
18
- tokenByAddress: Record<Address, Token>;
19
- private _refInfos;
20
- private _encodedStateRequestCalldata?;
21
- static readonly ifaces: {
22
- PP: Interface;
23
- fee: Interface;
24
- oracle: Interface;
25
- guardian: Interface;
26
- chainlink: Interface;
27
- erc20BalanceOf: Interface;
28
- };
29
- readonly hasConstantPriceLargeAmounts = false;
30
- readonly needWrapNative = true;
31
- readonly isFeeOnTransferSupported = false;
32
- readonly quoteTokenAddress: Address;
33
- static dexKeysWithNetwork: {
34
- key: string;
35
- networks: Network[];
36
- }[];
37
- logger: Logger;
38
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings, config?: DexParams);
39
- private _toLowerForAllConfigAddresses;
40
- private _getRefInfos;
41
- get baseTokens(): Token[];
42
- get isRefInfosEmpty(): boolean;
43
- protected _fillTokenInfoState(state: PoolState, address: string, values: Result): void;
44
- private _readChanLinkResponse;
45
- protected _getStateRequestCallData(): {
46
- target: string;
47
- callData: string;
48
- }[];
49
- private _fetchStateForBlockNumber;
50
- initializePricing(blockNumber: number): Promise<void>;
51
- getAdapters(side: SwapSide): {
52
- name: string;
53
- index: number;
54
- }[] | null;
55
- getIdentifier(isSrcQuote: boolean): string;
56
- getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
57
- getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<WooFiData>>;
58
- getCalldataGasCost(poolPrices: PoolPrices<WooFiData>): number | number[];
59
- getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: WooFiData, side: SwapSide): AdapterExchangeParam;
60
- getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: WooFiData, side: SwapSide): Promise<SimpleExchangeParam>;
61
- updatePoolState(): Promise<void>;
62
- getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
63
- getState(blockNumber?: number): Promise<PoolState>;
64
- private _identifyQuote;
65
- }