@paraswap/dex-lib 4.1.23 → 4.1.24-pubsub-for-generic-rfq.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/build/dex/generic-rfq/generic-rfq.js +1 -2
  2. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  3. package/build/dex/generic-rfq/rate-fetcher.d.ts +4 -1
  4. package/build/dex/generic-rfq/rate-fetcher.js +53 -20
  5. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  6. package/build/lib/pub-sub.d.ts +15 -0
  7. package/build/lib/pub-sub.js +72 -1
  8. package/build/lib/pub-sub.js.map +1 -1
  9. package/package.json +1 -1
  10. package/build/abi/AaveV1_lending_pool.json +0 -27
  11. package/build/abi/Aave_GSM.json +0 -751
  12. package/build/abi/BProtocol.json +0 -1155
  13. package/build/abi/Balancer.json +0 -257
  14. package/build/abi/BalancerV2.json +0 -1179
  15. package/build/abi/Jarvis.json +0 -1172
  16. package/build/abi/MStableAsset.json +0 -1545
  17. package/build/abi/OneInchLp.json +0 -1304
  18. package/build/abi/Onebit.json +0 -736
  19. package/build/abi/RamsesV2Pool.abi.json +0 -1554
  20. package/build/abi/RamsesV2Quoter.abi.json +0 -274
  21. package/build/abi/Shell.json +0 -1294
  22. package/build/abi/TraderJoeV2Router.json +0 -50
  23. package/build/abi/USDM.json +0 -807
  24. package/build/abi/UniswapV2Router.json +0 -397
  25. package/build/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +0 -1246
  26. package/build/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +0 -509
  27. package/build/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  28. package/build/abi/curve-v1/CurveTokenV1.json +0 -305
  29. package/build/abi/curve-v1/CurveTokenV2.json +0 -318
  30. package/build/abi/curve-v1/CurveV1StableNg.json +0 -1452
  31. package/build/abi/curve-v1/CurveV2Swap.json +0 -700
  32. package/build/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  33. package/build/abi/curve-v1/FactoryRegistry.json +0 -508
  34. package/build/abi/curve-v1/StableSwapAave.json +0 -1152
  35. package/build/abi/curve-v1/StableSwapBUSD.json +0 -814
  36. package/build/abi/curve-v1/StableSwapCompound.json +0 -814
  37. package/build/abi/curve-v1/StableSwapIDLE.json +0 -1253
  38. package/build/abi/curve-v1/StableSwapPax.json +0 -865
  39. package/build/abi/curve-v1/StableSwapSnow.json +0 -900
  40. package/build/abi/curve-v1/StableSwapUSDN.json +0 -1004
  41. package/build/abi/curve-v1/StableSwapUSDT.json +0 -814
  42. package/build/abi/curve-v1/StableSwapY.json +0 -814
  43. package/build/abi/inception/inception-ineth-pool.json +0 -1062
  44. package/build/abi/inception/inception-ineth.json +0 -609
  45. package/build/abi/inception/inception-ratio-feed.json +0 -329
  46. package/build/abi/inception/inception-vault.json +0 -991
  47. package/build/abi/kyberdmm/kyber-storage.abi.json +0 -824
  48. package/build/abi/kyberdmm.abi.json +0 -1148
  49. package/build/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  50. package/build/abi/nerve/nerve-metapool.json +0 -790
  51. package/build/abi/platypus/asset.json +0 -490
  52. package/build/abi/platypus/avax-pool.json +0 -820
  53. package/build/abi/platypus/oracle.json +0 -119
  54. package/build/abi/platypus/pool.json +0 -677
  55. package/build/abi/smardex/all/smardex-router.json +0 -648
  56. package/build/abi/smardex/layer-1/smardex-factory.json +0 -242
  57. package/build/abi/smardex/layer-1/smardex-pool.json +0 -506
  58. package/build/abi/smardex/layer-2/smardex-factory.json +0 -185
  59. package/build/abi/smardex/layer-2/smardex-pool.json +0 -578
  60. package/build/abi/swaap-v1/pool.json +0 -1346
  61. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  62. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  63. package/build/abi/wUSDM.json +0 -757
  64. package/build/abi/zrx.v2.json +0 -1967
  65. package/build/abi/zrx.v3.json +0 -3454
  66. package/build/abi/zrx.v4.json +0 -2193
  67. package/build/dex/OneInchLp.d.ts +0 -24
  68. package/build/dex/OneInchLp.js +0 -43
  69. package/build/dex/OneInchLp.js.map +0 -1
  70. package/build/dex/aave-v1/aave-v1.d.ts +0 -34
  71. package/build/dex/aave-v1/aave-v1.js +0 -180
  72. package/build/dex/aave-v1/aave-v1.js.map +0 -1
  73. package/build/dex/aave-v1/config.d.ts +0 -11
  74. package/build/dex/aave-v1/config.js +0 -20
  75. package/build/dex/aave-v1/config.js.map +0 -1
  76. package/build/dex/aave-v1/tokens-mainnet.json +0 -134
  77. package/build/dex/aave-v1/tokens.d.ts +0 -3
  78. package/build/dex/aave-v1/tokens.js +0 -50
  79. package/build/dex/aave-v1/tokens.js.map +0 -1
  80. package/build/dex/aave-v1/types.d.ts +0 -12
  81. package/build/dex/aave-v1/types.js +0 -3
  82. package/build/dex/aave-v1/types.js.map +0 -1
  83. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  84. package/build/dex/bProtocol/bProtocol.js +0 -56
  85. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  86. package/build/dex/bProtocol/types.d.ts +0 -11
  87. package/build/dex/bProtocol/types.js +0 -8
  88. package/build/dex/bProtocol/types.js.map +0 -1
  89. package/build/dex/balancer-v1/balancer-pools.json +0 -33333
  90. package/build/dex/bebop/websocket-fetcher.d.ts +0 -35
  91. package/build/dex/bebop/websocket-fetcher.js +0 -87
  92. package/build/dex/bebop/websocket-fetcher.js.map +0 -1
  93. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  94. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  95. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  96. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  97. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  98. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  99. package/build/dex/idle-dao/scripts.d.ts +0 -9
  100. package/build/dex/idle-dao/scripts.js +0 -552
  101. package/build/dex/idle-dao/scripts.js.map +0 -1
  102. package/build/dex/inception/config.d.ts +0 -4
  103. package/build/dex/inception/config.js +0 -109
  104. package/build/dex/inception/config.js.map +0 -1
  105. package/build/dex/inception/inception-event-pool.d.ts +0 -16
  106. package/build/dex/inception/inception-event-pool.js +0 -51
  107. package/build/dex/inception/inception-event-pool.js.map +0 -1
  108. package/build/dex/inception/inception-native.d.ts +0 -43
  109. package/build/dex/inception/inception-native.js +0 -131
  110. package/build/dex/inception/inception-native.js.map +0 -1
  111. package/build/dex/inception/inception-pool.d.ts +0 -18
  112. package/build/dex/inception/inception-pool.js +0 -32
  113. package/build/dex/inception/inception-pool.js.map +0 -1
  114. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  115. package/build/dex/inception/inception-price-feed.js +0 -51
  116. package/build/dex/inception/inception-price-feed.js.map +0 -1
  117. package/build/dex/inception/inception.d.ts +0 -43
  118. package/build/dex/inception/inception.js +0 -204
  119. package/build/dex/inception/inception.js.map +0 -1
  120. package/build/dex/inception/tokens.d.ts +0 -9
  121. package/build/dex/inception/tokens.js +0 -28
  122. package/build/dex/inception/tokens.js.map +0 -1
  123. package/build/dex/inception/types.d.ts +0 -22
  124. package/build/dex/inception/types.js +0 -3
  125. package/build/dex/inception/types.js.map +0 -1
  126. package/build/dex/inception/utils.d.ts +0 -6
  127. package/build/dex/inception/utils.js +0 -37
  128. package/build/dex/inception/utils.js.map +0 -1
  129. package/build/dex/jarvis.d.ts +0 -56
  130. package/build/dex/jarvis.js +0 -163
  131. package/build/dex/jarvis.js.map +0 -1
  132. package/build/dex/mStable.d.ts +0 -44
  133. package/build/dex/mStable.js +0 -75
  134. package/build/dex/mStable.js.map +0 -1
  135. package/build/dex/onebit/onebit.d.ts +0 -16
  136. package/build/dex/onebit/onebit.js +0 -61
  137. package/build/dex/onebit/onebit.js.map +0 -1
  138. package/build/dex/onebit/types.d.ts +0 -14
  139. package/build/dex/onebit/types.js +0 -8
  140. package/build/dex/onebit/types.js.map +0 -1
  141. package/build/dex/platypus/asset.d.ts +0 -14
  142. package/build/dex/platypus/asset.js +0 -97
  143. package/build/dex/platypus/asset.js.map +0 -1
  144. package/build/dex/platypus/config.d.ts +0 -11
  145. package/build/dex/platypus/config.js +0 -69
  146. package/build/dex/platypus/config.js.map +0 -1
  147. package/build/dex/platypus/platypus.d.ts +0 -63
  148. package/build/dex/platypus/platypus.js +0 -473
  149. package/build/dex/platypus/platypus.js.map +0 -1
  150. package/build/dex/platypus/pool-avax.d.ts +0 -8
  151. package/build/dex/platypus/pool-avax.js +0 -54
  152. package/build/dex/platypus/pool-avax.js.map +0 -1
  153. package/build/dex/platypus/pool-base.d.ts +0 -19
  154. package/build/dex/platypus/pool-base.js +0 -86
  155. package/build/dex/platypus/pool-base.js.map +0 -1
  156. package/build/dex/platypus/pool-pure.d.ts +0 -8
  157. package/build/dex/platypus/pool-pure.js +0 -37
  158. package/build/dex/platypus/pool-pure.js.map +0 -1
  159. package/build/dex/platypus/pool-subscriber.d.ts +0 -14
  160. package/build/dex/platypus/pool-subscriber.js +0 -167
  161. package/build/dex/platypus/pool-subscriber.js.map +0 -1
  162. package/build/dex/platypus/pool.d.ts +0 -8
  163. package/build/dex/platypus/pool.js +0 -58
  164. package/build/dex/platypus/pool.js.map +0 -1
  165. package/build/dex/platypus/types.d.ts +0 -92
  166. package/build/dex/platypus/types.js +0 -10
  167. package/build/dex/platypus/types.js.map +0 -1
  168. package/build/dex/quickswap/spiritswap-v3.d.ts +0 -6
  169. package/build/dex/quickswap/spiritswap-v3.js +0 -19
  170. package/build/dex/quickswap/spiritswap-v3.js.map +0 -1
  171. package/build/dex/shell.d.ts +0 -25
  172. package/build/dex/shell.js +0 -41
  173. package/build/dex/shell.js.map +0 -1
  174. package/build/dex/smardex/config.d.ts +0 -4
  175. package/build/dex/smardex/config.js +0 -64
  176. package/build/dex/smardex/config.js.map +0 -1
  177. package/build/dex/smardex/constants.d.ts +0 -18
  178. package/build/dex/smardex/constants.js +0 -33
  179. package/build/dex/smardex/constants.js.map +0 -1
  180. package/build/dex/smardex/sdk/constants.d.ts +0 -6
  181. package/build/dex/smardex/sdk/constants.js +0 -13
  182. package/build/dex/smardex/sdk/constants.js.map +0 -1
  183. package/build/dex/smardex/sdk/core.d.ts +0 -113
  184. package/build/dex/smardex/sdk/core.js +0 -499
  185. package/build/dex/smardex/sdk/core.js.map +0 -1
  186. package/build/dex/smardex/sdk/errors.d.ts +0 -15
  187. package/build/dex/smardex/sdk/errors.js +0 -22
  188. package/build/dex/smardex/sdk/errors.js.map +0 -1
  189. package/build/dex/smardex/sdk/types.d.ts +0 -62
  190. package/build/dex/smardex/sdk/types.js +0 -3
  191. package/build/dex/smardex/sdk/types.js.map +0 -1
  192. package/build/dex/smardex/sdk/utils.d.ts +0 -44
  193. package/build/dex/smardex/sdk/utils.js +0 -133
  194. package/build/dex/smardex/sdk/utils.js.map +0 -1
  195. package/build/dex/smardex/smardex-event-pool.d.ts +0 -28
  196. package/build/dex/smardex/smardex-event-pool.js +0 -119
  197. package/build/dex/smardex/smardex-event-pool.js.map +0 -1
  198. package/build/dex/smardex/smardex.d.ts +0 -65
  199. package/build/dex/smardex/smardex.js +0 -519
  200. package/build/dex/smardex/smardex.js.map +0 -1
  201. package/build/dex/smardex/types.d.ts +0 -55
  202. package/build/dex/smardex/types.js +0 -3
  203. package/build/dex/smardex/types.js.map +0 -1
  204. package/build/dex/solidly/forks-override/cone.d.ts +0 -22
  205. package/build/dex/solidly/forks-override/cone.js +0 -53
  206. package/build/dex/solidly/forks-override/cone.js.map +0 -1
  207. package/build/dex/solidly/forks-override/solisnek.d.ts +0 -8
  208. package/build/dex/solidly/forks-override/solisnek.js +0 -15
  209. package/build/dex/solidly/forks-override/solisnek.js.map +0 -1
  210. package/build/dex/swaap-v1/config.d.ts +0 -17
  211. package/build/dex/swaap-v1/config.js +0 -56
  212. package/build/dex/swaap-v1/config.js.map +0 -1
  213. package/build/dex/swaap-v1/constants.d.ts +0 -6
  214. package/build/dex/swaap-v1/constants.js +0 -17
  215. package/build/dex/swaap-v1/constants.js.map +0 -1
  216. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +0 -25
  217. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +0 -62
  218. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +0 -1
  219. package/build/dex/swaap-v1/libraries/Const.d.ts +0 -18
  220. package/build/dex/swaap-v1/libraries/Const.js +0 -26
  221. package/build/dex/swaap-v1/libraries/Const.js.map +0 -1
  222. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +0 -77
  223. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +0 -316
  224. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +0 -1
  225. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +0 -75
  226. package/build/dex/swaap-v1/libraries/LogExpMath.js +0 -418
  227. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +0 -1
  228. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +0 -185
  229. package/build/dex/swaap-v1/libraries/MathMMM.js +0 -453
  230. package/build/dex/swaap-v1/libraries/MathMMM.js.map +0 -1
  231. package/build/dex/swaap-v1/libraries/Num.d.ts +0 -31
  232. package/build/dex/swaap-v1/libraries/Num.js +0 -167
  233. package/build/dex/swaap-v1/libraries/Num.js.map +0 -1
  234. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +0 -23
  235. package/build/dex/swaap-v1/libraries/PoolQuotations.js +0 -131
  236. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +0 -1
  237. package/build/dex/swaap-v1/libraries/Struct.d.ts +0 -56
  238. package/build/dex/swaap-v1/libraries/Struct.js +0 -3
  239. package/build/dex/swaap-v1/libraries/Struct.js.map +0 -1
  240. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +0 -45
  241. package/build/dex/swaap-v1/swaap-v1-pool.js +0 -656
  242. package/build/dex/swaap-v1/swaap-v1-pool.js.map +0 -1
  243. package/build/dex/swaap-v1/swaap-v1.d.ts +0 -62
  244. package/build/dex/swaap-v1/swaap-v1.js +0 -379
  245. package/build/dex/swaap-v1/swaap-v1.js.map +0 -1
  246. package/build/dex/swaap-v1/types.d.ts +0 -106
  247. package/build/dex/swaap-v1/types.js +0 -9
  248. package/build/dex/swaap-v1/types.js.map +0 -1
  249. package/build/dex/trader-joe-v2.d.ts +0 -40
  250. package/build/dex/trader-joe-v2.js +0 -74
  251. package/build/dex/trader-joe-v2.js.map +0 -1
  252. package/build/dex/usual-bond/config.d.ts +0 -3
  253. package/build/dex/usual-bond/config.js +0 -13
  254. package/build/dex/usual-bond/config.js.map +0 -1
  255. package/build/dex/usual-bond/types.d.ts +0 -7
  256. package/build/dex/usual-bond/types.js +0 -3
  257. package/build/dex/usual-bond/types.js.map +0 -1
  258. package/build/dex/usual-bond/usual-bond.d.ts +0 -35
  259. package/build/dex/usual-bond/usual-bond.js +0 -176
  260. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  261. package/build/dex/wusdm/config.d.ts +0 -3
  262. package/build/dex/wusdm/config.js +0 -43
  263. package/build/dex/wusdm/config.js.map +0 -1
  264. package/build/dex/wusdm/constants.d.ts +0 -2
  265. package/build/dex/wusdm/constants.js +0 -6
  266. package/build/dex/wusdm/constants.js.map +0 -1
  267. package/build/dex/wusdm/types.d.ts +0 -18
  268. package/build/dex/wusdm/types.js +0 -11
  269. package/build/dex/wusdm/types.js.map +0 -1
  270. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  271. package/build/dex/wusdm/wusdm-pool.js +0 -74
  272. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  273. package/build/dex/wusdm/wusdm.d.ts +0 -46
  274. package/build/dex/wusdm/wusdm.js +0 -243
  275. package/build/dex/wusdm/wusdm.js.map +0 -1
  276. package/build/dex/zerox/config.d.ts +0 -2
  277. package/build/dex/zerox/config.js +0 -33
  278. package/build/dex/zerox/config.js.map +0 -1
  279. package/build/dex/zerox/index.d.ts +0 -22
  280. package/build/dex/zerox/index.js +0 -225
  281. package/build/dex/zerox/index.js.map +0 -1
  282. package/build/dex/zerox/order.d.ts +0 -88
  283. package/build/dex/zerox/order.js +0 -53
  284. package/build/dex/zerox/order.js.map +0 -1
  285. package/build/dex/zerox/types.d.ts +0 -73
  286. package/build/dex/zerox/types.js +0 -21
  287. package/build/dex/zerox/types.js.map +0 -1
  288. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  289. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  290. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  291. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  292. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  293. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  294. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  295. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  296. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  297. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  298. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  299. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  300. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  301. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  302. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  303. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  304. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  305. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  306. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  307. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  308. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  309. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  310. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  311. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  312. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  313. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  314. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  315. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  316. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  317. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  318. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  319. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  320. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  321. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  322. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  323. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  324. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  325. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  326. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  327. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  328. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  329. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  330. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  331. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  332. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  333. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  334. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  335. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  336. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  337. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  338. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  339. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  340. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  341. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  342. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  343. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  344. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  345. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  346. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  347. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  348. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  349. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  350. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  351. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  352. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  353. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  354. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  355. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  356. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  357. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  358. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  359. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  360. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  361. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
