@paraswap/dex-lib 4.1.24 → 4.2.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 (380) hide show
  1. package/build/constants.js +1 -1
  2. package/build/dex/index.js +2 -0
  3. package/build/dex/index.js.map +1 -1
  4. package/build/dex/uniswap-v4/constants.d.ts +1 -0
  5. package/build/dex/uniswap-v4/constants.js +3 -2
  6. package/build/dex/uniswap-v4/constants.js.map +1 -1
  7. package/build/dex/uniswap-v4/encoder.d.ts +1 -1
  8. package/build/dex/uniswap-v4/encoder.js +3 -2
  9. package/build/dex/uniswap-v4/encoder.js.map +1 -1
  10. package/build/dex/uniswap-v4/optimizer.d.ts +2 -0
  11. package/build/dex/uniswap-v4/optimizer.js +47 -0
  12. package/build/dex/uniswap-v4/optimizer.js.map +1 -0
  13. package/build/dex/uniswap-v4/subgraph.d.ts +2 -2
  14. package/build/dex/uniswap-v4/subgraph.js +42 -34
  15. package/build/dex/uniswap-v4/subgraph.js.map +1 -1
  16. package/build/dex/uniswap-v4/types.d.ts +10 -6
  17. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +4 -3
  18. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +47 -33
  19. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
  20. package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +4 -5
  21. package/build/dex/uniswap-v4/uniswap-v4-pool.js +16 -3
  22. package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -1
  23. package/build/dex/uniswap-v4/uniswap-v4.d.ts +1 -0
  24. package/build/dex/uniswap-v4/uniswap-v4.js +34 -19
  25. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  26. package/build/executor/ExecutorBytecodeBuilder.js +11 -0
  27. package/build/executor/ExecutorBytecodeBuilder.js.map +1 -1
  28. package/package.json +1 -1
  29. package/build/abi/AaveV1_lending_pool.json +0 -27
  30. package/build/abi/Aave_GSM.json +0 -751
  31. package/build/abi/BProtocol.json +0 -1155
  32. package/build/abi/Balancer.json +0 -257
  33. package/build/abi/BalancerV2.json +0 -1179
  34. package/build/abi/Jarvis.json +0 -1172
  35. package/build/abi/MStableAsset.json +0 -1545
  36. package/build/abi/OneInchLp.json +0 -1304
  37. package/build/abi/Onebit.json +0 -736
  38. package/build/abi/RamsesV2Pool.abi.json +0 -1554
  39. package/build/abi/RamsesV2Quoter.abi.json +0 -274
  40. package/build/abi/Shell.json +0 -1294
  41. package/build/abi/TraderJoeV2Router.json +0 -50
  42. package/build/abi/USDM.json +0 -807
  43. package/build/abi/UniswapV2Router.json +0 -397
  44. package/build/abi/angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json +0 -1246
  45. package/build/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +0 -509
  46. package/build/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  47. package/build/abi/curve-v1/CurveTokenV1.json +0 -305
  48. package/build/abi/curve-v1/CurveTokenV2.json +0 -318
  49. package/build/abi/curve-v1/CurveV1StableNg.json +0 -1452
  50. package/build/abi/curve-v1/CurveV2Swap.json +0 -700
  51. package/build/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  52. package/build/abi/curve-v1/FactoryRegistry.json +0 -508
  53. package/build/abi/curve-v1/StableSwapAave.json +0 -1152
  54. package/build/abi/curve-v1/StableSwapBUSD.json +0 -814
  55. package/build/abi/curve-v1/StableSwapCompound.json +0 -814
  56. package/build/abi/curve-v1/StableSwapIDLE.json +0 -1253
  57. package/build/abi/curve-v1/StableSwapPax.json +0 -865
  58. package/build/abi/curve-v1/StableSwapSnow.json +0 -900
  59. package/build/abi/curve-v1/StableSwapUSDN.json +0 -1004
  60. package/build/abi/curve-v1/StableSwapUSDT.json +0 -814
  61. package/build/abi/curve-v1/StableSwapY.json +0 -814
  62. package/build/abi/inception/inception-ineth-pool.json +0 -1062
  63. package/build/abi/inception/inception-ineth.json +0 -609
  64. package/build/abi/inception/inception-ratio-feed.json +0 -329
  65. package/build/abi/inception/inception-vault.json +0 -991
  66. package/build/abi/kyberdmm/kyber-storage.abi.json +0 -824
  67. package/build/abi/kyberdmm.abi.json +0 -1148
  68. package/build/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  69. package/build/abi/nerve/nerve-metapool.json +0 -790
  70. package/build/abi/platypus/asset.json +0 -490
  71. package/build/abi/platypus/avax-pool.json +0 -820
  72. package/build/abi/platypus/oracle.json +0 -119
  73. package/build/abi/platypus/pool.json +0 -677
  74. package/build/abi/smardex/all/smardex-router.json +0 -648
  75. package/build/abi/smardex/layer-1/smardex-factory.json +0 -242
  76. package/build/abi/smardex/layer-1/smardex-pool.json +0 -506
  77. package/build/abi/smardex/layer-2/smardex-factory.json +0 -185
  78. package/build/abi/smardex/layer-2/smardex-pool.json +0 -578
  79. package/build/abi/swaap-v1/pool.json +0 -1346
  80. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  81. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  82. package/build/abi/wUSDM.json +0 -757
  83. package/build/abi/zrx.v2.json +0 -1967
  84. package/build/abi/zrx.v3.json +0 -3454
  85. package/build/abi/zrx.v4.json +0 -2193
  86. package/build/dex/OneInchLp.d.ts +0 -24
  87. package/build/dex/OneInchLp.js +0 -43
  88. package/build/dex/OneInchLp.js.map +0 -1
  89. package/build/dex/aave-v1/aave-v1.d.ts +0 -34
  90. package/build/dex/aave-v1/aave-v1.js +0 -180
  91. package/build/dex/aave-v1/aave-v1.js.map +0 -1
  92. package/build/dex/aave-v1/config.d.ts +0 -11
  93. package/build/dex/aave-v1/config.js +0 -20
  94. package/build/dex/aave-v1/config.js.map +0 -1
  95. package/build/dex/aave-v1/tokens-mainnet.json +0 -134
  96. package/build/dex/aave-v1/tokens.d.ts +0 -3
  97. package/build/dex/aave-v1/tokens.js +0 -50
  98. package/build/dex/aave-v1/tokens.js.map +0 -1
  99. package/build/dex/aave-v1/types.d.ts +0 -12
  100. package/build/dex/aave-v1/types.js +0 -3
  101. package/build/dex/aave-v1/types.js.map +0 -1
  102. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  103. package/build/dex/bProtocol/bProtocol.js +0 -56
  104. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  105. package/build/dex/bProtocol/types.d.ts +0 -11
  106. package/build/dex/bProtocol/types.js +0 -8
  107. package/build/dex/bProtocol/types.js.map +0 -1
  108. package/build/dex/balancer-v1/balancer-pools.json +0 -33333
  109. package/build/dex/bebop/websocket-fetcher.d.ts +0 -35
  110. package/build/dex/bebop/websocket-fetcher.js +0 -87
  111. package/build/dex/bebop/websocket-fetcher.js.map +0 -1
  112. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  113. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  114. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  115. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  116. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  117. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  118. package/build/dex/idle-dao/scripts.d.ts +0 -9
  119. package/build/dex/idle-dao/scripts.js +0 -552
  120. package/build/dex/idle-dao/scripts.js.map +0 -1
  121. package/build/dex/inception/config.d.ts +0 -4
  122. package/build/dex/inception/config.js +0 -109
  123. package/build/dex/inception/config.js.map +0 -1
  124. package/build/dex/inception/inception-event-pool.d.ts +0 -16
  125. package/build/dex/inception/inception-event-pool.js +0 -51
  126. package/build/dex/inception/inception-event-pool.js.map +0 -1
  127. package/build/dex/inception/inception-native.d.ts +0 -43
  128. package/build/dex/inception/inception-native.js +0 -131
  129. package/build/dex/inception/inception-native.js.map +0 -1
  130. package/build/dex/inception/inception-pool.d.ts +0 -18
  131. package/build/dex/inception/inception-pool.js +0 -32
  132. package/build/dex/inception/inception-pool.js.map +0 -1
  133. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  134. package/build/dex/inception/inception-price-feed.js +0 -51
  135. package/build/dex/inception/inception-price-feed.js.map +0 -1
  136. package/build/dex/inception/inception.d.ts +0 -43
  137. package/build/dex/inception/inception.js +0 -204
  138. package/build/dex/inception/inception.js.map +0 -1
  139. package/build/dex/inception/tokens.d.ts +0 -9
  140. package/build/dex/inception/tokens.js +0 -28
  141. package/build/dex/inception/tokens.js.map +0 -1
  142. package/build/dex/inception/types.d.ts +0 -22
  143. package/build/dex/inception/types.js +0 -3
  144. package/build/dex/inception/types.js.map +0 -1
  145. package/build/dex/inception/utils.d.ts +0 -6
  146. package/build/dex/inception/utils.js +0 -37
  147. package/build/dex/inception/utils.js.map +0 -1
  148. package/build/dex/jarvis.d.ts +0 -56
  149. package/build/dex/jarvis.js +0 -163
  150. package/build/dex/jarvis.js.map +0 -1
  151. package/build/dex/mStable.d.ts +0 -44
  152. package/build/dex/mStable.js +0 -75
  153. package/build/dex/mStable.js.map +0 -1
  154. package/build/dex/onebit/onebit.d.ts +0 -16
  155. package/build/dex/onebit/onebit.js +0 -61
  156. package/build/dex/onebit/onebit.js.map +0 -1
  157. package/build/dex/onebit/types.d.ts +0 -14
  158. package/build/dex/onebit/types.js +0 -8
  159. package/build/dex/onebit/types.js.map +0 -1
  160. package/build/dex/platypus/asset.d.ts +0 -14
  161. package/build/dex/platypus/asset.js +0 -97
  162. package/build/dex/platypus/asset.js.map +0 -1
  163. package/build/dex/platypus/config.d.ts +0 -11
  164. package/build/dex/platypus/config.js +0 -69
  165. package/build/dex/platypus/config.js.map +0 -1
  166. package/build/dex/platypus/platypus.d.ts +0 -63
  167. package/build/dex/platypus/platypus.js +0 -473
  168. package/build/dex/platypus/platypus.js.map +0 -1
  169. package/build/dex/platypus/pool-avax.d.ts +0 -8
  170. package/build/dex/platypus/pool-avax.js +0 -54
  171. package/build/dex/platypus/pool-avax.js.map +0 -1
  172. package/build/dex/platypus/pool-base.d.ts +0 -19
  173. package/build/dex/platypus/pool-base.js +0 -86
  174. package/build/dex/platypus/pool-base.js.map +0 -1
  175. package/build/dex/platypus/pool-pure.d.ts +0 -8
  176. package/build/dex/platypus/pool-pure.js +0 -37
  177. package/build/dex/platypus/pool-pure.js.map +0 -1
  178. package/build/dex/platypus/pool-subscriber.d.ts +0 -14
  179. package/build/dex/platypus/pool-subscriber.js +0 -167
  180. package/build/dex/platypus/pool-subscriber.js.map +0 -1
  181. package/build/dex/platypus/pool.d.ts +0 -8
  182. package/build/dex/platypus/pool.js +0 -58
  183. package/build/dex/platypus/pool.js.map +0 -1
  184. package/build/dex/platypus/types.d.ts +0 -92
  185. package/build/dex/platypus/types.js +0 -10
  186. package/build/dex/platypus/types.js.map +0 -1
  187. package/build/dex/quickswap/spiritswap-v3.d.ts +0 -6
  188. package/build/dex/quickswap/spiritswap-v3.js +0 -19
  189. package/build/dex/quickswap/spiritswap-v3.js.map +0 -1
  190. package/build/dex/shell.d.ts +0 -25
  191. package/build/dex/shell.js +0 -41
  192. package/build/dex/shell.js.map +0 -1
  193. package/build/dex/smardex/config.d.ts +0 -4
  194. package/build/dex/smardex/config.js +0 -64
  195. package/build/dex/smardex/config.js.map +0 -1
  196. package/build/dex/smardex/constants.d.ts +0 -18
  197. package/build/dex/smardex/constants.js +0 -33
  198. package/build/dex/smardex/constants.js.map +0 -1
  199. package/build/dex/smardex/sdk/constants.d.ts +0 -6
  200. package/build/dex/smardex/sdk/constants.js +0 -13
  201. package/build/dex/smardex/sdk/constants.js.map +0 -1
  202. package/build/dex/smardex/sdk/core.d.ts +0 -113
  203. package/build/dex/smardex/sdk/core.js +0 -499
  204. package/build/dex/smardex/sdk/core.js.map +0 -1
  205. package/build/dex/smardex/sdk/errors.d.ts +0 -15
  206. package/build/dex/smardex/sdk/errors.js +0 -22
  207. package/build/dex/smardex/sdk/errors.js.map +0 -1
  208. package/build/dex/smardex/sdk/types.d.ts +0 -62
  209. package/build/dex/smardex/sdk/types.js +0 -3
  210. package/build/dex/smardex/sdk/types.js.map +0 -1
  211. package/build/dex/smardex/sdk/utils.d.ts +0 -44
  212. package/build/dex/smardex/sdk/utils.js +0 -133
  213. package/build/dex/smardex/sdk/utils.js.map +0 -1
  214. package/build/dex/smardex/smardex-event-pool.d.ts +0 -28
  215. package/build/dex/smardex/smardex-event-pool.js +0 -119
  216. package/build/dex/smardex/smardex-event-pool.js.map +0 -1
  217. package/build/dex/smardex/smardex.d.ts +0 -65
  218. package/build/dex/smardex/smardex.js +0 -519
  219. package/build/dex/smardex/smardex.js.map +0 -1
  220. package/build/dex/smardex/types.d.ts +0 -55
  221. package/build/dex/smardex/types.js +0 -3
  222. package/build/dex/smardex/types.js.map +0 -1
  223. package/build/dex/solidly/forks-override/cone.d.ts +0 -22
  224. package/build/dex/solidly/forks-override/cone.js +0 -53
  225. package/build/dex/solidly/forks-override/cone.js.map +0 -1
  226. package/build/dex/solidly/forks-override/solisnek.d.ts +0 -8
  227. package/build/dex/solidly/forks-override/solisnek.js +0 -15
  228. package/build/dex/solidly/forks-override/solisnek.js.map +0 -1
  229. package/build/dex/swaap-v1/config.d.ts +0 -17
  230. package/build/dex/swaap-v1/config.js +0 -56
  231. package/build/dex/swaap-v1/config.js.map +0 -1
  232. package/build/dex/swaap-v1/constants.d.ts +0 -6
  233. package/build/dex/swaap-v1/constants.js +0 -17
  234. package/build/dex/swaap-v1/constants.js.map +0 -1
  235. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +0 -25
  236. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +0 -62
  237. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +0 -1
  238. package/build/dex/swaap-v1/libraries/Const.d.ts +0 -18
  239. package/build/dex/swaap-v1/libraries/Const.js +0 -26
  240. package/build/dex/swaap-v1/libraries/Const.js.map +0 -1
  241. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +0 -77
  242. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +0 -316
  243. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +0 -1
  244. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +0 -75
  245. package/build/dex/swaap-v1/libraries/LogExpMath.js +0 -418
  246. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +0 -1
  247. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +0 -185
  248. package/build/dex/swaap-v1/libraries/MathMMM.js +0 -453
  249. package/build/dex/swaap-v1/libraries/MathMMM.js.map +0 -1
  250. package/build/dex/swaap-v1/libraries/Num.d.ts +0 -31
  251. package/build/dex/swaap-v1/libraries/Num.js +0 -167
  252. package/build/dex/swaap-v1/libraries/Num.js.map +0 -1
  253. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +0 -23
  254. package/build/dex/swaap-v1/libraries/PoolQuotations.js +0 -131
  255. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +0 -1
  256. package/build/dex/swaap-v1/libraries/Struct.d.ts +0 -56
  257. package/build/dex/swaap-v1/libraries/Struct.js +0 -3
  258. package/build/dex/swaap-v1/libraries/Struct.js.map +0 -1
  259. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +0 -45
  260. package/build/dex/swaap-v1/swaap-v1-pool.js +0 -656
  261. package/build/dex/swaap-v1/swaap-v1-pool.js.map +0 -1
  262. package/build/dex/swaap-v1/swaap-v1.d.ts +0 -62
  263. package/build/dex/swaap-v1/swaap-v1.js +0 -379
  264. package/build/dex/swaap-v1/swaap-v1.js.map +0 -1
  265. package/build/dex/swaap-v1/types.d.ts +0 -106
  266. package/build/dex/swaap-v1/types.js +0 -9
  267. package/build/dex/swaap-v1/types.js.map +0 -1
  268. package/build/dex/trader-joe-v2.d.ts +0 -40
  269. package/build/dex/trader-joe-v2.js +0 -74
  270. package/build/dex/trader-joe-v2.js.map +0 -1
  271. package/build/dex/usual-bond/config.d.ts +0 -3
  272. package/build/dex/usual-bond/config.js +0 -13
  273. package/build/dex/usual-bond/config.js.map +0 -1
  274. package/build/dex/usual-bond/types.d.ts +0 -7
  275. package/build/dex/usual-bond/types.js +0 -3
  276. package/build/dex/usual-bond/types.js.map +0 -1
  277. package/build/dex/usual-bond/usual-bond.d.ts +0 -35
  278. package/build/dex/usual-bond/usual-bond.js +0 -176
  279. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  280. package/build/dex/wusdm/config.d.ts +0 -3
  281. package/build/dex/wusdm/config.js +0 -43
  282. package/build/dex/wusdm/config.js.map +0 -1
  283. package/build/dex/wusdm/constants.d.ts +0 -2
  284. package/build/dex/wusdm/constants.js +0 -6
  285. package/build/dex/wusdm/constants.js.map +0 -1
  286. package/build/dex/wusdm/types.d.ts +0 -18
  287. package/build/dex/wusdm/types.js +0 -11
  288. package/build/dex/wusdm/types.js.map +0 -1
  289. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  290. package/build/dex/wusdm/wusdm-pool.js +0 -74
  291. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  292. package/build/dex/wusdm/wusdm.d.ts +0 -46
  293. package/build/dex/wusdm/wusdm.js +0 -243
  294. package/build/dex/wusdm/wusdm.js.map +0 -1
  295. package/build/dex/zerox/config.d.ts +0 -2
  296. package/build/dex/zerox/config.js +0 -33
  297. package/build/dex/zerox/config.js.map +0 -1
  298. package/build/dex/zerox/index.d.ts +0 -22
  299. package/build/dex/zerox/index.js +0 -225
  300. package/build/dex/zerox/index.js.map +0 -1
  301. package/build/dex/zerox/order.d.ts +0 -88
  302. package/build/dex/zerox/order.js +0 -53
  303. package/build/dex/zerox/order.js.map +0 -1
  304. package/build/dex/zerox/types.d.ts +0 -73
  305. package/build/dex/zerox/types.js +0 -21
  306. package/build/dex/zerox/types.js.map +0 -1
  307. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  308. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  309. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  310. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  311. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  312. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  313. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  314. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  315. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  316. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  317. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  318. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  319. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  320. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  321. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  322. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  323. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  324. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  325. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  326. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  327. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  328. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  329. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  330. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  331. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  332. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  333. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  334. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  335. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  336. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  337. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  338. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  339. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  340. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  341. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  342. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  343. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  344. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  345. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  346. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  347. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  348. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  349. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  350. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  351. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  352. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  353. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  354. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  355. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  356. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  357. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  358. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  359. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  360. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  361. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  362. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  363. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  364. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  365. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  366. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  367. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  368. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  369. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  370. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  371. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  372. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  373. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  374. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  375. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  376. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  377. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  378. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  379. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  380. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
