@paraswap/dex-lib 4.8.13-stable-surge-v3.2 → 4.8.13

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 (297) hide show
  1. package/build/abi/{apex-defi/ApexDefiRouter.abi.json → BProtocol.json} +573 -538
  2. package/build/abi/Jarvis.json +1172 -0
  3. package/build/abi/{apex-defi/ApexDefiFactory.abi.json → MStableAsset.json} +781 -985
  4. package/build/abi/{apex-defi/ApexDefiWrapperFactory.abi.json → OneInchLp.json} +766 -569
  5. package/build/abi/Onebit.json +736 -0
  6. package/build/abi/Shell.json +1294 -0
  7. package/build/abi/TraderJoeV2Router.json +50 -0
  8. package/build/abi/wUSDM.json +757 -0
  9. package/build/abi/zrx.v2.json +1967 -0
  10. package/build/abi/zrx.v3.json +3454 -0
  11. package/build/abi/zrx.v4.json +2193 -0
  12. package/build/dex/OneInchLp.d.ts +24 -0
  13. package/build/dex/OneInchLp.js +43 -0
  14. package/build/dex/OneInchLp.js.map +1 -0
  15. package/build/dex/angle-transmuter/angle-transmuter-pool.js +1 -1
  16. package/build/dex/angle-transmuter/angle-transmuter-pool.js.map +1 -1
  17. package/build/dex/bProtocol/bProtocol.d.ts +15 -0
  18. package/build/dex/bProtocol/bProtocol.js +56 -0
  19. package/build/dex/bProtocol/bProtocol.js.map +1 -0
  20. package/build/dex/bProtocol/types.d.ts +11 -0
  21. package/build/dex/bProtocol/types.js +8 -0
  22. package/build/dex/bProtocol/types.js.map +1 -0
  23. package/build/dex/balancer-v3/balancer-v3.js +4 -1
  24. package/build/dex/balancer-v3/balancer-v3.js.map +1 -1
  25. package/build/dex/balancer-v3/config.js +0 -64
  26. package/build/dex/balancer-v3/config.js.map +1 -1
  27. package/build/dex/balancer-v3/getPoolsApi.js +7 -7
  28. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -1
  29. package/build/dex/balancer-v3/getTopPoolsApi.js +4 -2
  30. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -1
  31. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.d.ts +1 -1
  32. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js +17 -44
  33. package/build/dex/balancer-v3/hooks/balancer-hook-event-subscriber.js.map +1 -1
  34. package/build/dex/balancer-v3/hooks/loadHooksConfig.js +1 -10
  35. package/build/dex/balancer-v3/hooks/loadHooksConfig.js.map +1 -1
  36. package/build/dex/balancer-v3/utils.js +3 -5
  37. package/build/dex/balancer-v3/utils.js.map +1 -1
  38. package/build/dex/curve-v1/curve-v1.d.ts +2 -5
  39. package/build/dex/curve-v1/curve-v1.js +53 -45
  40. package/build/dex/curve-v1/curve-v1.js.map +1 -1
  41. package/build/dex/ekubo/ekubo.d.ts +2 -0
  42. package/build/dex/ekubo/ekubo.js +19 -0
  43. package/build/dex/ekubo/ekubo.js.map +1 -1
  44. package/build/dex/infusion/infusion-stable-pool.d.ts +1 -1
  45. package/build/dex/infusion/infusion-stable-pool.js +1 -1
  46. package/build/dex/infusion/infusion-stable-pool.js.map +1 -1
  47. package/build/dex/infusion/infusion.d.ts +3 -3
  48. package/build/dex/infusion/infusion.js +104 -65
  49. package/build/dex/infusion/infusion.js.map +1 -1
  50. package/build/dex/jarvis.d.ts +56 -0
  51. package/build/dex/jarvis.js +163 -0
  52. package/build/dex/jarvis.js.map +1 -0
  53. package/build/dex/mStable.d.ts +44 -0
  54. package/build/dex/mStable.js +75 -0
  55. package/build/dex/mStable.js.map +1 -0
  56. package/build/dex/onebit/onebit.d.ts +16 -0
  57. package/build/dex/onebit/onebit.js +61 -0
  58. package/build/dex/onebit/onebit.js.map +1 -0
  59. package/build/dex/onebit/types.d.ts +14 -0
  60. package/build/dex/onebit/types.js +8 -0
  61. package/build/dex/onebit/types.js.map +1 -0
  62. package/build/dex/{yo → se-vlr}/config.d.ts +1 -1
  63. package/build/dex/se-vlr/config.js +24 -0
  64. package/build/dex/se-vlr/config.js.map +1 -0
  65. package/build/dex/{stabull/stabull-pool.d.ts → se-vlr/se-vlr-pool.d.ts} +6 -13
  66. package/build/dex/se-vlr/se-vlr-pool.js +70 -0
  67. package/build/dex/se-vlr/se-vlr-pool.js.map +1 -0
  68. package/build/dex/se-vlr/se-vlr.d.ts +35 -0
  69. package/build/dex/se-vlr/se-vlr.js +131 -0
  70. package/build/dex/se-vlr/se-vlr.js.map +1 -0
  71. package/build/dex/se-vlr/types.d.ts +6 -0
  72. package/build/dex/{yo → se-vlr}/types.js.map +1 -1
  73. package/build/dex/shell.d.ts +25 -0
  74. package/build/dex/shell.js +41 -0
  75. package/build/dex/shell.js.map +1 -0
  76. package/build/dex/solidly/forks-override/aerodrome.d.ts +1 -1
  77. package/build/dex/solidly/forks-override/aerodrome.js +14 -18
  78. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -1
  79. package/build/dex/solidly/solidly.d.ts +2 -0
  80. package/build/dex/solidly/solidly.js +21 -0
  81. package/build/dex/solidly/solidly.js.map +1 -1
  82. package/build/dex/solidly-v3/solidly-v3.d.ts +2 -0
  83. package/build/dex/solidly-v3/solidly-v3.js +26 -5
  84. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  85. package/build/dex/trader-joe-v2.d.ts +40 -0
  86. package/build/dex/trader-joe-v2.js +74 -0
  87. package/build/dex/trader-joe-v2.js.map +1 -0
  88. package/build/dex/uniswap-v2/uniswap-v2.d.ts +2 -0
  89. package/build/dex/uniswap-v2/uniswap-v2.js +27 -6
  90. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  91. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +94 -0
  92. package/build/dex/uniswap-v3/uniswap-v3-new.js +923 -0
  93. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +1 -0
  94. package/build/dex/uniswap-v3/uniswap-v3.d.ts +5 -5
  95. package/build/dex/uniswap-v3/uniswap-v3.js +32 -24
  96. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  97. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -6
  98. package/build/dex/uniswap-v4/contract-math/Position.js +0 -29
  99. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -1
  100. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +2 -0
  101. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +25 -6
  102. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
  103. package/build/dex/{stabull → usual-bond}/config.d.ts +1 -1
  104. package/build/dex/usual-bond/config.js +13 -0
  105. package/build/dex/usual-bond/config.js.map +1 -0
  106. package/build/dex/usual-bond/types.d.ts +7 -0
  107. package/build/dex/{stabull → usual-bond}/types.js.map +1 -1
  108. package/build/dex/{aave-pt-to-underlying/aave-pt-to-underlying.d.ts → usual-bond/usual-bond.d.ts} +18 -23
  109. package/build/dex/usual-bond/usual-bond.js +176 -0
  110. package/build/dex/usual-bond/usual-bond.js.map +1 -0
  111. package/build/dex/wusdm/config.d.ts +3 -0
  112. package/build/dex/wusdm/config.js +43 -0
  113. package/build/dex/wusdm/config.js.map +1 -0
  114. package/build/dex/wusdm/constants.d.ts +2 -0
  115. package/build/dex/wusdm/constants.js +6 -0
  116. package/build/dex/wusdm/constants.js.map +1 -0
  117. package/build/dex/wusdm/types.d.ts +18 -0
  118. package/build/dex/wusdm/types.js +11 -0
  119. package/build/dex/wusdm/types.js.map +1 -0
  120. package/build/dex/wusdm/wusdm-pool.d.ts +21 -0
  121. package/build/dex/wusdm/wusdm-pool.js +74 -0
  122. package/build/dex/wusdm/wusdm-pool.js.map +1 -0
  123. package/build/dex/wusdm/wusdm.d.ts +46 -0
  124. package/build/dex/wusdm/wusdm.js +243 -0
  125. package/build/dex/wusdm/wusdm.js.map +1 -0
  126. package/build/dex/zerox/config.d.ts +2 -0
  127. package/build/dex/zerox/config.js +33 -0
  128. package/build/dex/zerox/config.js.map +1 -0
  129. package/build/dex/zerox/index.d.ts +22 -0
  130. package/build/dex/zerox/index.js +225 -0
  131. package/build/dex/zerox/index.js.map +1 -0
  132. package/build/dex/zerox/order.d.ts +88 -0
  133. package/build/dex/zerox/order.js +53 -0
  134. package/build/dex/zerox/order.js.map +1 -0
  135. package/build/dex/zerox/types.d.ts +73 -0
  136. package/build/dex/zerox/types.js +21 -0
  137. package/build/dex/zerox/types.js.map +1 -0
  138. package/build/pricing-helper.js +5 -2
  139. package/build/pricing-helper.js.map +1 -1
  140. package/package.json +1 -1
  141. package/build/abi/PendleRouterStatic.json +0 -19
  142. package/build/abi/apex-defi/ApexDefiToken.abi.json +0 -229
  143. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +0 -92
  144. package/build/abi/clear/ClearFactory.json +0 -71
  145. package/build/abi/clear/ClearSwap.json +0 -334
  146. package/build/abi/clear/ClearVault.json +0 -20
  147. package/build/abi/ekubo-v3/boosted-fees-data-fetcher.json +0 -108
  148. package/build/abi/ekubo-v3/boosted-fees.json +0 -538
  149. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +0 -796
  150. package/build/abi/pendle/pendle-deployer.abi.json +0 -520
  151. package/build/abi/pendle/pendle-oracle.abi.json +0 -413
  152. package/build/abi/ring-v2/few-wrapped-token.json +0 -587
  153. package/build/abi/ring-v2/ring-v2-factory.json +0 -125
  154. package/build/abi/ring-v2/ring-v2-pool.json +0 -461
  155. package/build/abi/ring-v2/ring-v2-router.json +0 -332
  156. package/build/abi/stabull/stabull-curve.json +0 -738
  157. package/build/abi/stabull/stabull-router.json +0 -76
  158. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +0 -26
  159. package/build/abi/uniswap-v4/hooks/SpotHook.json +0 -54
  160. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +0 -45
  161. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +0 -682
  162. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +0 -1335
  163. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +0 -29
  164. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +0 -153
  165. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +0 -1
  166. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +0 -323
  167. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +0 -1
  168. package/build/dex/aave-pt-to-underlying/config.d.ts +0 -3
  169. package/build/dex/aave-pt-to-underlying/config.js +0 -24
  170. package/build/dex/aave-pt-to-underlying/config.js.map +0 -1
  171. package/build/dex/aave-pt-to-underlying/constants.d.ts +0 -2
  172. package/build/dex/aave-pt-to-underlying/constants.js +0 -6
  173. package/build/dex/aave-pt-to-underlying/constants.js.map +0 -1
  174. package/build/dex/aave-pt-to-underlying/types.d.ts +0 -24
  175. package/build/dex/aave-pt-to-underlying/types.js.map +0 -1
  176. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +0 -39
  177. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +0 -244
  178. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +0 -1
  179. package/build/dex/aave-pt-to-usdc/config.d.ts +0 -3
  180. package/build/dex/aave-pt-to-usdc/config.js +0 -47
  181. package/build/dex/aave-pt-to-usdc/config.js.map +0 -1
  182. package/build/dex/aave-pt-to-usdc/constants.d.ts +0 -2
  183. package/build/dex/aave-pt-to-usdc/constants.js +0 -6
  184. package/build/dex/aave-pt-to-usdc/constants.js.map +0 -1
  185. package/build/dex/aave-pt-to-usdc/types.d.ts +0 -22
  186. package/build/dex/aave-pt-to-usdc/types.js.map +0 -1
  187. package/build/dex/apex-defi/apex-defi-factory.d.ts +0 -26
  188. package/build/dex/apex-defi/apex-defi-factory.js +0 -53
  189. package/build/dex/apex-defi/apex-defi-factory.js.map +0 -1
  190. package/build/dex/apex-defi/apex-defi-pool.d.ts +0 -55
  191. package/build/dex/apex-defi/apex-defi-pool.js +0 -247
  192. package/build/dex/apex-defi/apex-defi-pool.js.map +0 -1
  193. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +0 -57
  194. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +0 -250
  195. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +0 -1
  196. package/build/dex/apex-defi/apex-defi.d.ts +0 -97
  197. package/build/dex/apex-defi/apex-defi.js +0 -1021
  198. package/build/dex/apex-defi/apex-defi.js.map +0 -1
  199. package/build/dex/apex-defi/config.d.ts +0 -4
  200. package/build/dex/apex-defi/config.js +0 -138
  201. package/build/dex/apex-defi/config.js.map +0 -1
  202. package/build/dex/apex-defi/types.d.ts +0 -32
  203. package/build/dex/apex-defi/types.js +0 -3
  204. package/build/dex/apex-defi/types.js.map +0 -1
  205. package/build/dex/apex-defi/utils.d.ts +0 -46
  206. package/build/dex/apex-defi/utils.js +0 -133
  207. package/build/dex/apex-defi/utils.js.map +0 -1
  208. package/build/dex/clear/clear-factory.d.ts +0 -33
  209. package/build/dex/clear/clear-factory.js +0 -123
  210. package/build/dex/clear/clear-factory.js.map +0 -1
  211. package/build/dex/clear/clear.d.ts +0 -53
  212. package/build/dex/clear/clear.js +0 -311
  213. package/build/dex/clear/clear.js.map +0 -1
  214. package/build/dex/clear/config.d.ts +0 -3
  215. package/build/dex/clear/config.js +0 -14
  216. package/build/dex/clear/config.js.map +0 -1
  217. package/build/dex/clear/types.d.ts +0 -18
  218. package/build/dex/clear/types.js +0 -3
  219. package/build/dex/clear/types.js.map +0 -1
  220. package/build/dex/ekubo-v3/extension-type.d.ts +0 -9
  221. package/build/dex/ekubo-v3/extension-type.js +0 -36
  222. package/build/dex/ekubo-v3/extension-type.js.map +0 -1
  223. package/build/dex/ekubo-v3/pools/boosted-fees.d.ts +0 -39
  224. package/build/dex/ekubo-v3/pools/boosted-fees.js +0 -189
  225. package/build/dex/ekubo-v3/pools/boosted-fees.js.map +0 -1
  226. package/build/dex/ekubo-v3/pools/concentrated.d.ts +0 -47
  227. package/build/dex/ekubo-v3/pools/concentrated.js +0 -324
  228. package/build/dex/ekubo-v3/pools/concentrated.js.map +0 -1
  229. package/build/dex/ekubo-v3/pools/timed.d.ts +0 -25
  230. package/build/dex/ekubo-v3/pools/timed.js +0 -91
  231. package/build/dex/ekubo-v3/pools/timed.js.map +0 -1
  232. package/build/dex/maker-psm/maker-psm-event-pool.d.ts +0 -43
  233. package/build/dex/maker-psm/maker-psm-event-pool.js +0 -132
  234. package/build/dex/maker-psm/maker-psm-event-pool.js.map +0 -1
  235. package/build/dex/miro-migrator/miro-migrator-state.d.ts +0 -27
  236. package/build/dex/miro-migrator/miro-migrator-state.js +0 -89
  237. package/build/dex/miro-migrator/miro-migrator-state.js.map +0 -1
  238. package/build/dex/stabull/config.js +0 -177
  239. package/build/dex/stabull/config.js.map +0 -1
  240. package/build/dex/stabull/stabull-pool.js +0 -113
  241. package/build/dex/stabull/stabull-pool.js.map +0 -1
  242. package/build/dex/stabull/stabull.d.ts +0 -55
  243. package/build/dex/stabull/stabull.js +0 -286
  244. package/build/dex/stabull/stabull.js.map +0 -1
  245. package/build/dex/stabull/types.d.ts +0 -21
  246. package/build/dex/stabull/types.js +0 -3
  247. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +0 -4
  248. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +0 -56
  249. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +0 -1
  250. package/build/dex/uniswap-v4/hooks/arena.d.ts +0 -6
  251. package/build/dex/uniswap-v4/hooks/arena.js +0 -10
  252. package/build/dex/uniswap-v4/hooks/arena.js.map +0 -1
  253. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.d.ts +0 -0
  254. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js +0 -2
  255. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js.map +0 -1
  256. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +0 -7
  257. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +0 -28
  258. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +0 -1
  259. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  260. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +0 -2
  261. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +0 -1
  262. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +0 -7
  263. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +0 -28
  264. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +0 -1
  265. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  266. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +0 -2
  267. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +0 -1
  268. package/build/dex/uniswap-v4/hooks/index.d.ts +0 -1
  269. package/build/dex/uniswap-v4/hooks/index.js +0 -18
  270. package/build/dex/uniswap-v4/hooks/index.js.map +0 -1
  271. package/build/dex/uniswap-v4/hooks/spot.d.ts +0 -15
  272. package/build/dex/uniswap-v4/hooks/spot.js +0 -109
  273. package/build/dex/uniswap-v4/hooks/spot.js.map +0 -1
  274. package/build/dex/uniswap-v4/hooks/template.d.ts +0 -150
  275. package/build/dex/uniswap-v4/hooks/template.js +0 -104
  276. package/build/dex/uniswap-v4/hooks/template.js.map +0 -1
  277. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +0 -26
  278. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +0 -75
  279. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +0 -1
  280. package/build/dex/usual/usual-usdc-usdc.d.ts +0 -17
  281. package/build/dex/usual/usual-usdc-usdc.js +0 -59
  282. package/build/dex/usual/usual-usdc-usdc.js.map +0 -1
  283. package/build/dex/yo/config.js +0 -21
  284. package/build/dex/yo/config.js.map +0 -1
  285. package/build/dex/yo/types.d.ts +0 -13
  286. package/build/dex/yo/types.js +0 -3
  287. package/build/dex/yo/yo-pool.d.ts +0 -13
  288. package/build/dex/yo/yo-pool.js +0 -26
  289. package/build/dex/yo/yo-pool.js.map +0 -1
  290. package/build/dex/yo/yo.d.ts +0 -39
  291. package/build/dex/yo/yo.js +0 -248
  292. package/build/dex/yo/yo.js.map +0 -1
  293. package/build/implementations/api-paraswap-sdk.d.ts +0 -25
  294. package/build/implementations/api-paraswap-sdk.js +0 -102
  295. package/build/implementations/api-paraswap-sdk.js.map +0 -1
  296. /package/build/dex/{aave-pt-to-underlying → se-vlr}/types.js +0 -0
  297. /package/build/dex/{aave-pt-to-usdc → usual-bond}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ekubo.js","sourceRoot":"","sources":["../../../src/dex/ekubo/ekubo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ekubo.js","sourceRoot":"","sources":["../../../src/dex/ekubo/ekubo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { InfusionPoolOrderedParams } from './types';
