@paraswap/dex-lib 4.8.34-uni-v3-rust.0 → 4.8.34

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 (321) hide show
  1. package/build/dex/fluid-dex/constants.d.ts +1 -0
  2. package/build/dex/fluid-dex/constants.js +2 -1
  3. package/build/dex/fluid-dex/constants.js.map +1 -1
  4. package/build/dex/fluid-dex/fluid-dex.js +4 -5
  5. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  6. package/build/dex/fluid-dex/scripts/measure-calc-time.js +178 -0
  7. package/build/dex/fluid-dex/scripts/measure-calc-time.js.map +1 -0
  8. package/build/dex/fluid-dex/utils.d.ts +1 -2
  9. package/build/dex/fluid-dex/utils.js +10 -10
  10. package/build/dex/fluid-dex/utils.js.map +1 -1
  11. package/build/dex/idex.d.ts +1 -1
  12. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.d.ts +0 -2
  13. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js +0 -5
  14. package/build/dex/pancakeswap-v3/pancakeswap-v3-pool.js.map +1 -1
  15. package/build/dex/pancakeswap-v3/pancakeswap-v3.d.ts +3 -6
  16. package/build/dex/pancakeswap-v3/pancakeswap-v3.js +9 -85
  17. package/build/dex/pancakeswap-v3/pancakeswap-v3.js.map +1 -1
  18. package/build/dex/solidly-v3/solidly-v3-pool.d.ts +0 -3
  19. package/build/dex/solidly-v3/solidly-v3-pool.js +0 -8
  20. package/build/dex/solidly-v3/solidly-v3-pool.js.map +1 -1
  21. package/build/dex/solidly-v3/solidly-v3.d.ts +2 -5
  22. package/build/dex/solidly-v3/solidly-v3.js +8 -84
  23. package/build/dex/solidly-v3/solidly-v3.js.map +1 -1
  24. package/build/dex/uniswap-v3/contract-math/native-bridge.d.ts +1 -52
  25. package/build/dex/uniswap-v3/contract-math/native-bridge.js +3 -27
  26. package/build/dex/uniswap-v3/contract-math/native-bridge.js.map +1 -1
  27. package/build/dex/uniswap-v3/scripts/measure-calc-time.js +110 -222
  28. package/build/dex/uniswap-v3/scripts/measure-calc-time.js.map +1 -1
  29. package/build/dex/uniswap-v3/types.d.ts +0 -1
  30. package/build/dex/uniswap-v3/types.js.map +1 -1
  31. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +0 -2
  32. package/build/dex/uniswap-v3/uniswap-v3-pool.js +0 -5
  33. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  34. package/build/dex/uniswap-v3/uniswap-v3.d.ts +3 -11
  35. package/build/dex/uniswap-v3/uniswap-v3.js +9 -86
  36. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  37. package/build/dex/uniswap-v4/api-go/compare-pricing.js +187 -0
  38. package/build/dex/uniswap-v4/api-go/compare-pricing.js.map +1 -0
  39. package/build/dex/uniswap-v4/api-go/compare-states.js +149 -0
  40. package/build/dex/uniswap-v4/api-go/compare-states.js.map +1 -0
  41. package/build/dex/uniswap-v4/api-go/fetch-pool-key.d.ts +0 -0
  42. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js +140 -0
  43. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js.map +1 -0
  44. package/build/dex/uniswap-v4/types.d.ts +0 -1
  45. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +0 -2
  46. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +0 -3
  47. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +1 -1
  48. package/build/dex/uniswap-v4/uniswap-v4-pool.d.ts +0 -3
  49. package/build/dex/uniswap-v4/uniswap-v4-pool.js +0 -18
  50. package/build/dex/uniswap-v4/uniswap-v4-pool.js.map +1 -1
  51. package/build/dex/uniswap-v4/uniswap-v4.d.ts +1 -3
  52. package/build/dex/uniswap-v4/uniswap-v4.js +14 -74
  53. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  54. package/build/pricing-helper.d.ts +1 -1
  55. package/build/pricing-helper.js +2 -2
  56. package/build/pricing-helper.js.map +1 -1
  57. package/build/tenderly-simulation.d.ts +221 -0
  58. package/build/tenderly-simulation.js +517 -0
  59. package/build/tenderly-simulation.js.map +1 -0
  60. package/package.json +1 -2
  61. package/build/abi/BProtocol.json +0 -1155
  62. package/build/abi/Jarvis.json +0 -1172
  63. package/build/abi/MStableAsset.json +0 -1545
  64. package/build/abi/OneInchLp.json +0 -1304
  65. package/build/abi/Onebit.json +0 -736
  66. package/build/abi/Shell.json +0 -1294
  67. package/build/abi/TraderJoeV2Router.json +0 -50
  68. package/build/abi/idle-dao/idle-cdo-factory.json +0 -38
  69. package/build/abi/idle-dao/idle-cdo.json +0 -1245
  70. package/build/abi/infusion/InfusionFactory.json +0 -147
  71. package/build/abi/infusion/InfusionPair.json +0 -658
  72. package/build/abi/infusion/InfusionRouter.json +0 -442
  73. package/build/abi/maker-psm/pot.json +0 -322
  74. package/build/abi/maker-psm/psm.json +0 -243
  75. package/build/abi/maker-psm/vat.json +0 -363
  76. package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +0 -773
  77. package/build/abi/quick-perps/fast-price-events.json +0 -70
  78. package/build/abi/quick-perps/fast-price-feed.json +0 -741
  79. package/build/abi/quick-perps/reader.json +0 -313
  80. package/build/abi/quick-perps/vault-price-feed.json +0 -323
  81. package/build/abi/quick-perps/vault.json +0 -1953
  82. package/build/abi/uniswap-v2/excalibur-pool.json +0 -881
  83. package/build/abi/uniswap-v2/mdex-factory.json +0 -759
  84. package/build/abi/wUSDM.json +0 -757
  85. package/build/abi/zrx.v2.json +0 -1967
  86. package/build/abi/zrx.v3.json +0 -3454
  87. package/build/abi/zrx.v4.json +0 -2193
  88. package/build/dex/OneInchLp.d.ts +0 -24
  89. package/build/dex/OneInchLp.js +0 -43
  90. package/build/dex/OneInchLp.js.map +0 -1
  91. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  92. package/build/dex/bProtocol/bProtocol.js +0 -56
  93. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  94. package/build/dex/bProtocol/types.d.ts +0 -11
  95. package/build/dex/bProtocol/types.js +0 -8
  96. package/build/dex/bProtocol/types.js.map +0 -1
  97. package/build/dex/ekubo/pools/base-pool.d.ts +0 -47
  98. package/build/dex/ekubo/pools/base-pool.js +0 -184
  99. package/build/dex/ekubo/pools/base-pool.js.map +0 -1
  100. package/build/dex/ekubo/pools/iface.d.ts +0 -46
  101. package/build/dex/ekubo/pools/iface.js +0 -75
  102. package/build/dex/ekubo/pools/iface.js.map +0 -1
  103. package/build/dex/ekubo/pools/math/price.d.ts +0 -7
  104. package/build/dex/ekubo/pools/math/price.js +0 -112
  105. package/build/dex/ekubo/pools/math/price.js.map +0 -1
  106. package/build/dex/ekubo/pools/oracle-pool.d.ts +0 -10
  107. package/build/dex/ekubo/pools/oracle-pool.js +0 -19
  108. package/build/dex/ekubo/pools/oracle-pool.js.map +0 -1
  109. package/build/dex/ekubo/pools/pool-utils.d.ts +0 -44
  110. package/build/dex/ekubo/pools/pool-utils.js +0 -240
  111. package/build/dex/ekubo/pools/pool-utils.js.map +0 -1
  112. package/build/dex/idle-dao/config.d.ts +0 -5
  113. package/build/dex/idle-dao/config.js +0 -24
  114. package/build/dex/idle-dao/config.js.map +0 -1
  115. package/build/dex/idle-dao/idle-dao.d.ts +0 -42
  116. package/build/dex/idle-dao/idle-dao.js +0 -279
  117. package/build/dex/idle-dao/idle-dao.js.map +0 -1
  118. package/build/dex/idle-dao/token_list.d.ts +0 -4
  119. package/build/dex/idle-dao/token_list.js +0 -289
  120. package/build/dex/idle-dao/token_list.js.map +0 -1
  121. package/build/dex/idle-dao/tokens.d.ts +0 -9
  122. package/build/dex/idle-dao/tokens.js +0 -68
  123. package/build/dex/idle-dao/tokens.js.map +0 -1
  124. package/build/dex/idle-dao/types.d.ts +0 -35
  125. package/build/dex/idle-dao/types.js +0 -11
  126. package/build/dex/idle-dao/types.js.map +0 -1
  127. package/build/dex/idle-dao/utils.d.ts +0 -8
  128. package/build/dex/idle-dao/utils.js +0 -149
  129. package/build/dex/idle-dao/utils.js.map +0 -1
  130. package/build/dex/infusion/config.d.ts +0 -3
  131. package/build/dex/infusion/config.js +0 -20
  132. package/build/dex/infusion/config.js.map +0 -1
  133. package/build/dex/infusion/infusion-stable-pool.d.ts +0 -4
  134. package/build/dex/infusion/infusion-stable-pool.js +0 -74
  135. package/build/dex/infusion/infusion-stable-pool.js.map +0 -1
  136. package/build/dex/infusion/infusion.d.ts +0 -51
  137. package/build/dex/infusion/infusion.js +0 -500
  138. package/build/dex/infusion/infusion.js.map +0 -1
  139. package/build/dex/infusion/types.d.ts +0 -45
  140. package/build/dex/infusion/types.js +0 -3
  141. package/build/dex/infusion/types.js.map +0 -1
  142. package/build/dex/infusion/utils/isStablePair.d.ts +0 -2
  143. package/build/dex/infusion/utils/isStablePair.js +0 -18
  144. package/build/dex/infusion/utils/isStablePair.js.map +0 -1
  145. package/build/dex/jarvis.d.ts +0 -56
  146. package/build/dex/jarvis.js +0 -163
  147. package/build/dex/jarvis.js.map +0 -1
  148. package/build/dex/mStable.d.ts +0 -44
  149. package/build/dex/mStable.js +0 -75
  150. package/build/dex/mStable.js.map +0 -1
  151. package/build/dex/maker-psm/config.d.ts +0 -11
  152. package/build/dex/maker-psm/config.js +0 -53
  153. package/build/dex/maker-psm/config.js.map +0 -1
  154. package/build/dex/maker-psm/maker-psm.d.ts +0 -103
  155. package/build/dex/maker-psm/maker-psm.js +0 -493
  156. package/build/dex/maker-psm/maker-psm.js.map +0 -1
  157. package/build/dex/maker-psm/types.d.ts +0 -39
  158. package/build/dex/maker-psm/types.js +0 -3
  159. package/build/dex/maker-psm/types.js.map +0 -1
  160. package/build/dex/onebit/onebit.d.ts +0 -16
  161. package/build/dex/onebit/onebit.js +0 -61
  162. package/build/dex/onebit/onebit.js.map +0 -1
  163. package/build/dex/onebit/types.d.ts +0 -14
  164. package/build/dex/onebit/types.js +0 -8
  165. package/build/dex/onebit/types.js.map +0 -1
  166. package/build/dex/pancakeswap-v3/scripts/measure-calc-time.js +0 -203
  167. package/build/dex/pancakeswap-v3/scripts/measure-calc-time.js.map +0 -1
  168. package/build/dex/quick-perps/config.d.ts +0 -11
  169. package/build/dex/quick-perps/config.js +0 -27
  170. package/build/dex/quick-perps/config.js.map +0 -1
  171. package/build/dex/quick-perps/fast-price-feed.d.ts +0 -26
  172. package/build/dex/quick-perps/fast-price-feed.js +0 -184
  173. package/build/dex/quick-perps/fast-price-feed.js.map +0 -1
  174. package/build/dex/quick-perps/pool.d.ts +0 -21
  175. package/build/dex/quick-perps/pool.js +0 -229
  176. package/build/dex/quick-perps/pool.js.map +0 -1
  177. package/build/dex/quick-perps/quick-perps.d.ts +0 -53
  178. package/build/dex/quick-perps/quick-perps.js +0 -247
  179. package/build/dex/quick-perps/quick-perps.js.map +0 -1
  180. package/build/dex/quick-perps/types.d.ts +0 -98
  181. package/build/dex/quick-perps/types.js +0 -3
  182. package/build/dex/quick-perps/types.js.map +0 -1
  183. package/build/dex/quick-perps/usdq.d.ts +0 -15
  184. package/build/dex/quick-perps/usdq.js +0 -62
  185. package/build/dex/quick-perps/usdq.js.map +0 -1
  186. package/build/dex/quick-perps/vault-price-feed.d.ts +0 -43
  187. package/build/dex/quick-perps/vault-price-feed.js +0 -203
  188. package/build/dex/quick-perps/vault-price-feed.js.map +0 -1
  189. package/build/dex/quick-perps/vault-utils.d.ts +0 -8
  190. package/build/dex/quick-perps/vault-utils.js +0 -42
  191. package/build/dex/quick-perps/vault-utils.js.map +0 -1
  192. package/build/dex/quick-perps/vault.d.ts +0 -46
  193. package/build/dex/quick-perps/vault.js +0 -182
  194. package/build/dex/quick-perps/vault.js.map +0 -1
  195. package/build/dex/se-vlr/config.d.ts +0 -3
  196. package/build/dex/se-vlr/config.js +0 -24
  197. package/build/dex/se-vlr/config.js.map +0 -1
  198. package/build/dex/se-vlr/se-vlr-pool.d.ts +0 -39
  199. package/build/dex/se-vlr/se-vlr-pool.js +0 -70
  200. package/build/dex/se-vlr/se-vlr-pool.js.map +0 -1
  201. package/build/dex/se-vlr/se-vlr.d.ts +0 -35
  202. package/build/dex/se-vlr/se-vlr.js +0 -131
  203. package/build/dex/se-vlr/se-vlr.js.map +0 -1
  204. package/build/dex/se-vlr/types.d.ts +0 -6
  205. package/build/dex/se-vlr/types.js +0 -3
  206. package/build/dex/se-vlr/types.js.map +0 -1
  207. package/build/dex/shell.d.ts +0 -25
  208. package/build/dex/shell.js +0 -41
  209. package/build/dex/shell.js.map +0 -1
  210. package/build/dex/solidly/forks-override/aerodrome.d.ts +0 -14
  211. package/build/dex/solidly/forks-override/aerodrome.js +0 -46
  212. package/build/dex/solidly/forks-override/aerodrome.js.map +0 -1
  213. package/build/dex/solidly/forks-override/chronos.d.ts +0 -23
  214. package/build/dex/solidly/forks-override/chronos.js +0 -141
  215. package/build/dex/solidly/forks-override/chronos.js.map +0 -1
  216. package/build/dex/solidly/forks-override/usdfi.d.ts +0 -8
  217. package/build/dex/solidly/forks-override/usdfi.js +0 -15
  218. package/build/dex/solidly/forks-override/usdfi.js.map +0 -1
  219. package/build/dex/solidly/forks-override/velocimeter.d.ts +0 -23
  220. package/build/dex/solidly/forks-override/velocimeter.js +0 -77
  221. package/build/dex/solidly/forks-override/velocimeter.js.map +0 -1
  222. package/build/dex/solidly-v3/contract-math/native-bridge.d.ts +0 -26
  223. package/build/dex/solidly-v3/contract-math/native-bridge.js +0 -96
  224. package/build/dex/solidly-v3/contract-math/native-bridge.js.map +0 -1
  225. package/build/dex/solidly-v3/scripts/measure-calc-time.js +0 -203
  226. package/build/dex/solidly-v3/scripts/measure-calc-time.js.map +0 -1
  227. package/build/dex/trader-joe-v2.d.ts +0 -40
  228. package/build/dex/trader-joe-v2.js +0 -74
  229. package/build/dex/trader-joe-v2.js.map +0 -1
  230. package/build/dex/uniswap-v2/dfyn.d.ts +0 -19
  231. package/build/dex/uniswap-v2/dfyn.js +0 -61
  232. package/build/dex/uniswap-v2/dfyn.js.map +0 -1
  233. package/build/dex/uniswap-v2/excalibur.d.ts +0 -24
  234. package/build/dex/uniswap-v2/excalibur.js +0 -47
  235. package/build/dex/uniswap-v2/excalibur.js.map +0 -1
  236. package/build/dex/uniswap-v2/mdex.d.ts +0 -24
  237. package/build/dex/uniswap-v2/mdex.js +0 -50
  238. package/build/dex/uniswap-v2/mdex.js.map +0 -1
  239. package/build/dex/uniswap-v2/nomiswap-v2.d.ts +0 -24
  240. package/build/dex/uniswap-v2/nomiswap-v2.js +0 -57
  241. package/build/dex/uniswap-v2/nomiswap-v2.js.map +0 -1
  242. package/build/dex/uniswap-v3/scripts/bench-all-dexes.js +0 -160
  243. package/build/dex/uniswap-v3/scripts/bench-all-dexes.js.map +0 -1
  244. package/build/dex/uniswap-v3/scripts/bench-e2e.d.ts +0 -1
  245. package/build/dex/uniswap-v3/scripts/bench-e2e.js +0 -85
  246. package/build/dex/uniswap-v3/scripts/bench-e2e.js.map +0 -1
  247. package/build/dex/uniswap-v3/scripts/bench-parallel.d.ts +0 -1
  248. package/build/dex/uniswap-v3/scripts/bench-parallel.js +0 -192
  249. package/build/dex/uniswap-v3/scripts/bench-parallel.js.map +0 -1
  250. package/build/dex/uniswap-v3/uniswap-v3-new.d.ts +0 -94
  251. package/build/dex/uniswap-v3/uniswap-v3-new.js +0 -923
  252. package/build/dex/uniswap-v3/uniswap-v3-new.js.map +0 -1
  253. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -3
  254. package/build/dex/uniswap-v4/contract-math/Position.js +0 -10
  255. package/build/dex/uniswap-v4/contract-math/Position.js.map +0 -1
  256. package/build/dex/uniswap-v4/contract-math/native-bridge.d.ts +0 -40
  257. package/build/dex/uniswap-v4/contract-math/native-bridge.js +0 -74
  258. package/build/dex/uniswap-v4/contract-math/native-bridge.js.map +0 -1
  259. package/build/dex/uniswap-v4/scripts/test-rust-correctness.d.ts +0 -1
  260. package/build/dex/uniswap-v4/scripts/test-rust-correctness.js +0 -167
  261. package/build/dex/uniswap-v4/scripts/test-rust-correctness.js.map +0 -1
  262. package/build/dex/usual-bond/config.d.ts +0 -3
  263. package/build/dex/usual-bond/config.js +0 -13
  264. package/build/dex/usual-bond/config.js.map +0 -1
  265. package/build/dex/usual-bond/types.d.ts +0 -7
  266. package/build/dex/usual-bond/types.js +0 -3
  267. package/build/dex/usual-bond/types.js.map +0 -1
  268. package/build/dex/usual-bond/usual-bond.d.ts +0 -35
  269. package/build/dex/usual-bond/usual-bond.js +0 -176
  270. package/build/dex/usual-bond/usual-bond.js.map +0 -1
  271. package/build/dex/wusdm/config.d.ts +0 -3
  272. package/build/dex/wusdm/config.js +0 -43
  273. package/build/dex/wusdm/config.js.map +0 -1
  274. package/build/dex/wusdm/constants.d.ts +0 -2
  275. package/build/dex/wusdm/constants.js +0 -6
  276. package/build/dex/wusdm/constants.js.map +0 -1
  277. package/build/dex/wusdm/types.d.ts +0 -18
  278. package/build/dex/wusdm/types.js +0 -11
  279. package/build/dex/wusdm/types.js.map +0 -1
  280. package/build/dex/wusdm/wusdm-pool.d.ts +0 -21
  281. package/build/dex/wusdm/wusdm-pool.js +0 -74
  282. package/build/dex/wusdm/wusdm-pool.js.map +0 -1
  283. package/build/dex/wusdm/wusdm.d.ts +0 -46
  284. package/build/dex/wusdm/wusdm.js +0 -243
  285. package/build/dex/wusdm/wusdm.js.map +0 -1
  286. package/build/dex/zerox/config.d.ts +0 -2
  287. package/build/dex/zerox/config.js +0 -33
  288. package/build/dex/zerox/config.js.map +0 -1
  289. package/build/dex/zerox/index.d.ts +0 -22
  290. package/build/dex/zerox/index.js +0 -225
  291. package/build/dex/zerox/index.js.map +0 -1
  292. package/build/dex/zerox/order.d.ts +0 -88
  293. package/build/dex/zerox/order.js +0 -53
  294. package/build/dex/zerox/order.js.map +0 -1
  295. package/build/dex/zerox/types.d.ts +0 -73
  296. package/build/dex/zerox/types.js +0 -21
  297. package/build/dex/zerox/types.js.map +0 -1
  298. package/native/Cargo.lock +0 -331
  299. package/native/Cargo.toml +0 -22
  300. package/native/build.rs +0 -5
  301. package/native/package-lock.json +0 -32
  302. package/native/package.json +0 -20
  303. package/native/src/config.rs +0 -73
  304. package/native/src/lib.rs +0 -528
  305. package/native/src/math/bit_math.rs +0 -177
  306. package/native/src/math/full_math.rs +0 -217
  307. package/native/src/math/liquidity_math.rs +0 -72
  308. package/native/src/math/mod.rs +0 -10
  309. package/native/src/math/oracle.rs +0 -493
  310. package/native/src/math/sqrt_price_math.rs +0 -272
  311. package/native/src/math/swap_math.rs +0 -306
  312. package/native/src/math/tick.rs +0 -239
  313. package/native/src/math/tick_bitmap.rs +0 -312
  314. package/native/src/math/tick_math.rs +0 -321
  315. package/native/src/math/unsafe_math.rs +0 -67
  316. package/native/src/pool_state.rs +0 -41
  317. package/native/src/query_outputs.rs +0 -379
  318. package/native/src/v4_query_outputs.rs +0 -255
  319. /package/build/dex/{pancakeswap-v3 → fluid-dex}/scripts/measure-calc-time.d.ts +0 -0
  320. /package/build/dex/{solidly-v3/scripts/measure-calc-time.d.ts → uniswap-v4/api-go/compare-pricing.d.ts} +0 -0
  321. /package/build/dex/{uniswap-v3/scripts/bench-all-dexes.d.ts → uniswap-v4/api-go/compare-states.d.ts} +0 -0