@@ -1,167 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Num = void 0;
4
- const bigint_constants_1 = require("../../../bigint-constants");
5
- const Const_1 = require("./Const");
6
- const _require = (b, message) => {
7
- if (!b)
8
- throw new Error(message);
9
- };
10
- class Num {
11
- /**
12
- * @dev Returns the addition of two signed integers, reverting on overflow.
13
- */
14
- static add(a, b) {
15
- const c = a + b;
16
- _require(c <= bigint_constants_1.BI_MAX_UINT256, 'Errors.ADD_OVERFLOW');
17
- return c;
18
- }
19
- /**
20
- * @dev Returns the subtraction of two unsigned integers of 256 bits, reverting on overflow.
21
- */
22
- static sub(a, b) {
23
- _require(a >= 0n && b >= 0n, 'Errors.NEGATIVE_UINT');
24
- _require(b <= a, 'Errors.SUB_OVERFLOW');
25
- const c = a - b;
26
- return c;
27
- }
28
- static toi(a) {
29
- return a / Const_1.Const.ONE;
30
- }
31
- static floor(a) {
32
- return this.toi(a) * Const_1.Const.ONE;
33
- }
34
- static subSign(a, b) {
35
- if (a >= b) {
36
- return [a - b, false];
37
- }
38
- else {
39
- return [b - a, true];
40
- }
41
- }
42
- static mul(a, b) {
43
- const c1 = a * b + Const_1.Const.ONE / 2n;
44
- // Second conditions is added in case c1 was an int256 (and not a uint256)
45
- _require(c1 <= bigint_constants_1.BI_MAX_UINT256 && c1 >= -bigint_constants_1.BI_MAX_INT, 'Err.MATH_OVERFLOW');
46
- return c1 / Const_1.Const.ONE;
47
- }
48
- static mulTruncated(a, b) {
49
- const c0 = a * b;
50
- _require(c0 <= bigint_constants_1.BI_MAX_UINT256, 'Err.MATH_OVERFLOW');
51
- return c0 / Const_1.Const.ONE;
52
- }
53
- static div(a, b) {
54
- const c1 = a * Const_1.Const.ONE + b / 2n;
55
- _require(c1 <= bigint_constants_1.BI_MAX_UINT256, 'Err.MATH_OVERFLOW');
56
- return c1 / b;
57
- }
58
- static divTruncated(a, b) {
59
- const c0 = a * Const_1.Const.ONE;
60
- _require(c0 <= bigint_constants_1.BI_MAX_UINT256, 'Err.MATH_OVERFLOW');
61
- return c0 / b;
62
- }
63
- // DSMath.wpow
64
- static powi(a, n) {
65
- let z = n % 2n != 0n ? a : Const_1.Const.ONE;
66
- for (n /= 2n; n != 0n; n /= 2n) {
67
- a = this.mul(a, a);
68
- if (n % 2n != 0n) {
69
- z = this.mul(z, a);
70
- }
71
- }
72
- return z;
73
- }
74
- // Compute b^(e.w) by splitting it into (b^e)*(b^0.w).
75
- // Use `powi` for `b^e` and `powK` for k iterations
76
- // of approximation of b^0.w
77
- static pow(base, exp) {
78
- _require(base >= Const_1.Const.MIN_POW_BASE, 'Err.POW_BASE_TOO_LOW');
79
- _require(base <= Const_1.Const.MAX_POW_BASE, 'Err.POW_BASE_TOO_HIGH');
80
- const whole = this.floor(exp);
81
- const remain = exp - whole;
82
- const wholePow = this.powi(base, this.toi(whole));
83
- if (remain == 0n) {
84
- return wholePow;
85
- }
86
- const partialResult = this.powApprox(base, remain, Const_1.Const.POW_PRECISION);
87
- return this.mul(wholePow, partialResult);
88
- }
89
- static powApprox(base, exp, precision) {
90
- // term 0:
91
- const a = exp;
92
- const [x, xneg] = this.subSign(base, Const_1.Const.ONE);
93
- let term = Const_1.Const.ONE;
94
- let sum = term;
95
- let negative = false;
96
- // term(k) = numer / denom
97
- // = (product(a - i - 1, i=1-->k) * x^k) / (k!)
98
- // each iteration, multiply previous term by (a-(k-1)) * x / k
99
- // continue until term is less than precision
100
- for (let i = 1n; term >= precision; i++) {
101
- const bigK = i * Const_1.Const.ONE;
102
- const [c, cneg] = this.subSign(a, bigK - Const_1.Const.ONE);
103
- term = this.mul(term, this.mul(c, x));
104
- term = this.div(term, bigK);
105
- if (term == 0n)
106
- break;
107
- if (xneg)
108
- negative = !negative;
109
- if (cneg)
110
- negative = !negative;
111
- if (negative) {
112
- sum = this.sub(sum, term);
113
- }
114
- else {
115
- sum = this.add(sum, term);
116
- }
117
- }
118
- return sum;
119
- }
120
- /**
121
- * @notice Computes the division of 2 int256 with ONE precision
122
- * @dev Converts inputs to uint256 if needed, and then uses div(uint256, uint256)
123
- * @param a The int256 representation of a floating point number with ONE precision
124
- * @param b The int256 representation of a floating point number with ONE precision
125
- * @return b The division of 2 int256 with ONE precision
126
- */
127
- static divInt256(a, b) {
128
- if (a < 0) {
129
- if (b < 0) {
130
- return Num.div(-a, -b); // both negative
131
- }
132
- else {
133
- return -Num.div(-a, b); // a < 0, b >= 0
134
- }
135
- }
136
- else {
137
- if (b < 0) {
138
- return -Num.div(a, -b); // a >= 0, b < 0
139
- }
140
- else {
141
- return Num.div(a, b); // both positive
142
- }
143
- }
144
- // _require(c2 <= BI_MAX_INT, "Err.MATH_OVERFLOW");
145
- // _require(c2 >= -BI_MAX_INT, "Err.MATH_UNDERFLOW");
146
- }
147
- static positivePart(value) {
148
- if (value <= 0n) {
149
- return 0n;
150
- }
151
- return value;
152
- }
153
- static max(a, b) {
154
- if (a > b) {
155
- return a;
156
- }
157
- return b;
158
- }
159
- static min(a, b) {
160
- if (a < b) {
161
- return a;
162
- }
163
- return b;
164
- }
165
- }
166
- exports.Num = Num;
167
- //# sourceMappingURL=Num.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Num.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/Num.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import * as Struct from './Struct';
2
- import { ChainLinkData, OracleData, TokenData, SwaapV1PoolParameters } from '../types';
3
- import { DeepReadonly } from 'ts-essentials';
4
- export declare class PoolQuotations {
5
- /**
6
- * @return adjustedTokenWeight
7
- */
8
- static getTokenLatestInfo(tokenData: TokenData, oracleData: OracleData, currentTimestamp: bigint): Struct.TokenGlobal;
9
- /**
10
- * @notice Computes the amount of tokenOut received when swapping a fixed amount of tokenIn
11
- * @param tokenIn The address of the input token
12
- * @param tokenAmountIn The fixed amount of tokenIn to be swapped
13
- * @param tokenOut The address of the received token
14
- * @param minAmountOut The minimum amount of tokenOut that can be received
15
- * @param maxPrice The maximum spot price accepted before the swap
16
- * @return swapResult The swap result (amount out, spread and tax base in)
17
- * @return priceResult The price result (spot price before & after the swap, latest oracle price in & out)
18
- */
19
- static getAmountOutGivenInMMM(tokenDataIn: DeepReadonly<TokenData>, oracleDataIn: DeepReadonly<OracleData>, tokenAmountIn: DeepReadonly<bigint>, tokenDataOut: DeepReadonly<TokenData>, oracleDataOut: DeepReadonly<OracleData>, poolParameters: DeepReadonly<SwaapV1PoolParameters>, currentTimestamp: DeepReadonly<bigint>): bigint;
20
- static getAmountOutGivenInMMMWithTimestamp(tokenGlobalIn: Struct.TokenGlobal, tokenGlobalOut: Struct.TokenGlobal, tokenAmountIn: bigint, currentTimestamp: bigint, poolParameters: SwaapV1PoolParameters, historicalPricesIn: ChainLinkData, historicalPricesOut: ChainLinkData): Struct.SwapResult;
21
- static getAmountInGivenOutMMM(tokenDataIn: DeepReadonly<TokenData>, oracleDataIn: DeepReadonly<OracleData>, tokenDataOut: DeepReadonly<TokenData>, oracleDataOut: DeepReadonly<OracleData>, tokenAmountOut: DeepReadonly<bigint>, poolParameters: DeepReadonly<SwaapV1PoolParameters>, currentTimestamp: DeepReadonly<bigint>): bigint;
22
- static getAmountInGivenOutMMMWithTimestamp(tokenGlobalIn: Struct.TokenGlobal, tokenGlobalOut: Struct.TokenGlobal, tokenAmountOut: bigint, currentTimestamp: bigint, poolParameters: SwaapV1PoolParameters, historicalPricesIn: ChainLinkData, historicalPricesOut: ChainLinkData): Struct.SwapResult;
23
- }
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PoolQuotations = void 0;
4
- const Const_1 = require("./Const");
5
- const Num_1 = require("./Num");
6
- const MathMMM_1 = require("./MathMMM");
7
- const ChainlinkUtils_1 = require("./ChainlinkUtils");
8
- const _require = (b, message) => {
9
- if (!b)
10
- throw new Error(message);
11
- };
12
- class PoolQuotations {
13
- /**
14
- * @return adjustedTokenWeight
15
- */
16
- static getTokenLatestInfo(tokenData, oracleData, currentTimestamp) {
17
- const latestPrice = oracleData.historicalOracleState[oracleData.latestRoundId].answer;
18
- const latestTimestamp = oracleData.historicalOracleState[oracleData.latestRoundId].timestamp;
19
- const tokenRecord = {
20
- decimals: BigInt(tokenData.decimals + oracleData.oraclesBindState.decimals),
21
- balance: tokenData.balance,
22
- weight: Num_1.Num.mul(tokenData.initialWeight,
23
- // TODO: BigInt wrapper should be removed after fixing price type
24
- Num_1.Num.div(latestPrice, BigInt(oracleData.oraclesBindState.price))),
25
- };
26
- const latestRound = ChainlinkUtils_1.ChainlinkUtils.getLatestRound(oracleData.latestRoundId, oracleData.historicalOracleState, currentTimestamp);
27
- const tokenGlobal = {
28
- info: tokenRecord,
29
- latestRound: latestRound,
30
- };
31
- return tokenGlobal;
32
- }
33
- /**
34
- * @notice Computes the amount of tokenOut received when swapping a fixed amount of tokenIn
35
- * @param tokenIn The address of the input token
36
- * @param tokenAmountIn The fixed amount of tokenIn to be swapped
37
- * @param tokenOut The address of the received token
38
- * @param minAmountOut The minimum amount of tokenOut that can be received
39
- * @param maxPrice The maximum spot price accepted before the swap
40
- * @return swapResult The swap result (amount out, spread and tax base in)
41
- * @return priceResult The price result (spot price before & after the swap, latest oracle price in & out)
42
- */
43
- static getAmountOutGivenInMMM(tokenDataIn, oracleDataIn, tokenAmountIn, tokenDataOut, oracleDataOut,
44
- // minAmountOut: DeepReadonly<bigint>,
45
- // maxPrice: DeepReadonly<bigint>,
46
- poolParameters, currentTimestamp) {
47
- if (tokenAmountIn == 0n) {
48
- return 0n;
49
- }
50
- _require(tokenAmountIn <= Num_1.Num.mul(tokenDataIn.balance, Const_1.Const.MAX_IN_RATIO), 'Err.MAX_IN_RATIO');
51
- let tokenGlobalIn = PoolQuotations.getTokenLatestInfo(tokenDataIn, oracleDataIn, currentTimestamp);
52
- let tokenGlobalOut = PoolQuotations.getTokenLatestInfo(tokenDataOut, oracleDataOut, currentTimestamp);
53
- let spotPriceBefore = MathMMM_1.MathMMM.calcSpotPrice(tokenDataIn.balance, tokenGlobalIn.info.weight, tokenDataOut.balance, tokenGlobalOut.info.weight, poolParameters.swapFee);
54
- // _require(spotPriceBefore <= maxPrice, 'Err.BAD_LIMIT_PRICE');
55
- const swapResult = PoolQuotations.getAmountOutGivenInMMMWithTimestamp(tokenGlobalIn, tokenGlobalOut, tokenAmountIn, currentTimestamp, poolParameters, oracleDataIn.historicalOracleState, oracleDataOut.historicalOracleState);
56
- // _require(swapResult.amount >= minAmountOut, 'Err.LIMIT_OUT');
57
- const spotPriceAfter = MathMMM_1.MathMMM.calcSpotPrice(tokenGlobalIn.info.balance + tokenAmountIn, tokenGlobalIn.info.weight, Num_1.Num.sub(tokenGlobalOut.info.balance, swapResult.amount), tokenGlobalOut.info.weight, poolParameters.swapFee);
58
- _require(spotPriceAfter >= spotPriceBefore, 'Err.MATH_APPROX');
59
- const maxAmount = Num_1.Num.divTruncated(tokenAmountIn, spotPriceBefore);
60
- if (swapResult.amount > maxAmount) {
61
- swapResult.amount = maxAmount;
62
- }
63
- _require(Num_1.Num.div(Num_1.Num.mul(spotPriceAfter, Const_1.Const.ONE - poolParameters.swapFee), ChainlinkUtils_1.ChainlinkUtils.getTokenRelativePrice(tokenGlobalIn.latestRound.price, tokenGlobalIn.info.decimals, tokenGlobalOut.latestRound.price, tokenGlobalOut.info.decimals)) <= poolParameters.maxPriceUnpegRatio, 'Err.MAX_PRICE_UNPEG_RATIO');
64
- // const priceIn = tokenGlobalIn.latestRound.price;
65
- // const priceOut = tokenGlobalOut.latestRound.price;
66
- return swapResult.amount;
67
- }
68
- static getAmountOutGivenInMMMWithTimestamp(tokenGlobalIn, tokenGlobalOut, tokenAmountIn, currentTimestamp, poolParameters, historicalPricesIn, historicalPricesOut) {
69
- const swapParameters = {
70
- amount: tokenAmountIn,
71
- fee: poolParameters.swapFee,
72
- fallbackSpread: Const_1.Const.FALLBACK_SPREAD,
73
- };
74
- const gbmParameters = {
75
- z: poolParameters.dynamicCoverageFeesZ,
76
- horizon: poolParameters.dynamicCoverageFeesHorizon,
77
- };
78
- const hpParameters = {
79
- lookbackInRound: poolParameters.priceStatisticsLookbackInRound,
80
- lookbackInSec: poolParameters.priceStatisticsLookbackInSec,
81
- timestamp: currentTimestamp,
82
- lookbackStepInRound: poolParameters.priceStatisticsLookbackStepInRound,
83
- };
84
- return MathMMM_1.MathMMM.calcOutGivenInMMM(tokenGlobalIn, tokenGlobalOut, ChainlinkUtils_1.ChainlinkUtils.getTokenRelativePrice(tokenGlobalIn.latestRound.price, tokenGlobalIn.info.decimals, tokenGlobalOut.latestRound.price, tokenGlobalOut.info.decimals), swapParameters, gbmParameters, hpParameters, historicalPricesIn, historicalPricesOut, currentTimestamp);
85
- }
86
- static getAmountInGivenOutMMM(tokenDataIn, oracleDataIn,
87
- // maxAmountIn: DeepReadonly<bigint>,
88
- tokenDataOut, oracleDataOut, tokenAmountOut,
89
- // maxPrice: DeepReadonly<bigint>,
90
- poolParameters, currentTimestamp) {
91
- if (tokenAmountOut == 0n) {
92
- return 0n;
93
- }
94
- _require(tokenAmountOut <= Num_1.Num.mul(tokenDataOut.balance, Const_1.Const.MAX_OUT_RATIO), 'Err.MAX_OUT_RATIO');
95
- const tokenGlobalIn = PoolQuotations.getTokenLatestInfo(tokenDataIn, oracleDataIn, currentTimestamp);
96
- const tokenGlobalOut = PoolQuotations.getTokenLatestInfo(tokenDataOut, oracleDataOut, currentTimestamp);
97
- const spotPriceBefore = MathMMM_1.MathMMM.calcSpotPrice(tokenGlobalIn.info.balance, tokenGlobalIn.info.weight, tokenGlobalOut.info.balance, tokenGlobalOut.info.weight, poolParameters.swapFee);
98
- // _require(spotPriceBefore <= maxPrice, 'Err.BAD_LIMIT_PRICE');
99
- let swapResult = PoolQuotations.getAmountInGivenOutMMMWithTimestamp(tokenGlobalIn, tokenGlobalOut, tokenAmountOut, currentTimestamp, poolParameters, oracleDataIn.historicalOracleState, oracleDataOut.historicalOracleState);
100
- // _require(swapResult.amount <= maxAmountIn, 'Err.LIMIT_IN');
101
- const spotPriceAfter = MathMMM_1.MathMMM.calcSpotPrice(tokenGlobalIn.info.balance + swapResult.amount, tokenGlobalIn.info.weight, Num_1.Num.sub(tokenGlobalOut.info.balance, tokenAmountOut), tokenGlobalOut.info.weight, poolParameters.swapFee);
102
- _require(spotPriceAfter >= spotPriceBefore, 'Err.MATH_APPROX');
103
- const minAmount = Num_1.Num.mul(spotPriceBefore, tokenAmountOut) + 1n;
104
- if (swapResult.amount < minAmount) {
105
- swapResult.amount = minAmount;
106
- }
107
- _require(Num_1.Num.div(Num_1.Num.mul(spotPriceAfter, Const_1.Const.ONE - poolParameters.swapFee), ChainlinkUtils_1.ChainlinkUtils.getTokenRelativePrice(tokenGlobalIn.latestRound.price, tokenGlobalIn.info.decimals, tokenGlobalOut.latestRound.price, tokenGlobalOut.info.decimals)) <= poolParameters.maxPriceUnpegRatio, 'Err.MAX_PRICE_UNPEG_RATIO');
108
- return swapResult.amount;
109
- }
110
- static getAmountInGivenOutMMMWithTimestamp(tokenGlobalIn, tokenGlobalOut, tokenAmountOut, currentTimestamp, poolParameters, historicalPricesIn, historicalPricesOut) {
111
- const swapParameters = {
112
- amount: tokenAmountOut,
113
- fee: poolParameters.swapFee,
114
- fallbackSpread: Const_1.Const.FALLBACK_SPREAD,
115
- };
116
- const gbmParameters = {
117
- z: poolParameters.dynamicCoverageFeesZ,
118
- horizon: poolParameters.dynamicCoverageFeesHorizon,
119
- };
120
- const hpParameters = {
121
- lookbackInRound: poolParameters.priceStatisticsLookbackInRound,
122
- lookbackInSec: poolParameters.priceStatisticsLookbackInSec,
123
- timestamp: currentTimestamp,
124
- lookbackStepInRound: poolParameters.priceStatisticsLookbackStepInRound,
125
- };
126
- const swapResult = MathMMM_1.MathMMM.calcInGivenOutMMM(tokenGlobalIn, tokenGlobalOut, ChainlinkUtils_1.ChainlinkUtils.getTokenRelativePrice(tokenGlobalIn.latestRound.price, tokenGlobalIn.info.decimals, tokenGlobalOut.latestRound.price, tokenGlobalOut.info.decimals), swapParameters, gbmParameters, hpParameters, historicalPricesIn, historicalPricesOut, currentTimestamp);
127
- return swapResult;
128
- }
129
- }
130
- exports.PoolQuotations = PoolQuotations;
131
- //# sourceMappingURL=PoolQuotations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolQuotations.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/PoolQuotations.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- export declare type TokenGlobal = {
2
- info: TokenRecord;
3
- latestRound: LatestRound;
4
- };
5
- export declare type LatestRound = {
6
- roundId: number;
7
- price: bigint;
8
- timestamp: bigint;
9
- };
10
- export declare type HistoricalPricesParameters = {
11
- lookbackInRound: number;
12
- lookbackInSec: bigint;
13
- timestamp: bigint;
14
- lookbackStepInRound: number;
15
- };
16
- export declare type HistoricalPricesData = {
17
- startIndex: number;
18
- timestamps: bigint[];
19
- prices: bigint[];
20
- };
21
- export declare type SwapResult = {
22
- amount: bigint;
23
- spread: bigint;
24
- taxBaseIn: bigint;
25
- };
26
- export declare type PriceResult = {
27
- spotPriceBefore: bigint;
28
- spotPriceAfter: bigint;
29
- priceIn: bigint;
30
- priceOut: bigint;
31
- };
32
- export declare type GBMEstimation = {
33
- mean: bigint;
34
- variance: bigint;
35
- success: boolean;
36
- };
37
- export declare type TokenRecord = {
38
- decimals: bigint;
39
- balance: bigint;
40
- weight: bigint;
41
- };
42
- export declare type SwapParameters = {
43
- amount: bigint;
44
- fee: bigint;
45
- fallbackSpread: bigint;
46
- };
47
- export declare type JoinExitSwapParameters = {
48
- amount: bigint;
49
- fee: bigint;
50
- fallbackSpread: bigint;
51
- poolSupply: bigint;
52
- };
53
- export declare type GBMParameters = {
54
- z: bigint;
55
- horizon: bigint;
56
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=Struct.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Struct.js","sourceRoot":"","sources":["../../../../src/dex/swaap-v1/libraries/Struct.ts"],"names":[],"mappings":""}
@@ -1,45 +0,0 @@
1
- import { DeepReadonly } from 'ts-essentials';
2
- import { BlockHeader } from '../../types';
3
- import { Address } from '../../types';
4
- import { IDexHelper } from '../../dex-helper/idex-helper';
5
- import { SwaapV1PoolState, SubgraphPoolBase, SwaapV1PoolParameters, SwaapV1PoolLiquidities, SwaapV1PoolOracles, ChainLinkData } from './types';
6
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
7
- import { Log } from '../../types';
8
- import { Interface } from '@ethersproject/abi';
9
- export declare class SwaapV1Pool extends StatefulEventSubscriber<SwaapV1PoolState> {
10
- protected pool: SubgraphPoolBase;
11
- protected dexHelper: IDexHelper;
12
- static readonly poolInterface: Interface;
13
- static readonly proxyInterface: Interface;
14
- static readonly erc20Interface: Interface;
15
- static readonly SWAP_FEE_TOPIC = "0x34e1990700000000000000000000000000000000000000000000000000000000";
16
- static readonly LB_IN_ROUND_TOPIC = "0x3cc3396000000000000000000000000000000000000000000000000000000000";
17
- static readonly LB_STEP_IN_ROUND_TOPIC = "0x045dbae000000000000000000000000000000000000000000000000000000000";
18
- static readonly Z_TOPIC = "0x3c515d9900000000000000000000000000000000000000000000000000000000";
19
- static readonly HORIZON_TOPIC = "0x314d204f00000000000000000000000000000000000000000000000000000000";
20
- static readonly LB_IN_SEC_TOPIC = "0x538e285c00000000000000000000000000000000000000000000000000000000";
21
- static readonly MAX_UNPEG_TOPIC = "0xacb21b3100000000000000000000000000000000000000000000000000000000";
22
- static readonly ANSWER_UPDATED_TOPIC: string;
23
- id: Address;
24
- oracleTokenMap: {
25
- [oracleAddress: Address]: Address;
26
- };
27
- tokens: Address[];
28
- constructor(dexKey: string, network: number, pool: SubgraphPoolBase, dexHelper: IDexHelper);
29
- processLog(state: DeepReadonly<SwaapV1PoolState>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<SwaapV1PoolState> | null>;
30
- getTokensAndParameters(blockNumber: number): Promise<[Address[], SwaapV1PoolParameters]>;
31
- getProxiesAndLiquidities(tokens: Address[], blockNumber: number): Promise<[{
32
- [key: Address]: Address;
33
- }, SwaapV1PoolLiquidities]>;
34
- getOraclesData(tokens: Address[], proxies: {
35
- [key: Address]: Address;
36
- }, // key: token, value: proxy
37
- parameters: SwaapV1PoolParameters, blockNumber: number): Promise<SwaapV1PoolOracles>;
38
- getHistoricalRoundsData(tokens: Address[], roundLookbackWindow: number, latestRoundIdsBN: {
39
- [key: Address]: bigint;
40
- }, oraclesData: SwaapV1PoolOracles, blockNumber: number): Promise<{
41
- [key: Address]: ChainLinkData;
42
- }>;
43
- generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<SwaapV1PoolState>>;
44
- static getValueFromAnonymousEvent(log: Readonly<Log>): string;
45
- }