2
2
  export declare class InfusionStablePool {
3
- static getSellPrice(priceParams: InfusionPoolOrderedParams, srcAmount: bigint, feeFactor: number): Promise<bigint>;
3
+ static getSellPrice(priceParams: InfusionPoolOrderedParams, srcAmount: bigint, feeFactor: number): bigint;
4
4
  }
@@ -51,7 +51,7 @@ function _closeTo(a, b, target) {
51
51
  return false;
52
52
  }
53
53
  class InfusionStablePool {
54
- static async getSellPrice(priceParams, srcAmount, feeFactor) {
54
+ static getSellPrice(priceParams, srcAmount, feeFactor) {
55
55
  const { reservesIn, reservesOut, decimalsIn, decimalsOut, fee } = priceParams;
56
56
  // FIXME: some dexes use uint112 others use uint256
57
57
  if (BigInt(reservesIn) + srcAmount > uniswap_v2_1.RESERVE_LIMIT) {
@@ -1 +1 @@
1
- {"version":3,"file":"infusion-stable-pool.js","sourceRoot":"","sources":["../../../src/dex/infusion/infusion-stable-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infusion-stable-pool.js","sourceRoot":"","sources":["../../../src/dex/infusion/infusion-stable-pool.ts"],"names":[],"mappings":"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"}
@@ -25,13 +25,13 @@ export declare class Infusion extends UniswapV2 {
25
25
  networks: Network[];
26
26
  }[];
27
27
  constructor(network: Network, dexKey: string, dexHelper: IDexHelper, isDynamicFees?: boolean, factoryAddress?: Address, subgraphURL?: string, initCode?: string, feeCode?: number, poolGasCost?: number, routerAddress?: Address);
28
- findInfusionPair(from: Token, to: Token, stable: boolean): Promise<InfusionPair | null>;
28
+ findInfusionPairs(from: Token, to: Token): Promise<InfusionPair[]>;
29
29
  batchCatchUpPairs(pairs: [Token, Token][], blockNumber: number): Promise<void>;
30
30
  getManyPoolReserves(pairs: InfusionPair[], blockNumber: number): Promise<PoolState[]>;
31
- getSellPrice(priceParams: InfusionPoolOrderedParams, srcAmount: bigint): Promise<bigint>;
31
+ getSellPrice(priceParams: InfusionPoolOrderedParams, srcAmount: bigint): bigint;
32
32
  getPricesVolume(_from: Token, _to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[], transferFees?: TransferFeeParams): Promise<ExchangePrices<InfusionData> | null>;
33
33
  getTopPoolsForToken(tokenAddress: Address, count: number): Promise<PoolLiquidity[]>;
34
- getInfusionPairOrderedParams(from: Token, to: Token, blockNumber: number, stable: boolean, tokenDexTransferFee: number): Promise<InfusionPoolOrderedParams | null>;
34
+ getInfusionPairOrderedParams(from: Token, to: Token, blockNumber: number, tokenDexTransferFee: number): Promise<Array<InfusionPoolOrderedParams | null>>;
35
35
  getPoolIdentifiers(_from: Token, _to: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
36
36
  poolPostfix(stable: boolean): "S" | "V";
37
37
  getAdapters(side: SwapSide): {
@@ -19,6 +19,8 @@ const uniswap_v2_constant_product_pool_1 = require("../uniswap-v2/uniswap-v2-con
19
19
  const config_1 = require("./config");
20
20
  const token_transfer_fee_1 = require("../../lib/token-transfer-fee");
21
21
  const isStablePair_1 = require("./utils/isStablePair");
22
+ const decoders_1 = require("../../lib/decoders");
23
+ const INFUSION_RECHECK_PAIR_EXISTENCE_AFTER_MS = 3 * 24 * 60 * 60 * 1000; // 3 days
22
24
  var InfusionRouterFunctions;
23
25
  (function (InfusionRouterFunctions) {
24
26
  InfusionRouterFunctions["sellExactEth"] = "swapExactETHForTokens";
@@ -74,41 +76,78 @@ class Infusion extends uniswap_v2_1.UniswapV2 {
74
76
  this.feeFactor =
75
77
  config_1.InfusionConfig[dexKey][network].feeFactor || this.feeFactor;
76
78
  }
77
- async findInfusionPair(from, to, stable) {
78
- if (from.address.toLowerCase() === to.address.toLowerCase())
79
- return null;
79
+ async findInfusionPairs(from, to) {
80
80
  const [token0, token1] = from.address.toLowerCase() < to.address.toLowerCase()
81
81
  ? [from, to]
82
82
  : [to, from];
83
- const typePostfix = this.poolPostfix(stable);
84
- const key = `${token0.address.toLowerCase()}-${token1.address.toLowerCase()}-${typePostfix}`;
85
- let pair = this.pairs[key];
86
- if (pair)
87
- return pair;
88
- let exchange = await this.factory.methods
89
- // Infusion has additional boolean parameter "StablePool"
90
- // At first we look for uniswap-like volatile pool
91
- .getPair(token0.address, token1.address, stable)
92
- .call();
93
- if (exchange === constants_1.NULL_ADDRESS) {
94
- pair = { token0, token1, stable };
95
- }
96
- else {
97
- pair = { token0, token1, exchange, stable };
98
- }
99
- this.pairs[key] = pair;
100
- return pair;
83
+ const pairKeyBase = `${token0.address.toLowerCase()}-${token1.address.toLowerCase()}`;
84
+ const stableValues = [false, true];
85
+ const pairKeys = stableValues.map(stable => `${pairKeyBase}-${this.poolPostfix(stable)}`);
86
+ // get cached pairs
87
+ const pairs = pairKeys.map(key => this.pairs[key]);
88
+ if (pairs.every(Boolean))
89
+ return pairs;
90
+ const cachedPairsRaw = await this.dexHelper.cache.hmget(this.pairsHashCacheKey, pairKeys);
91
+ const cachedPairs = cachedPairsRaw.map(p => p ? JSON.parse(p) : null);
92
+ const shouldFetchFromRpc = cachedPairs.some((cachedPair, i) => {
93
+ if (cachedPair &&
94
+ (cachedPair.exchange ||
95
+ (cachedPair.checkExistenceAfter &&
96
+ cachedPair.checkExistenceAfter > Date.now()))) {
97
+ // prevent wiping initialized pool
98
+ if (!pairs[i]?.pool) {
99
+ pairs[i] = cachedPair;
100
+ this.pairs[pairKeys[i]] = cachedPair;
101
+ }
102
+ return false;
103
+ }
104
+ return true;
105
+ });
106
+ if (!shouldFetchFromRpc)
107
+ return pairs;
108
+ const calldata = stableValues.map(stable => {
109
+ return {
110
+ target: this.factoryAddress,
111
+ callData: this.factory.methods
112
+ .getPair(token0.address, token1.address, stable)
113
+ .encodeABI(),
114
+ };
115
+ });
116
+ const data = await this.dexHelper.multiContract.methods.aggregate(calldata).call({});
117
+ const exchanges = data.returnData.map(decoders_1.addressDecode);
118
+ // cache and return
119
+ stableValues.forEach((stable, i) => {
120
+ // prevent wiping initialized pool
121
+ if (pairs[i]?.pool) {
122
+ return;
123
+ }
124
+ const exchange = exchanges[i];
125
+ if (exchange === constants_1.NULL_ADDRESS) {
126
+ pairs[i] = {
127
+ token0,
128
+ token1,
129
+ stable,
130
+ checkExistenceAfter: Date.now() + INFUSION_RECHECK_PAIR_EXISTENCE_AFTER_MS,
131
+ };
132
+ }
133
+ else {
134
+ pairs[i] = { token0, token1, stable, exchange };
135
+ }
136
+ this.pairs[pairKeys[i]] = pairs[i];
137
+ });
138
+ const pairsToCache = pairKeys
139
+ .map((key, i) => [key, pairs[i]])
140
+ .filter(([_, pair]) => !pair.pool);
141
+ await this.dexHelper.cache.hmset(this.pairsHashCacheKey, Object.fromEntries(pairsToCache.map(([key, pair]) => [key, JSON.stringify(pair)])));
142
+ return pairs;
101
143
  }
102
144
  async batchCatchUpPairs(pairs, blockNumber) {
103
145
  if (!blockNumber)
104
146
  return;
105
147
  const pairsToFetch = [];
106
148
  for (const _pair of pairs) {
107
- const pairs = await Promise.all([
108
- this.findInfusionPair(_pair[0], _pair[1], true),
109
- this.findInfusionPair(_pair[0], _pair[1], false),
110
- ]);
111
- for (const pair of pairs) {
149
+ const infusionPairs = await this.findInfusionPairs(_pair[0], _pair[1]);
150
+ for (const pair of infusionPairs) {
112
151
  if (!(pair && pair.exchange))
113
152
  continue;
114
153
  if (!pair.pool) {
@@ -180,7 +219,7 @@ class Infusion extends uniswap_v2_1.UniswapV2 {
180
219
  return [];
181
220
  }
182
221
  }
183
- async getSellPrice(priceParams, srcAmount) {
222
+ getSellPrice(priceParams, srcAmount) {
184
223
  return priceParams.stable
185
224
  ? infusion_stable_pool_1.InfusionStablePool.getSellPrice(priceParams, srcAmount, this.feeFactor)
186
225
  : uniswap_v2_constant_product_pool_1.Uniswapv2ConstantProductPool.getSellPrice(priceParams, srcAmount, this.feeFactor);
@@ -208,7 +247,11 @@ class Infusion extends uniswap_v2_1.UniswapV2 {
208
247
  .sort((a, b) => (a > b ? 1 : -1))
209
248
  .join('_');
210
249
  await this.batchCatchUpPairs([[from, to]], blockNumber);
211
- const resultPromises = [false, true].map(async (stable) => {
250
+ const pairParams = await this.getInfusionPairOrderedParams(from, to, blockNumber, transferFees.srcDexFee);
251
+ const resultPools = pairParams.map(pairParam => {
252
+ if (!pairParam)
253
+ return null;
254
+ const stable = pairParam.stable;
212
255
  // We don't support fee on transfer for stable pools yet
213
256
  if (stable &&
214
257
  (transferFees.srcFee !== 0 || transferFees.srcDexFee !== 0)) {
@@ -218,15 +261,10 @@ class Infusion extends uniswap_v2_1.UniswapV2 {
218
261
  if (limitPools && limitPools.every(p => p !== poolIdentifier))
219
262
  return null;
220
263
  const isSell = side === core_1.SwapSide.SELL;
221
- const pairParam = await this.getInfusionPairOrderedParams(from, to, blockNumber, stable, transferFees.srcDexFee);
222
- if (!pairParam)
223
- return null;
224
264
  const unitAmount = (0, utils_1.getBigIntPow)(from.decimals);
225
265
  const [unitVolumeWithFee, ...amountsWithFee] = (0, token_transfer_fee_1.applyTransferFee)([unitAmount, ...amounts], side, isSell ? transferFees.srcFee : transferFees.destFee, isSell ? constants_1.SRC_TOKEN_PARASWAP_TRANSFERS : constants_1.DEST_TOKEN_PARASWAP_TRANSFERS);
226
- const unit = await this.getSellPricePath(unitVolumeWithFee, [
227
- pairParam,
228
- ]);
229
- const prices = await Promise.all(amountsWithFee.map(amount => amount === 0n ? 0n : this.getSellPricePath(amount, [pairParam])));
266
+ const unit = this.getSellPricePath(unitVolumeWithFee, [pairParam]);
267
+ const prices = amountsWithFee.map(amount => amount === 0n ? 0n : this.getSellPricePath(amount, [pairParam]));
230
268
  const [unitOutWithFee, ...outputsWithFee] = (0, token_transfer_fee_1.applyTransferFee)([unit, ...prices], side,
231
269
  // This part is confusing, because we treat differently SELL and BUY fees
232
270
  // If Buy, we should apply transfer fee on srcToken on top of dexFee applied earlier
@@ -256,7 +294,6 @@ class Infusion extends uniswap_v2_1.UniswapV2 {
256
294
  poolAddresses: [pairParam.exchange],
257
295
  };
258
296
  });
259
- const resultPools = (await Promise.all(resultPromises));
260
297
  const resultPoolsFiltered = resultPools.filter(item => !!item); // filter null elements
261
298
  return resultPoolsFiltered.length > 0 ? resultPoolsFiltered : null;
262
299
  }
@@ -332,43 +369,45 @@ class Infusion extends uniswap_v2_1.UniswapV2 {
332
369
  return lodash_1.default.slice(lodash_1.default.sortBy(lodash_1.default.concat(pools0, pools1), [pool => -1 * pool.liquidityUSD]), 0, count);
333
370
  }
334
371
  // Same as at uniswap-v2-pool.json, but extended with decimals and stable
335
- async getInfusionPairOrderedParams(from, to, blockNumber, stable, tokenDexTransferFee) {
336
- const pair = await this.findInfusionPair(from, to, stable);
337
- if (!(pair && pair.pool && pair.exchange))
338
- return null;
339
- const pairState = pair?.pool.getState(blockNumber);
340
- if (!pairState) {
341
- this.logger.error(`Error_orderPairParams expected reserves, got none (maybe the pool doesn't exist) ${from.symbol || from.address} ${to.symbol || to.address}`);
342
- return null;
343
- }
344
- const fee = (pairState.feeCode + tokenDexTransferFee).toString();
345
- const pairReversed = pair.token1.address.toLowerCase() === from.address.toLowerCase();
346
- if (pairReversed) {
372
+ async getInfusionPairOrderedParams(from, to, blockNumber, tokenDexTransferFee) {
373
+ const pairs = await this.findInfusionPairs(from, to);
374
+ return pairs.map(pair => {
375
+ if (!(pair && pair.pool && pair.exchange))
376
+ return null;
377
+ const pairState = pair.pool.getState(blockNumber);
378
+ if (!pairState) {
379
+ this.logger.error(`Error_orderPairParams expected reserves, got none (maybe the pool doesn't exist) ${from.symbol || from.address} ${to.symbol || to.address}`);
380
+ return null;
381
+ }
382
+ const fee = (pairState.feeCode + tokenDexTransferFee).toString();
383
+ const pairReversed = pair.token1.address.toLowerCase() === from.address.toLowerCase();
384
+ if (pairReversed) {
385
+ return {
386
+ tokenIn: from.address,
387
+ tokenOut: to.address,
388
+ reservesIn: pairState.reserves1,
389
+ reservesOut: pairState.reserves0,
390
+ fee,
391
+ direction: false,
392
+ exchange: pair.exchange,
393
+ decimalsIn: from.decimals,
394
+ decimalsOut: to.decimals,
395
+ stable: pair.stable,
396
+ };
397
+ }
347
398
  return {
348
399
  tokenIn: from.address,
349
400
  tokenOut: to.address,
350
- reservesIn: pairState.reserves1,
351
- reservesOut: pairState.reserves0,
401
+ reservesIn: pairState.reserves0,
402
+ reservesOut: pairState.reserves1,
352
403
  fee,
353
- direction: false,
404
+ direction: true,
354
405
  exchange: pair.exchange,
355
406
  decimalsIn: from.decimals,
356
407
  decimalsOut: to.decimals,
357
- stable,
408
+ stable: pair.stable,
358
409
  };
359
- }
360
- return {
361
- tokenIn: from.address,
362
- tokenOut: to.address,
363
- reservesIn: pairState.reserves0,
364
- reservesOut: pairState.reserves1,
365
- fee,
366
- direction: true,
367
- exchange: pair.exchange,
368
- decimalsIn: from.decimals,
369
- decimalsOut: to.decimals,
370
- stable,
371
- };
410
+ });
372
411
  }
373
412
  async getPoolIdentifiers(_from, _to, side, blockNumber) {
374
413
  if (side === core_1.SwapSide.BUY)
@@ -1 +1 @@
1
- {"version":3,"file":"infusion.js","sourceRoot":"","sources":["../../../src/dex/infusion/infusion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infusion.js","sourceRoot":"","sources":["../../../src/dex/infusion/infusion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { Interface } from '@ethersproject/abi';
2
+ import { SwapSide } from '../constants';
3
+ import { AdapterExchangeParam, Address, DexExchangeParam, NumberAsString, SimpleExchangeParam } from '../types';
4
+ import { IDexTxBuilder } from './idex';
5
+ import { SimpleExchange } from './simple-exchange';
6
+ import { IDexHelper } from '../dex-helper';
7
+ export declare type JarvisData = {
8
+ derivatives: string;
9
+ destDerivatives?: string;
10
+ pools: string[];
11
+ fee: string;
12
+ method: JarvisFunctions;
13
+ router: Address;
14
+ };
15
+ declare type JarvisMintParam = [
16
+ derivative: string,
17
+ minNumTokens: string,
18
+ collateralAmount: string,
19
+ feePercentage: string,
20
+ expiration: string,
21
+ recipient: string
22
+ ];
23
+ declare type JarvisRedeemParam = [
24
+ derivative: string,
25
+ numTokens: string,
26
+ minCollateral: string,
27
+ feePercentage: string,
28
+ expiration: string,
29
+ recipient: string
30
+ ];
31
+ declare type JarvisExchangeParam = [
32
+ derivative: string,
33
+ destPool: string,
34
+ destDerivative: string,
35
+ numTokens: string,
36
+ minDestNumTokens: string,
37
+ feePercentage: string,
38
+ expiration: string,
39
+ recipient: string
40
+ ];
41
+ declare type JarvisParam = JarvisExchangeParam | JarvisMintParam | JarvisRedeemParam;
42
+ declare enum JarvisFunctions {
43
+ mint = "mint",
44
+ redeem = "redeem",
45
+ exchange = "exchange"
46
+ }
47
+ export declare class Jarvis extends SimpleExchange implements IDexTxBuilder<JarvisData, JarvisParam> {
48
+ static dexKeys: string[];
49
+ poolInterface: Interface;
50
+ needWrapNative: boolean;
51
+ constructor(dexHelper: IDexHelper);
52
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: JarvisData, side: SwapSide): AdapterExchangeParam;
53
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: JarvisData, side: SwapSide): Promise<SimpleExchangeParam>;
54
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: JarvisData, side: SwapSide): DexExchangeParam;
55
+ }
56
+ export {};