@@ -1,8 +0,0 @@
1
- import { Network } from '../../../constants';
2
- import { SpiritSwapV2 } from './spiritSwapV2';
3
- export declare class Usdfi extends SpiritSwapV2 {
4
- static dexKeysWithNetwork: {
5
- key: string;
6
- networks: Network[];
7
- }[];
8
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Usdfi = void 0;
7
- const utils_1 = require("../../../utils");
8
- const config_1 = require("../config");
9
- const lodash_1 = __importDefault(require("lodash"));
10
- const spiritSwapV2_1 = require("./spiritSwapV2");
11
- class Usdfi extends spiritSwapV2_1.SpiritSwapV2 {
12
- static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.SolidlyConfig, ['Usdfi']));
13
- }
14
- exports.Usdfi = Usdfi;
15
- //# sourceMappingURL=usdfi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usdfi.js","sourceRoot":"","sources":["../../../../src/dex/solidly/forks-override/usdfi.ts"],"names":[],"mappings":";;;;;;AACA,0CAAuD;AACvD,sCAA0C;AAC1C,oDAAuB;AACvB,iDAA8C;AAE9C,MAAa,KAAM,SAAQ,2BAAY;IAC9B,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,sBAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;AAF5D,sBAGC"}
@@ -1,23 +0,0 @@
1
- import { SolidlyPair } from '../types';
2
- import { Network } from '../../../constants';
3
- import { IDexHelper } from '../../../dex-helper';
4
- import { MultiCallParams } from '../../../lib/multi-wrapper';
5
- import { SolidlyRpcPoolTracker } from '../rpc-pool-tracker';
6
- export declare class Velocimeter extends SolidlyRpcPoolTracker {
7
- protected network: Network;
8
- protected dexHelper: IDexHelper;
9
- static dexKeysWithNetwork: {
10
- key: string;
11
- networks: Network[];
12
- }[];
13
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
14
- protected getFeesMultiCallData(pair: SolidlyPair): {
15
- callEntry: {
16
- target: string;
17
- callData: string;
18
- };
19
- callDecoder: (values: any[]) => number;
20
- };
21
- protected getAllPoolsCallData(): MultiCallParams<number>;
22
- protected getPoolCallData(index: number): MultiCallParams<string>;
23
- }
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Velocimeter = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const utils_1 = require("../../../utils");
9
- const config_1 = require("../config");
10
- const lodash_1 = __importDefault(require("lodash"));
11
- const decoders_1 = require("../../../lib/decoders");
12
- const rpc_pool_tracker_1 = require("../rpc-pool-tracker");
13
- const velocimeterFactoryABI = [
14
- {
15
- inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
16
- name: 'allPairs',
17
- outputs: [{ internalType: 'address', name: '', type: 'address' }],
18
- stateMutability: 'view',
19
- type: 'function',
20
- },
21
- {
22
- inputs: [],
23
- name: 'allPairsLength',
24
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
25
- stateMutability: 'view',
26
- type: 'function',
27
- },
28
- {
29
- inputs: [{ internalType: '_pair', name: '_stable', type: 'address' }],
30
- name: 'getFee',
31
- outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
32
- stateMutability: 'view',
33
- type: 'function',
34
- },
35
- ];
36
- const velocimeterFactoryIface = new abi_1.Interface(velocimeterFactoryABI);
37
- class Velocimeter extends rpc_pool_tracker_1.SolidlyRpcPoolTracker {
38
- network;
39
- dexHelper;
40
- static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.SolidlyConfig, ['Velocimeter']));
41
- constructor(network, dexKey, dexHelper) {
42
- super(network, dexKey, dexHelper, true);
43
- this.network = network;
44
- this.dexHelper = dexHelper;
45
- }
46
- getFeesMultiCallData(pair) {
47
- const callEntry = {
48
- target: this.factoryAddress,
49
- callData: velocimeterFactoryIface.encodeFunctionData('getFee', [
50
- pair.exchange,
51
- ]),
52
- };
53
- const callDecoder = (values) => parseInt(velocimeterFactoryIface
54
- .decodeFunctionResult('getFee', values)[0]
55
- .toString());
56
- return {
57
- callEntry,
58
- callDecoder,
59
- };
60
- }
61
- getAllPoolsCallData() {
62
- return {
63
- target: this.factoryAddress,
64
- callData: velocimeterFactoryIface.encodeFunctionData('allPairsLength', []),
65
- decodeFunction: decoders_1.uint256DecodeToNumber,
66
- };
67
- }
68
- getPoolCallData(index) {
69
- return {
70
- target: this.factoryAddress,
71
- callData: velocimeterFactoryIface.encodeFunctionData('allPairs', [index]),
72
- decodeFunction: decoders_1.addressDecode,
73
- };
74
- }
75
- }
76
- exports.Velocimeter = Velocimeter;
77
- //# sourceMappingURL=velocimeter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"velocimeter.js","sourceRoot":"","sources":["../../../../src/dex/solidly/forks-override/velocimeter.ts"],"names":[],"mappings":";;;;;;AAIA,4CAA+C;AAC/C,0CAAuD;AACvD,sCAA0C;AAC1C,oDAAuB;AACvB,oDAA6E;AAE7E,0DAA4D;AAE5D,MAAM,qBAAqB,GAAG;IAC5B;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAG,IAAI,eAAS,CAAC,qBAAqB,CAAC,CAAC;AAErE,MAAa,WAAY,SAAQ,wCAAqB;IAKxC;IAEA;IANL,MAAM,CAAC,kBAAkB,GAC9B,IAAA,6BAAqB,EAAC,gBAAC,CAAC,IAAI,CAAC,sBAAa,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAEhE,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB;QAE/B,KAAK,CACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,CACL,CAAC;QATQ,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;IAQjC,CAAC;IAES,oBAAoB,CAAC,IAAiB;QAC9C,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,QAAQ,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,QAAQ,EAAE;gBAC7D,IAAI,CAAC,QAAQ;aACd,CAAC;SACH,CAAC;QACF,MAAM,WAAW,GAAG,CAAC,MAAa,EAAE,EAAE,CACpC,QAAQ,CACN,uBAAuB;aACpB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aACzC,QAAQ,EAAE,CACd,CAAC;QAEJ,OAAO;YACL,SAAS;YACT,WAAW;SACZ,CAAC;IACJ,CAAC;IAES,mBAAmB;QAC3B,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,QAAQ,EAAE,uBAAuB,CAAC,kBAAkB,CAClD,gBAAgB,EAChB,EAAE,CACH;YACD,cAAc,EAAE,gCAAqB;SACtC,CAAC;IACJ,CAAC;IAES,eAAe,CAAC,KAAa;QACrC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,cAAc;YAC3B,QAAQ,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;YACzE,cAAc,EAAE,wBAAa;SAC9B,CAAC;IACJ,CAAC;;AAtDH,kCAuDC"}
@@ -1,26 +0,0 @@
1
- import { DeepReadonly } from 'ts-essentials';
2
- import { PoolState } from '../types';
3
- import { RustPoolRegistryType } from '../../uniswap-v3/contract-math/native-bridge';
4
- export { RustPoolRegistryType };
5
- export declare const nativeAddonAvailable: boolean;
6
- export declare const useNativeMath: boolean;
7
- export type RustPoolHandleType = {
8
- queryOutputs(amounts: bigint[], zeroForOne: boolean, side: number): {
9
- outputs: bigint[];
10
- tickCounts: number[];
11
- };
12
- };
13
- /**
14
- * Create a RustPoolHandle from a Solidly V3 PoolState.
15
- * Returns null if the native addon is not available.
16
- */
17
- export declare function createSolidlyRustHandle(state: DeepReadonly<PoolState>): RustPoolHandleType | null;
18
- /**
19
- * Create a RustPoolRegistry for batch parallel queries.
20
- * Returns null if the native addon is not available.
21
- */
22
- export declare function createSolidlyRegistry(): RustPoolRegistryType | null;
23
- /**
24
- * Register a Solidly V3 pool in the registry using Solidly-specific state mapping.
25
- */
26
- export declare function solidlyRegistrySetPool(registry: RustPoolRegistryType, key: string, state: DeepReadonly<PoolState>): void;
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useNativeMath = exports.nativeAddonAvailable = void 0;
4
- exports.createSolidlyRustHandle = createSolidlyRustHandle;
5
- exports.createSolidlyRegistry = createSolidlyRegistry;
6
- exports.solidlyRegistrySetPool = solidlyRegistrySetPool;
7
- // Try to load the native Rust addon
8
- let nativeAddon = null;
9
- try {
10
- nativeAddon = require('../../../../native/index.js');
11
- }
12
- catch {
13
- // Native addon not available — JS fallback will be used
14
- }
15
- exports.nativeAddonAvailable = nativeAddon !== null;
16
- // Allow forcing JS backend via env var
17
- exports.useNativeMath = exports.nativeAddonAvailable && process.env.PARASWAP_V3_MATH !== 'js';
18
- /**
19
- * Convert a Solidly V3 PoolState to the init format expected by the Rust addon.
20
- * Solidly V3 differs from Uniswap V3:
21
- * - fee is in slot0 (not a top-level field)
22
- * - no feeProtocol in slot0
23
- * - no oracle observations
24
- */
25
- function toRustInit(state) {
26
- const tickBitmap = Object.entries(state.tickBitmap).map(([key, value]) => ({
27
- key: Number(key),
28
- value,
29
- }));
30
- const ticks = Object.entries(state.ticks).map(([key, info]) => ({
31
- key: Number(key),
32
- liquidityGross: info.liquidityGross,
33
- liquidityNet: info.liquidityNet,
34
- }));
35
- return {
36
- variant: 'solidly_v3',
37
- bitmapRange: 12, // TICK_BITMAP_BUFFER(8) + TICK_BITMAP_TO_USE(4)
38
- blockTimestamp: state.blockTimestamp,
39
- tickSpacing: state.tickSpacing,
40
- fee: state.slot0.fee,
41
- sqrtPriceX96: state.slot0.sqrtPriceX96,
42
- tick: state.slot0.tick,
43
- observationIndex: 0,
44
- observationCardinality: 0,
45
- observationCardinalityNext: 0,
46
- feeProtocol: 0n,
47
- liquidity: state.liquidity,
48
- maxLiquidityPerTick: state.maxLiquidityPerTick,
49
- startTickBitmap: state.startTickBitmap,
50
- lowestKnownTick: state.lowestKnownTick,
51
- highestKnownTick: state.highestKnownTick,
52
- tickBitmap,
53
- ticks,
54
- observations: [],
55
- };
56
- }
57
- /**
58
- * Create a RustPoolHandle from a Solidly V3 PoolState.
59
- * Returns null if the native addon is not available.
60
- */
61
- function createSolidlyRustHandle(state) {
62
- if (!exports.nativeAddonAvailable)
63
- return null;
64
- try {
65
- return nativeAddon.RustPoolHandle.create(toRustInit(state));
66
- }
67
- catch {
68
- return null;
69
- }
70
- }
71
- /**
72
- * Create a RustPoolRegistry for batch parallel queries.
73
- * Returns null if the native addon is not available.
74
- */
75
- function createSolidlyRegistry() {
76
- if (!exports.nativeAddonAvailable)
77
- return null;
78
- try {
79
- return new nativeAddon.RustPoolRegistry();
80
- }
81
- catch {
82
- return null;
83
- }
84
- }
85
- /**
86
- * Register a Solidly V3 pool in the registry using Solidly-specific state mapping.
87
- */
88
- function solidlyRegistrySetPool(registry, key, state) {
89
- try {
90
- registry.setPool(key, toRustInit(state));
91
- }
92
- catch {
93
- // silently skip — pool will use JS fallback
94
- }
95
- }
96
- //# sourceMappingURL=native-bridge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-bridge.js","sourceRoot":"","sources":["../../../../src/dex/solidly-v3/contract-math/native-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,203 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- /*
37
- * Benchmark: Solidly V3 queryOutputs — JS vs Rust native addon.
38
- * Verifies correctness and measures per-pool performance.
39
- */
40
- const dotenv = __importStar(require("dotenv"));
41
- dotenv.config();
42
- const log4js_1 = require("../../../lib/log4js");
43
- const constants_1 = require("../../../constants");
44
- const dex_helper_1 = require("../../../dex-helper");
45
- const uniswap_v3_math_1 = require("../contract-math/uniswap-v3-math");
46
- const solidly_v3_1 = require("../solidly-v3");
47
- const perf_hooks_1 = require("perf_hooks");
48
- const native_bridge_1 = require("../contract-math/native-bridge");
49
- const utils_1 = require("../../../utils");
50
- const logger = (0, log4js_1.getLogger)('SolidlyV3Benchmark');
51
- const runsNumber = 1000;
52
- const network = constants_1.Network.MAINNET;
53
- const dexHelper = new dex_helper_1.DummyDexHelper(network);
54
- const dex = new solidly_v3_1.SolidlyV3(network, 'SolidlyV3', dexHelper);
55
- const side = constants_1.SwapSide.SELL;
56
- const pairs = [
57
- {
58
- name: 'USDC/WETH',
59
- src: {
60
- address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
61
- decimals: 6,
62
- },
63
- dest: {
64
- address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
65
- decimals: 18,
66
- },
67
- },
68
- {
69
- name: 'USDC/USDT',
70
- src: {
71
- address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
72
- decimals: 6,
73
- },
74
- dest: {
75
- address: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
76
- decimals: 6,
77
- },
78
- },
79
- {
80
- name: 'WBTC/WETH',
81
- src: {
82
- address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
83
- decimals: 8,
84
- },
85
- dest: {
86
- address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
87
- decimals: 18,
88
- },
89
- },
90
- ];
91
- function generateAmounts(decimals) {
92
- const unit = (0, utils_1.getBigIntPow)(decimals);
93
- const amounts = [0n];
94
- for (let i = 1; i <= 50; i++)
95
- amounts.push(unit * BigInt(i * 100));
96
- amounts.push(unit * 100000n, unit * 1000000n, unit * 10000000n);
97
- return amounts;
98
- }
99
- const sortTokens = (a, b) => [a, b].sort((x, y) => (x < y ? -1 : 1));
100
- function printStats(measures, label) {
101
- const sorted = [...measures].sort((a, b) => a - b);
102
- const avg = sorted.reduce((a, b) => a + b) / sorted.length;
103
- const p50 = sorted[Math.floor(sorted.length * 0.5)];
104
- const p95 = sorted[Math.floor(sorted.length * 0.95)];
105
- const p99 = sorted[Math.floor(sorted.length * 0.99)];
106
- const max = sorted[sorted.length - 1];
107
- logger.info(` [${label}] avg=${avg.toFixed(3)}ms | p50=${p50.toFixed(3)}ms | ` +
108
- `p95=${p95.toFixed(3)}ms | p99=${p99.toFixed(3)}ms | max=${max.toFixed(3)}ms`);
109
- }
110
- async function benchmarkPair(pair, blockNumber) {
111
- const { name, src, dest } = pair;
112
- const amounts = generateAmounts(src.decimals);
113
- const [token0] = sortTokens(src.address.toLowerCase(), dest.address.toLowerCase());
114
- const zeroForOne = token0 === src.address.toLowerCase();
115
- logger.info(`\n${'='.repeat(60)}`);
116
- logger.info(`PAIR: ${name} (${amounts.length} amounts, ${runsNumber} runs)`);
117
- logger.info(`${'='.repeat(60)}\n`);
118
- await dex.getPricesVolume(src, dest, amounts, side, blockNumber);
119
- const poolEntries = Object.entries(dex.eventPools)
120
- .filter(([key]) => {
121
- const [s0, s1] = sortTokens(src.address.toLowerCase(), dest.address.toLowerCase());
122
- return key.includes(s0) && key.includes(s1);
123
- })
124
- .filter(([, ep]) => ep != null)
125
- .map(([key, ep]) => ({
126
- key: key.split('_').pop(),
127
- pool: ep,
128
- state: ep.getState(blockNumber),
129
- }))
130
- .filter(p => p.state !== null);
131
- if (!poolEntries.length) {
132
- logger.warn(` No pools found for ${name}`);
133
- return;
134
- }
135
- logger.info(` Pools: ${poolEntries.map(p => `tickSpacing=${p.key}`).join(', ')}\n`);
136
- for (const p of poolEntries) {
137
- const ticks = Object.keys(p.state.ticks).length;
138
- logger.info(` tickSpacing=${p.key}: ${ticks} ticks, fee=${p.state.slot0.fee}, liquidity=${p.state.liquidity}`);
139
- }
140
- logger.info('');
141
- logger.info(' --- JS ---');
142
- for (const pool of poolEntries) {
143
- const measures = [];
144
- for (let i = 0; i < runsNumber; i++) {
145
- const start = perf_hooks_1.performance.now();
146
- uniswap_v3_math_1.uniswapV3Math.queryOutputs(pool.state, amounts, zeroForOne, side);
147
- measures.push(perf_hooks_1.performance.now() - start);
148
- }
149
- printStats(measures, `JS ts=${pool.key}`);
150
- }
151
- if (native_bridge_1.nativeAddonAvailable) {
152
- logger.info(' --- Rust ---');
153
- for (const pool of poolEntries) {
154
- const handle = (0, native_bridge_1.createSolidlyRustHandle)(pool.state);
155
- if (!handle) {
156
- logger.warn(` Failed to create Rust handle for ts=${pool.key}`);
157
- continue;
158
- }
159
- const measures = [];
160
- for (let i = 0; i < runsNumber; i++) {
161
- const start = perf_hooks_1.performance.now();
162
- handle.queryOutputs(amounts, zeroForOne, 0);
163
- measures.push(perf_hooks_1.performance.now() - start);
164
- }
165
- printStats(measures, `Rust ts=${pool.key}`);
166
- // Correctness
167
- const jsResult = uniswap_v3_math_1.uniswapV3Math.queryOutputs(pool.state, amounts, zeroForOne, side);
168
- const rustResult = handle.queryOutputs(amounts, zeroForOne, 0);
169
- let mismatches = 0;
170
- for (let k = 0; k < amounts.length; k++) {
171
- if (jsResult.outputs[k] !== rustResult.outputs[k]) {
172
- mismatches++;
173
- if (mismatches <= 3) {
174
- logger.error(` MISMATCH ts=${pool.key} amount[${k}]=${amounts[k]} ` +
175
- `js=${jsResult.outputs[k]} rust=${rustResult.outputs[k]}`);
176
- }
177
- }
178
- }
179
- logger.info(mismatches === 0
180
- ? ` ts=${pool.key}: all ${amounts.length} outputs match ✓`
181
- : ` ts=${pool.key}: ${mismatches}/${amounts.length} MISMATCHES`);
182
- }
183
- }
184
- else {
185
- logger.info(' Rust addon not available');
186
- }
187
- }
188
- (async function main() {
189
- logger.info(`Solidly V3 benchmark (${runsNumber} runs)\n`);
190
- const blockNumber = await dexHelper.web3Provider.eth.getBlockNumber();
191
- logger.info(`Block: ${blockNumber}`);
192
- for (const pair of pairs) {
193
- try {
194
- await benchmarkPair(pair, blockNumber);
195
- }
196
- catch (e) {
197
- logger.error(`Failed ${pair.name}:`, e);
198
- }
199
- }
200
- logger.info('\nDone.');
201
- process.exit(0);
202
- })();
203
- //# sourceMappingURL=measure-calc-time.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"measure-calc-time.js","sourceRoot":"","sources":["../../../../src/dex/solidly-v3/scripts/measure-calc-time.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { SwapSide } from '../constants';
2
- import { AdapterExchangeParam, Address, SimpleExchangeParam } from '../types';
3
- import { IDexTxBuilder } from './idex';
4
- import { IDexHelper } from '../dex-helper';
5
- import { SimpleExchange } from './simple-exchange';
6
- import { NumberAsString } from '@paraswap/core';
7
- import { AsyncOrSync } from 'ts-essentials';
8
- import { Interface } from '@ethersproject/abi';
9
- declare type TraderJoeV2RouterSellParams = [
10
- _amountIn: NumberAsString,
11
- _amountOutMin: NumberAsString,
12
- _pairBinSteps: NumberAsString[],
13
- _tokenPath: Address[],
14
- to: Address,
15
- _deadline: number
16
- ];
17
- declare type TraderJoeV2RouterBuyParams = [
18
- _amountOut: NumberAsString,
19
- _amountInMax: NumberAsString,
20
- _pairBinSteps: NumberAsString[],
21
- _tokenPath: Address[],
22
- to: Address,
23
- _deadline: string
24
- ];
25
- declare type TraderJoeV2RouterParam = TraderJoeV2RouterSellParams | TraderJoeV2RouterBuyParams;
26
- export declare type TraderJoeV2Data = {
27
- tokenIn: string;
28
- tokenOut: string;
29
- binStep: string;
30
- };
31
- export declare class TraderJoeV2 extends SimpleExchange implements IDexTxBuilder<TraderJoeV2Data, TraderJoeV2RouterParam> {
32
- static dexKeys: string[];
33
- protected routerAddress: string;
34
- exchangeRouterInterface: Interface;
35
- needWrapNative: boolean;
36
- constructor(dexHelper: IDexHelper);
37
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AdapterExchangeParam;
38
- getSimpleParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AsyncOrSync<SimpleExchangeParam>;
39
- }
40
- export {};
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TraderJoeV2 = void 0;
7
- const constants_1 = require("../constants");
8
- const simple_exchange_1 = require("./simple-exchange");
9
- const abi_1 = require("@ethersproject/abi");
10
- const TraderJoeV2Router_json_1 = __importDefault(require("../abi/TraderJoeV2Router.json"));
11
- const TRADERJOE_V2_ROUTER_ADDRESS = {
12
- [constants_1.Network.AVALANCHE]: '0xE3Ffc583dC176575eEA7FD9dF2A7c65F7E23f4C3',
13
- [constants_1.Network.ARBITRUM]: '0x7BFd7192E76D950832c77BB412aaE841049D8D9B',
14
- [constants_1.Network.BSC]: '0xb66A2704a0dabC1660941628BE987B4418f7a9E8',
15
- };
16
- var TraderJoeV2RouterFunctions;
17
- (function (TraderJoeV2RouterFunctions) {
18
- TraderJoeV2RouterFunctions["swapExactTokensForTokens"] = "swapExactTokensForTokens";
19
- TraderJoeV2RouterFunctions["swapTokensForExactTokens"] = "swapTokensForExactTokens";
20
- })(TraderJoeV2RouterFunctions || (TraderJoeV2RouterFunctions = {}));
21
- class TraderJoeV2 extends simple_exchange_1.SimpleExchange {
22
- constructor(dexHelper) {
23
- super(dexHelper, 'traderjoev2');
24
- this.needWrapNative = true;
25
- this.routerAddress =
26
- TRADERJOE_V2_ROUTER_ADDRESS[dexHelper.config.data.network];
27
- this.exchangeRouterInterface = new abi_1.Interface(TraderJoeV2Router_json_1.default);
28
- }
29
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
30
- const payload = this.abiCoder.encodeParameter({
31
- ParentStruct: {
32
- _pairBinSteps: 'uint256[]',
33
- _tokenPath: 'address[]',
34
- _deadline: 'uint256',
35
- },
36
- }, {
37
- _pairBinSteps: [data.binStep],
38
- _tokenPath: [data.tokenIn, data.tokenOut],
39
- _deadline: (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(), // FIXME: more gas efficient to pass block.timestamp in adapter
40
- });
41
- return {
42
- targetExchange: this.routerAddress,
43
- payload,
44
- networkFee: '0',
45
- };
46
- }
47
- getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
48
- const swapFunction = side === constants_1.SwapSide.SELL
49
- ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
50
- : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
51
- const swapFunctionParams = side === constants_1.SwapSide.SELL
52
- ? [
53
- srcAmount,
54
- destAmount,
55
- [data.binStep],
56
- [srcToken, destToken],
57
- this.augustusAddress,
58
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
59
- ]
60
- : [
61
- destAmount,
62
- srcAmount,
63
- [data.binStep],
64
- [srcToken, destToken],
65
- this.augustusAddress,
66
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
67
- ];
68
- const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
69
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, this.routerAddress);
70
- }
71
- }
72
- exports.TraderJoeV2 = TraderJoeV2;
73
- TraderJoeV2.dexKeys = ['traderjoev2'];
74
- //# sourceMappingURL=trader-joe-v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trader-joe-v2.js","sourceRoot":"","sources":["../../src/dex/trader-joe-v2.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAiD;AAIjD,uDAG2B;AAG3B,4CAA6D;AAC7D,2FAAiE;AAEjE,MAAM,2BAA2B,GAAmC;IAClE,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,4CAA4C;IACjE,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,4CAA4C;CAC5D,CAAC;AA8BF,IAAK,0BAGJ;AAHD,WAAK,0BAA0B;IAC7B,mFAAqD,CAAA;IACrD,mFAAqD,CAAA;AACvD,CAAC,EAHI,0BAA0B,KAA1B,0BAA0B,QAG9B;AAED,MAAa,WACX,SAAQ,gCAAc;IAQtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAHlC,mBAAc,GAAG,IAAI,CAAC;QAKpB,IAAI,CAAC,aAAa;YAChB,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7D,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,gCAAsC,CACvC,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAqB,EACrB,IAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,aAAa,EAAE,WAAW;gBAC1B,UAAU,EAAE,WAAW;gBACvB,SAAS,EAAE,SAAS;aACrB;SACF,EACD;YACE,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7B,UAAU,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;YACzC,SAAS,EAAE,IAAA,uDAAqC,GAAE,EAAE,+DAA+D;SACpH,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAqB,EACrB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAA0B,CAAC,wBAAwB;YACrD,CAAC,CAAC,0BAA0B,CAAC,wBAAwB,CAAC;QAE1D,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS;gBACT,UAAU;gBACV,CAAC,IAAI,CAAC,OAAO,CAAC;gBACd,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACrB,IAAI,CAAC,eAAe;gBACpB,IAAA,uDAAqC,GAAE;aACxC;YACH,CAAC,CAAC;gBACE,UAAU;gBACV,SAAS;gBACT,CAAC,IAAI,CAAC,OAAO,CAAC;gBACd,CAAC,QAAQ,EAAE,SAAS,CAAC;gBACrB,IAAI,CAAC,eAAe;gBACpB,IAAA,uDAAqC,GAAE;aACxC,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;;AA9FH,kCA+FC;AA3FQ,mBAAO,GAAG,CAAC,aAAa,CAAC,CAAC"}
@@ -1,19 +0,0 @@
1
- import { UniswapV2 } from './uniswap-v2';
2
- import { Network, SwapSide } from '../../constants';
3
- import { Address, DexConfigMap, Token, ExchangePrices, DexExchangeParam } from '../../types';
4
- import { IDexHelper } from '../../dex-helper/index';
5
- import { DexParams, UniswapData, UniswapV2Data } from './types';
6
- import { NumberAsString } from '@paraswap/core';
7
- export declare const DfynConfig: DexConfigMap<DexParams>;
8
- export declare class Dfyn extends UniswapV2 {
9
- protected network: Network;
10
- protected dexHelper: IDexHelper;
11
- static dexKeysWithNetwork: {
12
- key: string;
13
- networks: Network[];
14
- }[];
15
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
16
- getPoolIdentifiers(from: Token, to: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
17
- getPricesVolume(from: Token, to: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<ExchangePrices<UniswapV2Data> | null>;
18
- getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: UniswapData, side: SwapSide): DexExchangeParam;
19
- }