@@ -1,44 +0,0 @@
1
- /**
2
- * Computes logarithm in base 2 for a given positive number.
3
- * Result is rounded down.
4
- *
5
- * @param {bigint} value - value to compute the log2
6
- * @returns {bigint} the log in base 2 of the value, 0 if given 0.
7
- */
8
- export declare function log2(value: bigint): bigint;
9
- /**
10
- * Computes the square root of a number. If the number is not a perfect square, the value is rounded down.
11
- * Inspired by Henry S. Warren, Jr.'s "Hacker's Delight" (Chapter 11).
12
- *
13
- * @param {bigint} value - value to compute the square root
14
- * @returns {bigint} the square root of the value
15
- */
16
- export declare function sqrt(value: bigint): bigint;
17
- /**
18
- * Evaluates the equality of two numbers at a precision of 1/1_000_000
19
- *
20
- * @param {bigint} x - value to compare
21
- * @param {bigint} y - value to compare
22
- * @returns {boolean} true if numbers are approximatively equal at 1/1_000_000, false otherwise
23
- */
24
- export declare function approxEq(x: bigint, y: bigint): true | false;
25
- /**
26
- * Evaluates the equality of two ratio numbers at a precision of 1/1_000_000. xNum / xDen ~= yNum / yDen
27
- *
28
- * @param {bigint} _xNum - first number numerator
29
- * @param {bigint} _xDen - first number denominator
30
- * @param {bigint} _yNum - second number numerator
31
- * @param {bigint} _yDen - second number denominator
32
- * @returns {boolean} true if the two ratios are approximatively equal at 1/1_000_000, false otherwise
33
- */
34
- export declare function ratioApproxEq(_xNum: bigint, _xDen: bigint, _yNum: bigint, _yDen: bigint): true | false;
35
- /**
36
- * Computes the ratio of two numbers
37
- *
38
- * @param {bigint} numerator - numerator number
39
- * @param {bigint} denominator - denominator number
40
- * @param {number} decimals - decimals
41
- * @returns {bigint} ratio of the two numbers. returns 0 if denominator is 0
42
- */
43
- export declare function priceRatio(numerator: bigint, denominator: bigint, decimals?: number): bigint;
44
- export declare function abs(value: bigint): bigint;
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.abs = exports.priceRatio = exports.ratioApproxEq = exports.approxEq = exports.sqrt = exports.log2 = void 0;
4
- const utils_1 = require("ethers/lib/utils");
5
- // Constants to compute approximate equality
6
- const APPROX_EQ_PRECISION = 1n;
7
- const APPROX_EQ_BASE_PRECISION = 1000000n;
8
- /**
9
- * Computes logarithm in base 2 for a given positive number.
10
- * Result is rounded down.
11
- *
12
- * @param {bigint} value - value to compute the log2
13
- * @returns {bigint} the log in base 2 of the value, 0 if given 0.
14
- */
15
- /* eslint-disable no-param-reassign */
16
- function log2(value) {
17
- let result = 0n;
18
- if (value >> 128n > 0n) {
19
- value >>= 128n;
20
- result += 128n;
21
- }
22
- if (value >> 64n > 0n) {
23
- value >>= 64n;
24
- result += 64n;
25
- }
26
- if (value >> 32n > 0n) {
27
- value >>= 32n;
28
- result += 32n;
29
- }
30
- if (value >> 16n > 0n) {
31
- value >>= 16n;
32
- result += 16n;
33
- }
34
- if (value >> 8n > 0n) {
35
- value >>= 8n;
36
- result += 8n;
37
- }
38
- if (value >> 4n > 0n) {
39
- value >>= 4n;
40
- result += 4n;
41
- }
42
- if (value >> 2n > 0n) {
43
- value >>= 2n;
44
- result += 2n;
45
- }
46
- if (value >> 1n > 0n) {
47
- result += 1n;
48
- }
49
- return result;
50
- }
51
- exports.log2 = log2;
52
- /**
53
- * Computes the square root of a number. If the number is not a perfect square, the value is rounded down.
54
- * Inspired by Henry S. Warren, Jr.'s "Hacker's Delight" (Chapter 11).
55
- *
56
- * @param {bigint} value - value to compute the square root
57
- * @returns {bigint} the square root of the value
58
- */
59
- function sqrt(value) {
60
- if (value === 0n) {
61
- return 0n;
62
- }
63
- // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.
64
- //
65
- // We know that the "msb" (most significant bit) of our target number `a` is a power of 2 such that we have
66
- // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.
67
- //
68
- // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`
69
- // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`
70
- // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`
71
- //
72
- // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.
73
- let result = 1n << (log2(value) / 2n);
74
- // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,
75
- // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at
76
- // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision
77
- // into the expected uint128 result.
78
- result = (result + value / result) >> 1n;
79
- result = (result + value / result) >> 1n;
80
- result = (result + value / result) >> 1n;
81
- result = (result + value / result) >> 1n;
82
- result = (result + value / result) >> 1n;
83
- result = (result + value / result) >> 1n;
84
- result = (result + value / result) >> 1n;
85
- return result < value / result ? result : value / result;
86
- }
87
- exports.sqrt = sqrt;
88
- /**
89
- * Evaluates the equality of two numbers at a precision of 1/1_000_000
90
- *
91
- * @param {bigint} x - value to compare
92
- * @param {bigint} y - value to compare
93
- * @returns {boolean} true if numbers are approximatively equal at 1/1_000_000, false otherwise
94
- */
95
- function approxEq(x, y) {
96
- return x > y
97
- ? x < y + (y * APPROX_EQ_PRECISION) / APPROX_EQ_BASE_PRECISION
98
- : y < x + (x * APPROX_EQ_PRECISION) / APPROX_EQ_BASE_PRECISION;
99
- }
100
- exports.approxEq = approxEq;
101
- /**
102
- * Evaluates the equality of two ratio numbers at a precision of 1/1_000_000. xNum / xDen ~= yNum / yDen
103
- *
104
- * @param {bigint} _xNum - first number numerator
105
- * @param {bigint} _xDen - first number denominator
106
- * @param {bigint} _yNum - second number numerator
107
- * @param {bigint} _yDen - second number denominator
108
- * @returns {boolean} true if the two ratios are approximatively equal at 1/1_000_000, false otherwise
109
- */
110
- function ratioApproxEq(_xNum, _xDen, _yNum, _yDen) {
111
- return approxEq(_xNum * _yDen, _xDen * _yNum);
112
- }
113
- exports.ratioApproxEq = ratioApproxEq;
114
- /**
115
- * Computes the ratio of two numbers
116
- *
117
- * @param {bigint} numerator - numerator number
118
- * @param {bigint} denominator - denominator number
119
- * @param {number} decimals - decimals
120
- * @returns {bigint} ratio of the two numbers. returns 0 if denominator is 0
121
- */
122
- function priceRatio(numerator, denominator, decimals = 18) {
123
- if (denominator === 0n) {
124
- return 0n;
125
- }
126
- return (BigInt((0, utils_1.parseUnits)(numerator.toString(), decimals).toString()) / denominator);
127
- }
128
- exports.priceRatio = priceRatio;
129
- function abs(value) {
130
- return value === -0n || value < 0n ? -value : value;
131
- }
132
- exports.abs = abs;
133
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/dex/smardex/sdk/utils.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
2
- import { SmardexFees, SmardexPoolState } from './types';
3
- import { Interface } from '@ethersproject/abi';
4
- import { IDexHelper } from '../../dex-helper';
5
- import { Address, Log, Logger, Token } from '../../types';
6
- import { DeepReadonly } from 'ts-essentials';
7
- export declare class SmardexEventPool extends StatefulEventSubscriber<SmardexPoolState> {
8
- protected poolInterface: Interface;
9
- protected dexHelper: IDexHelper;
10
- poolAddress: Address;
11
- protected smardexFeesMultiCallEntry?: {
12
- target: string;
13
- callData: string;
14
- } | undefined;
15
- protected smardexFeesMulticallDecoder?: ((values: any[]) => SmardexFees) | undefined;
16
- private isLayerOne;
17
- constructor(poolInterface: Interface, dexHelper: IDexHelper, poolAddress: Address, token0: Token, token1: Token, logger: Logger, smardexFeesMultiCallEntry?: {
18
- target: string;
19
- callData: string;
20
- } | undefined, smardexFeesMulticallDecoder?: ((values: any[]) => SmardexFees) | undefined, isLayerOne?: boolean);
21
- fetchPairFeesAndLastTimestamp(blockNumber: number): Promise<{
22
- feesLP: bigint;
23
- feesPool: bigint;
24
- priceAverageLastTimestamp: number;
25
- }>;
26
- protected processLog(state: DeepReadonly<SmardexPoolState>, log: Readonly<Log>): Promise<DeepReadonly<SmardexPoolState> | null>;
27
- generateState(blockNumber?: number | 'latest'): Promise<DeepReadonly<SmardexPoolState>>;
28
- }
@@ -1,119 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SmardexEventPool = void 0;
4
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
5
- const abi_1 = require("@ethersproject/abi");
6
- const constants_1 = require("./constants");
7
- const coder = new abi_1.AbiCoder();
8
- class SmardexEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
9
- constructor(poolInterface, dexHelper, poolAddress, token0, token1, logger, smardexFeesMultiCallEntry, smardexFeesMulticallDecoder, isLayerOne = true) {
10
- super('Smardex', `${token0.address}_${token1.address}`, dexHelper, logger);
11
- this.poolInterface = poolInterface;
12
- this.dexHelper = dexHelper;
13
- this.poolAddress = poolAddress;
14
- this.smardexFeesMultiCallEntry = smardexFeesMultiCallEntry;
15
- this.smardexFeesMulticallDecoder = smardexFeesMulticallDecoder;
16
- this.isLayerOne = isLayerOne;
17
- }
18
- async fetchPairFeesAndLastTimestamp(blockNumber) {
19
- let calldata = [
20
- {
21
- target: this.poolAddress,
22
- callData: this.poolInterface.encodeFunctionData('getPriceAverage', []),
23
- },
24
- ];
25
- if (!this.isLayerOne) {
26
- calldata.push(this.smardexFeesMultiCallEntry);
27
- }
28
- const data = await this.dexHelper.multiContract.methods
29
- .aggregate(calldata)
30
- .call({}, blockNumber);
31
- const priceAverageLastTimestamp = coder.decode(['uint256', 'uint256', 'uint256'], data.returnData[0])[2];
32
- const fees = this.isLayerOne
33
- ? constants_1.FEES_LAYER_ONE
34
- : this.smardexFeesMulticallDecoder(data.returnData[1]);
35
- return {
36
- feesLP: fees.feesLP,
37
- feesPool: fees.feesPool,
38
- priceAverageLastTimestamp: priceAverageLastTimestamp.toNumber(),
39
- };
40
- }
41
- // This methode overrides previous state with new state.
42
- // Problem: Smardex Pair state is updated partially on different events
43
- // This is why we must fetch pair's missing state in Events
44
- async processLog(state, log) {
45
- if (!Object.values(constants_1.TOPICS).includes(log.topics[0]))
46
- return null;
47
- const event = this.poolInterface.parseLog(log);
48
- switch (event.name) {
49
- case 'Sync':
50
- const fetchedSync = await this.fetchPairFeesAndLastTimestamp(log.blockNumber);
51
- return {
52
- reserves0: event.args.reserve0.toString(),
53
- reserves1: event.args.reserve1.toString(),
54
- fictiveReserves0: event.args.fictiveReserve0.toString(),
55
- fictiveReserves1: event.args.fictiveReserve1.toString(),
56
- priceAverage0: event.args.priceAverage0.toString(),
57
- priceAverage1: event.args.priceAverage1.toString(),
58
- priceAverageLastTimestamp: fetchedSync.priceAverageLastTimestamp,
59
- feesLP: fetchedSync.feesLP,
60
- feesPool: fetchedSync.feesPool,
61
- };
62
- case 'FeesChanged': // only triggerd on L2
63
- return {
64
- reserves0: state.reserves0,
65
- reserves1: state.reserves1,
66
- fictiveReserves0: state.fictiveReserves0,
67
- fictiveReserves1: state.fictiveReserves1,
68
- priceAverage0: state.priceAverage0,
69
- priceAverage1: state.priceAverage1,
70
- priceAverageLastTimestamp: state.priceAverageLastTimestamp,
71
- feesLP: BigInt(event.args.feesLP),
72
- feesPool: BigInt(event.args.feesPool),
73
- };
74
- }
75
- return null;
76
- }
77
- async generateState(blockNumber = 'latest') {
78
- const coder = new abi_1.AbiCoder();
79
- let calldata = [
80
- {
81
- target: this.poolAddress,
82
- callData: this.poolInterface.encodeFunctionData('getReserves', []),
83
- },
84
- {
85
- target: this.poolAddress,
86
- callData: this.poolInterface.encodeFunctionData('getFictiveReserves', []),
87
- },
88
- {
89
- target: this.poolAddress,
90
- callData: this.poolInterface.encodeFunctionData('getPriceAverage', []),
91
- },
92
- ];
93
- if (!this.isLayerOne) {
94
- calldata.push(this.smardexFeesMultiCallEntry);
95
- }
96
- const data = await this.dexHelper.multiContract.methods
97
- .aggregate(calldata)
98
- .call({}, blockNumber);
99
- const [reserves0, reserves1] = coder.decode(['uint256', 'uint256'], data.returnData[0]);
100
- const [fictiveReserve0, fictiveReserve1] = coder.decode(['uint256', 'uint256'], data.returnData[1]);
101
- const [priceAverage0, priceAverage1, priceAverageLastTimestamp] = coder.decode(['uint256', 'uint256', 'uint256'], data.returnData[2]);
102
- const fees = this.isLayerOne
103
- ? constants_1.FEES_LAYER_ONE
104
- : this.smardexFeesMulticallDecoder(data.returnData[3]);
105
- return {
106
- reserves0: reserves0.toString(),
107
- reserves1: reserves1.toString(),
108
- fictiveReserves0: fictiveReserve0.toString(),
109
- fictiveReserves1: fictiveReserve1.toString(),
110
- priceAverage0: priceAverage0.toString(),
111
- priceAverage1: priceAverage1.toString(),
112
- priceAverageLastTimestamp: priceAverageLastTimestamp.toNumber(),
113
- feesLP: fees.feesLP,
114
- feesPool: fees.feesPool,
115
- };
116
- }
117
- }
118
- exports.SmardexEventPool = SmardexEventPool;
119
- //# sourceMappingURL=smardex-event-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"smardex-event-pool.js","sourceRoot":"","sources":["../../../src/dex/smardex/smardex-event-pool.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { Contract } from 'web3-eth-contract';
3
- import { Network, SwapSide } from '../../constants';
4
- import { AdapterExchangeParam, Address, ExchangePrices, Logger, NumberAsString, PoolLiquidity, PoolPrices, SimpleExchangeParam, Token, TransferFeeParams } from '../../types';
5
- import { IDexHelper } from '../../dex-helper/index';
6
- import { SmardexFees, SmardexPair, SmardexPoolOrderedParams, SmardexPoolState } from './types';
7
- import { SimpleExchange } from '../simple-exchange';
8
- import { SmardexRouterFunctions } from '../smardex/constants';
9
- import { SmardexData, SmardexParam } from '../smardex/types';
10
- import { IDex } from '../..';
11
- export declare class Smardex extends SimpleExchange implements IDex<SmardexData, SmardexParam> {
12
- protected network: Network;
13
- dexHelper: IDexHelper;
14
- protected adapters: import("../../types").AdapterMappings;
15
- pairs: {
16
- [key: string]: SmardexPair;
17
- };
18
- factory: Contract;
19
- routerInterface: Interface;
20
- exchangeRouterInterface: Interface;
21
- static directFunctionName: SmardexRouterFunctions[];
22
- factoryAddress: string;
23
- routerAddress: string;
24
- protected subgraphURL: string | undefined;
25
- protected initCode: string;
26
- logger: Logger;
27
- readonly hasConstantPriceLargeAmounts = false;
28
- readonly isFeeOnTransferSupported: boolean;
29
- readonly SRC_TOKEN_DEX_TRANSFERS = 1;
30
- readonly DEST_TOKEN_DEX_TRANSFERS = 1;
31
- static dexKeysWithNetwork: {
32
- key: string;
33
- networks: Network[];
34
- }[];
35
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: import("../../types").AdapterMappings);
36
- getAdapters(side: SwapSide): {
37
- name: string;
38
- index: number;
39
- }[] | null;
40
- getPoolIdentifiers(_from: Token, _to: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
41
- getPricesVolume(_from: Token, _to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[], transferFees?: TransferFeeParams): Promise<ExchangePrices<SmardexData> | null>;
42
- getBuyPricePath(amount: bigint, params: SmardexPoolOrderedParams[]): Promise<bigint>;
43
- getSellPricePath(amount: bigint, params: SmardexPoolOrderedParams[]): Promise<bigint>;
44
- getBuyPrice(priceParams: SmardexPoolOrderedParams, destAmount: bigint): Promise<bigint>;
45
- getSellPrice(priceParams: SmardexPoolOrderedParams, srcAmount: bigint): Promise<bigint>;
46
- getCalldataGasCost(_poolPrices: PoolPrices<SmardexData>): number | number[];
47
- findPair(from: Token, to: Token): Promise<SmardexPair | null>;
48
- batchCatchUpPairs(pairs: [Token, Token][], blockNumber: number): Promise<void>;
49
- getFeesMultiCallData(pairAddress: string): {
50
- callEntry: {
51
- target: string;
52
- callData: string;
53
- };
54
- callDecoder: (values: any[]) => SmardexFees;
55
- } | null;
56
- protected addPool(pair: SmardexPair, reserves0: string, reserves1: string, fictiveReserves0: string, fictiveReserves1: string, priceAverage0: string, priceAverage1: string, feesLp: bigint, feesPool: bigint, blockNumber: number, priceAverageLastTimestamp: number): Promise<void>;
57
- getManyPoolReserves(pairs: SmardexPair[], blockNumber: number): Promise<SmardexPoolState[]>;
58
- protected fixPath(path: Address[], srcToken: Address, destToken: Address): string[];
59
- getPairOrderedParams(from: Token, to: Token, blockNumber: number, tokenDexTransferFee: number): Promise<SmardexPoolOrderedParams | null>;
60
- getWETHAddress(srcToken: Address, destToken: Address, weth?: Address): string;
61
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, toAmount: NumberAsString, data: SmardexData, side: SwapSide): AdapterExchangeParam;
62
- getSimpleParam(src: Address, dest: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: SmardexData, side: SwapSide): Promise<SimpleExchangeParam>;
63
- isLayer1(): boolean;
64
- getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
65
- }