@fanx-protocol/smart-order-router 0.0.1

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 (438) hide show
  1. package/CHANGELOG.md +255 -0
  2. package/LICENSE +674 -0
  3. package/README.md +273 -0
  4. package/build/main/index.d.ts +3 -0
  5. package/build/main/index.js +20 -0
  6. package/build/main/providers/cache-node.d.ts +10 -0
  7. package/build/main/providers/cache-node.js +33 -0
  8. package/build/main/providers/cache.d.ts +14 -0
  9. package/build/main/providers/cache.js +3 -0
  10. package/build/main/providers/caching/route/index.d.ts +2 -0
  11. package/build/main/providers/caching/route/index.js +19 -0
  12. package/build/main/providers/caching/route/model/cache-mode.d.ts +16 -0
  13. package/build/main/providers/caching/route/model/cache-mode.js +21 -0
  14. package/build/main/providers/caching/route/model/cached-route.d.ts +29 -0
  15. package/build/main/providers/caching/route/model/cached-route.js +89 -0
  16. package/build/main/providers/caching/route/model/cached-routes.d.ts +67 -0
  17. package/build/main/providers/caching/route/model/cached-routes.js +81 -0
  18. package/build/main/providers/caching/route/model/index.d.ts +3 -0
  19. package/build/main/providers/caching/route/model/index.js +20 -0
  20. package/build/main/providers/caching/route/route-caching-provider.d.ts +88 -0
  21. package/build/main/providers/caching/route/route-caching-provider.js +72 -0
  22. package/build/main/providers/caching-gas-provider.d.ts +23 -0
  23. package/build/main/providers/caching-gas-provider.js +41 -0
  24. package/build/main/providers/caching-subgraph-provider.d.ts +33 -0
  25. package/build/main/providers/caching-subgraph-provider.js +37 -0
  26. package/build/main/providers/caching-token-list-provider.d.ts +52 -0
  27. package/build/main/providers/caching-token-list-provider.js +147 -0
  28. package/build/main/providers/caching-token-provider.d.ts +24 -0
  29. package/build/main/providers/caching-token-provider.js +108 -0
  30. package/build/main/providers/eip-1559-gas-price-provider.d.ts +31 -0
  31. package/build/main/providers/eip-1559-gas-price-provider.js +71 -0
  32. package/build/main/providers/eth-estimate-gas-provider.d.ts +19 -0
  33. package/build/main/providers/eth-estimate-gas-provider.js +94 -0
  34. package/build/main/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
  35. package/build/main/providers/eth-gas-station-info-gas-price-provider.js +36 -0
  36. package/build/main/providers/gas-price-provider.d.ts +10 -0
  37. package/build/main/providers/gas-price-provider.js +10 -0
  38. package/build/main/providers/index.d.ts +38 -0
  39. package/build/main/providers/index.js +55 -0
  40. package/build/main/providers/legacy-gas-price-provider.d.ts +7 -0
  41. package/build/main/providers/legacy-gas-price-provider.js +18 -0
  42. package/build/main/providers/multicall-provider.d.ts +83 -0
  43. package/build/main/providers/multicall-provider.js +15 -0
  44. package/build/main/providers/multicall-uniswap-provider.d.ts +37 -0
  45. package/build/main/providers/multicall-uniswap-provider.js +164 -0
  46. package/build/main/providers/on-chain-gas-price-provider.d.ts +19 -0
  47. package/build/main/providers/on-chain-gas-price-provider.js +36 -0
  48. package/build/main/providers/on-chain-quote-provider.d.ts +258 -0
  49. package/build/main/providers/on-chain-quote-provider.js +693 -0
  50. package/build/main/providers/pool-provider.d.ts +44 -0
  51. package/build/main/providers/pool-provider.js +73 -0
  52. package/build/main/providers/portion-provider.d.ts +86 -0
  53. package/build/main/providers/portion-provider.js +118 -0
  54. package/build/main/providers/provider.d.ts +38 -0
  55. package/build/main/providers/provider.js +3 -0
  56. package/build/main/providers/simulation-provider.d.ts +43 -0
  57. package/build/main/providers/simulation-provider.js +136 -0
  58. package/build/main/providers/static-gas-price-provider.d.ts +7 -0
  59. package/build/main/providers/static-gas-price-provider.js +13 -0
  60. package/build/main/providers/subgraph-provider-with-fallback.d.ts +11 -0
  61. package/build/main/providers/subgraph-provider-with-fallback.js +25 -0
  62. package/build/main/providers/subgraph-provider.d.ts +51 -0
  63. package/build/main/providers/subgraph-provider.js +120 -0
  64. package/build/main/providers/swap-router-provider.d.ts +30 -0
  65. package/build/main/providers/swap-router-provider.js +42 -0
  66. package/build/main/providers/token-fee-fetcher.d.ts +31 -0
  67. package/build/main/providers/token-fee-fetcher.js +108 -0
  68. package/build/main/providers/token-properties-provider.d.ts +31 -0
  69. package/build/main/providers/token-properties-provider.js +118 -0
  70. package/build/main/providers/token-provider.d.ts +38 -0
  71. package/build/main/providers/token-provider.js +175 -0
  72. package/build/main/providers/token-validator-provider.d.ts +42 -0
  73. package/build/main/providers/token-validator-provider.js +99 -0
  74. package/build/main/providers/uri-subgraph-provider.d.ts +20 -0
  75. package/build/main/providers/uri-subgraph-provider.js +65 -0
  76. package/build/main/providers/v2/caching-pool-provider.d.ts +33 -0
  77. package/build/main/providers/v2/caching-pool-provider.js +89 -0
  78. package/build/main/providers/v2/caching-subgraph-provider.d.ts +19 -0
  79. package/build/main/providers/v2/caching-subgraph-provider.js +24 -0
  80. package/build/main/providers/v2/pool-provider.d.ts +63 -0
  81. package/build/main/providers/v2/pool-provider.js +138 -0
  82. package/build/main/providers/v2/quote-provider.d.ts +34 -0
  83. package/build/main/providers/v2/quote-provider.js +90 -0
  84. package/build/main/providers/v2/static-subgraph-provider.d.ts +19 -0
  85. package/build/main/providers/v2/static-subgraph-provider.js +75 -0
  86. package/build/main/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
  87. package/build/main/providers/v2/subgraph-provider-with-fallback.js +23 -0
  88. package/build/main/providers/v2/subgraph-provider.d.ts +36 -0
  89. package/build/main/providers/v2/subgraph-provider.js +174 -0
  90. package/build/main/providers/v2/uri-subgraph-provider.d.ts +4 -0
  91. package/build/main/providers/v2/uri-subgraph-provider.js +8 -0
  92. package/build/main/providers/v3/caching-pool-provider.d.ts +32 -0
  93. package/build/main/providers/v3/caching-pool-provider.js +84 -0
  94. package/build/main/providers/v3/caching-subgraph-provider.d.ts +19 -0
  95. package/build/main/providers/v3/caching-subgraph-provider.js +24 -0
  96. package/build/main/providers/v3/gas-data-provider.d.ts +39 -0
  97. package/build/main/providers/v3/gas-data-provider.js +26 -0
  98. package/build/main/providers/v3/pool-provider.d.ts +77 -0
  99. package/build/main/providers/v3/pool-provider.js +108 -0
  100. package/build/main/providers/v3/static-subgraph-provider.d.ts +21 -0
  101. package/build/main/providers/v3/static-subgraph-provider.js +89 -0
  102. package/build/main/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
  103. package/build/main/providers/v3/subgraph-provider-with-fallback.js +19 -0
  104. package/build/main/providers/v3/subgraph-provider.d.ts +46 -0
  105. package/build/main/providers/v3/subgraph-provider.js +54 -0
  106. package/build/main/providers/v3/uri-subgraph-provider.d.ts +4 -0
  107. package/build/main/providers/v3/uri-subgraph-provider.js +8 -0
  108. package/build/main/routers/alpha-router/alpha-router.d.ts +347 -0
  109. package/build/main/routers/alpha-router/alpha-router.js +1219 -0
  110. package/build/main/routers/alpha-router/config.d.ts +4 -0
  111. package/build/main/routers/alpha-router/config.js +40 -0
  112. package/build/main/routers/alpha-router/entities/index.d.ts +1 -0
  113. package/build/main/routers/alpha-router/entities/index.js +18 -0
  114. package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +167 -0
  115. package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +166 -0
  116. package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +22 -0
  117. package/build/main/routers/alpha-router/functions/best-swap-route.js +534 -0
  118. package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
  119. package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.js +18 -0
  120. package/build/main/routers/alpha-router/functions/compute-all-routes.d.ts +9 -0
  121. package/build/main/routers/alpha-router/functions/compute-all-routes.js +104 -0
  122. package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +100 -0
  123. package/build/main/routers/alpha-router/functions/get-candidate-pools.js +1008 -0
  124. package/build/main/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
  125. package/build/main/routers/alpha-router/gas-models/gas-costs.js +90 -0
  126. package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +106 -0
  127. package/build/main/routers/alpha-router/gas-models/gas-model.js +68 -0
  128. package/build/main/routers/alpha-router/gas-models/index.d.ts +2 -0
  129. package/build/main/routers/alpha-router/gas-models/index.js +19 -0
  130. package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
  131. package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +161 -0
  132. package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +15 -0
  133. package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +185 -0
  134. package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
  135. package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +169 -0
  136. package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
  137. package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +41 -0
  138. package/build/main/routers/alpha-router/index.d.ts +4 -0
  139. package/build/main/routers/alpha-router/index.js +21 -0
  140. package/build/main/routers/alpha-router/quoters/base-quoter.d.ts +76 -0
  141. package/build/main/routers/alpha-router/quoters/base-quoter.js +76 -0
  142. package/build/main/routers/alpha-router/quoters/index.d.ts +5 -0
  143. package/build/main/routers/alpha-router/quoters/index.js +22 -0
  144. package/build/main/routers/alpha-router/quoters/mixed-quoter.d.ts +28 -0
  145. package/build/main/routers/alpha-router/quoters/mixed-quoter.js +154 -0
  146. package/build/main/routers/alpha-router/quoters/model/index.d.ts +1 -0
  147. package/build/main/routers/alpha-router/quoters/model/index.js +18 -0
  148. package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
  149. package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.js +3 -0
  150. package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
  151. package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.js +3 -0
  152. package/build/main/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
  153. package/build/main/routers/alpha-router/quoters/model/results/index.js +19 -0
  154. package/build/main/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
  155. package/build/main/routers/alpha-router/quoters/v2-quoter.js +140 -0
  156. package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
  157. package/build/main/routers/alpha-router/quoters/v3-quoter.js +117 -0
  158. package/build/main/routers/index.d.ts +3 -0
  159. package/build/main/routers/index.js +20 -0
  160. package/build/main/routers/router.d.ts +186 -0
  161. package/build/main/routers/router.js +55 -0
  162. package/build/main/tsconfig.tsbuildinfo +1 -0
  163. package/build/main/types/other/commons.d.ts +16 -0
  164. package/build/main/types/other/commons.js +6 -0
  165. package/build/main/types/other/factories/Erc20__factory.d.ts +45 -0
  166. package/build/main/types/other/factories/Erc20__factory.js +240 -0
  167. package/build/main/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
  168. package/build/main/types/other/factories/GasDataArbitrum__factory.js +58 -0
  169. package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
  170. package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.js +156 -0
  171. package/build/main/types/other/factories/ITokenValidator__factory.d.ts +22 -0
  172. package/build/main/types/other/factories/ITokenValidator__factory.js +78 -0
  173. package/build/main/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
  174. package/build/main/types/other/factories/MixedRouteQuoterV2__factory.js +477 -0
  175. package/build/main/types/other/factories/Permit2__factory.d.ts +87 -0
  176. package/build/main/types/other/factories/Permit2__factory.js +936 -0
  177. package/build/main/types/other/factories/SwapRouter02__factory.d.ts +67 -0
  178. package/build/main/types/other/factories/SwapRouter02__factory.js +1098 -0
  179. package/build/main/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
  180. package/build/main/types/other/factories/TokenFeeDetector__factory.js +243 -0
  181. package/build/main/types/v2/commons.d.ts +16 -0
  182. package/build/main/types/v2/commons.js +6 -0
  183. package/build/main/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
  184. package/build/main/types/v2/factories/IUniswapV2Pair__factory.js +671 -0
  185. package/build/main/types/v3/commons.d.ts +16 -0
  186. package/build/main/types/v3/commons.js +6 -0
  187. package/build/main/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
  188. package/build/main/types/v3/factories/IERC20Metadata__factory.js +242 -0
  189. package/build/main/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
  190. package/build/main/types/v3/factories/IQuoterV2__factory.js +220 -0
  191. package/build/main/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
  192. package/build/main/types/v3/factories/IUniswapV3PoolState__factory.js +266 -0
  193. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
  194. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.js +127 -0
  195. package/build/main/util/addresses.d.ts +24 -0
  196. package/build/main/util/addresses.js +76 -0
  197. package/build/main/util/amounts.d.ts +9 -0
  198. package/build/main/util/amounts.js +73 -0
  199. package/build/main/util/chains.d.ts +31 -0
  200. package/build/main/util/chains.js +97 -0
  201. package/build/main/util/gas-factory-helpers.d.ts +33 -0
  202. package/build/main/util/gas-factory-helpers.js +463 -0
  203. package/build/main/util/index.d.ts +7 -0
  204. package/build/main/util/index.js +24 -0
  205. package/build/main/util/l2FeeChains.d.ts +2 -0
  206. package/build/main/util/l2FeeChains.js +13 -0
  207. package/build/main/util/log.d.ts +3 -0
  208. package/build/main/util/log.js +97 -0
  209. package/build/main/util/methodParameters.d.ts +5 -0
  210. package/build/main/util/methodParameters.js +183 -0
  211. package/build/main/util/metric.d.ts +48 -0
  212. package/build/main/util/metric.js +59 -0
  213. package/build/main/util/onchainQuoteProviderConfigs.d.ts +42 -0
  214. package/build/main/util/onchainQuoteProviderConfigs.js +74 -0
  215. package/build/main/util/protocols.d.ts +2 -0
  216. package/build/main/util/protocols.js +20 -0
  217. package/build/main/util/routes.d.ts +11 -0
  218. package/build/main/util/routes.js +149 -0
  219. package/build/main/util/unsupported-tokens.d.ts +37 -0
  220. package/build/main/util/unsupported-tokens.js +1119 -0
  221. package/build/module/index.d.ts +3 -0
  222. package/build/module/index.js +4 -0
  223. package/build/module/providers/cache-node.d.ts +10 -0
  224. package/build/module/providers/cache-node.js +29 -0
  225. package/build/module/providers/cache.d.ts +14 -0
  226. package/build/module/providers/cache.js +2 -0
  227. package/build/module/providers/caching/route/index.d.ts +2 -0
  228. package/build/module/providers/caching/route/index.js +3 -0
  229. package/build/module/providers/caching/route/model/cache-mode.d.ts +16 -0
  230. package/build/module/providers/caching/route/model/cache-mode.js +18 -0
  231. package/build/module/providers/caching/route/model/cached-route.d.ts +29 -0
  232. package/build/module/providers/caching/route/model/cached-route.js +85 -0
  233. package/build/module/providers/caching/route/model/cached-routes.d.ts +67 -0
  234. package/build/module/providers/caching/route/model/cached-routes.js +74 -0
  235. package/build/module/providers/caching/route/model/index.d.ts +3 -0
  236. package/build/module/providers/caching/route/model/index.js +4 -0
  237. package/build/module/providers/caching/route/route-caching-provider.d.ts +88 -0
  238. package/build/module/providers/caching/route/route-caching-provider.js +68 -0
  239. package/build/module/providers/caching-gas-provider.d.ts +23 -0
  240. package/build/module/providers/caching-gas-provider.js +37 -0
  241. package/build/module/providers/caching-subgraph-provider.d.ts +33 -0
  242. package/build/module/providers/caching-subgraph-provider.js +33 -0
  243. package/build/module/providers/caching-token-list-provider.d.ts +52 -0
  244. package/build/module/providers/caching-token-list-provider.js +140 -0
  245. package/build/module/providers/caching-token-provider.d.ts +24 -0
  246. package/build/module/providers/caching-token-provider.js +101 -0
  247. package/build/module/providers/eip-1559-gas-price-provider.d.ts +31 -0
  248. package/build/module/providers/eip-1559-gas-price-provider.js +64 -0
  249. package/build/module/providers/eth-estimate-gas-provider.d.ts +19 -0
  250. package/build/module/providers/eth-estimate-gas-provider.js +102 -0
  251. package/build/module/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
  252. package/build/module/providers/eth-gas-station-info-gas-price-provider.js +29 -0
  253. package/build/module/providers/gas-price-provider.d.ts +10 -0
  254. package/build/module/providers/gas-price-provider.js +6 -0
  255. package/build/module/providers/index.d.ts +38 -0
  256. package/build/module/providers/index.js +39 -0
  257. package/build/module/providers/legacy-gas-price-provider.d.ts +7 -0
  258. package/build/module/providers/legacy-gas-price-provider.js +14 -0
  259. package/build/module/providers/multicall-provider.d.ts +83 -0
  260. package/build/module/providers/multicall-provider.js +11 -0
  261. package/build/module/providers/multicall-uniswap-provider.d.ts +37 -0
  262. package/build/module/providers/multicall-uniswap-provider.js +157 -0
  263. package/build/module/providers/on-chain-gas-price-provider.d.ts +19 -0
  264. package/build/module/providers/on-chain-gas-price-provider.js +32 -0
  265. package/build/module/providers/on-chain-quote-provider.d.ts +258 -0
  266. package/build/module/providers/on-chain-quote-provider.js +687 -0
  267. package/build/module/providers/pool-provider.d.ts +44 -0
  268. package/build/module/providers/pool-provider.js +66 -0
  269. package/build/module/providers/portion-provider.d.ts +86 -0
  270. package/build/module/providers/portion-provider.js +114 -0
  271. package/build/module/providers/provider.d.ts +38 -0
  272. package/build/module/providers/provider.js +2 -0
  273. package/build/module/providers/simulation-provider.d.ts +43 -0
  274. package/build/module/providers/simulation-provider.js +138 -0
  275. package/build/module/providers/static-gas-price-provider.d.ts +7 -0
  276. package/build/module/providers/static-gas-price-provider.js +9 -0
  277. package/build/module/providers/subgraph-provider-with-fallback.d.ts +11 -0
  278. package/build/module/providers/subgraph-provider-with-fallback.js +21 -0
  279. package/build/module/providers/subgraph-provider.d.ts +51 -0
  280. package/build/module/providers/subgraph-provider.js +113 -0
  281. package/build/module/providers/swap-router-provider.d.ts +30 -0
  282. package/build/module/providers/swap-router-provider.js +38 -0
  283. package/build/module/providers/token-fee-fetcher.d.ts +31 -0
  284. package/build/module/providers/token-fee-fetcher.js +104 -0
  285. package/build/module/providers/token-properties-provider.d.ts +31 -0
  286. package/build/module/providers/token-properties-provider.js +114 -0
  287. package/build/module/providers/token-provider.d.ts +38 -0
  288. package/build/module/providers/token-provider.js +164 -0
  289. package/build/module/providers/token-validator-provider.d.ts +42 -0
  290. package/build/module/providers/token-validator-provider.js +92 -0
  291. package/build/module/providers/uri-subgraph-provider.d.ts +20 -0
  292. package/build/module/providers/uri-subgraph-provider.js +58 -0
  293. package/build/module/providers/v2/caching-pool-provider.d.ts +33 -0
  294. package/build/module/providers/v2/caching-pool-provider.js +85 -0
  295. package/build/module/providers/v2/caching-subgraph-provider.d.ts +19 -0
  296. package/build/module/providers/v2/caching-subgraph-provider.js +20 -0
  297. package/build/module/providers/v2/pool-provider.d.ts +63 -0
  298. package/build/module/providers/v2/pool-provider.js +131 -0
  299. package/build/module/providers/v2/quote-provider.d.ts +34 -0
  300. package/build/module/providers/v2/quote-provider.js +86 -0
  301. package/build/module/providers/v2/static-subgraph-provider.d.ts +19 -0
  302. package/build/module/providers/v2/static-subgraph-provider.js +68 -0
  303. package/build/module/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
  304. package/build/module/providers/v2/subgraph-provider-with-fallback.js +19 -0
  305. package/build/module/providers/v2/subgraph-provider.d.ts +36 -0
  306. package/build/module/providers/v2/subgraph-provider.js +167 -0
  307. package/build/module/providers/v2/uri-subgraph-provider.d.ts +4 -0
  308. package/build/module/providers/v2/uri-subgraph-provider.js +4 -0
  309. package/build/module/providers/v3/caching-pool-provider.d.ts +32 -0
  310. package/build/module/providers/v3/caching-pool-provider.js +77 -0
  311. package/build/module/providers/v3/caching-subgraph-provider.d.ts +19 -0
  312. package/build/module/providers/v3/caching-subgraph-provider.js +20 -0
  313. package/build/module/providers/v3/gas-data-provider.d.ts +39 -0
  314. package/build/module/providers/v3/gas-data-provider.js +22 -0
  315. package/build/module/providers/v3/pool-provider.d.ts +77 -0
  316. package/build/module/providers/v3/pool-provider.js +101 -0
  317. package/build/module/providers/v3/static-subgraph-provider.d.ts +21 -0
  318. package/build/module/providers/v3/static-subgraph-provider.js +82 -0
  319. package/build/module/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
  320. package/build/module/providers/v3/subgraph-provider-with-fallback.js +15 -0
  321. package/build/module/providers/v3/subgraph-provider.d.ts +46 -0
  322. package/build/module/providers/v3/subgraph-provider.js +50 -0
  323. package/build/module/providers/v3/uri-subgraph-provider.d.ts +4 -0
  324. package/build/module/providers/v3/uri-subgraph-provider.js +4 -0
  325. package/build/module/routers/alpha-router/alpha-router.d.ts +347 -0
  326. package/build/module/routers/alpha-router/alpha-router.js +1229 -0
  327. package/build/module/routers/alpha-router/config.d.ts +4 -0
  328. package/build/module/routers/alpha-router/config.js +36 -0
  329. package/build/module/routers/alpha-router/entities/index.d.ts +1 -0
  330. package/build/module/routers/alpha-router/entities/index.js +2 -0
  331. package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +167 -0
  332. package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +157 -0
  333. package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +22 -0
  334. package/build/module/routers/alpha-router/functions/best-swap-route.js +526 -0
  335. package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
  336. package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.js +14 -0
  337. package/build/module/routers/alpha-router/functions/compute-all-routes.d.ts +9 -0
  338. package/build/module/routers/alpha-router/functions/compute-all-routes.js +97 -0
  339. package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +100 -0
  340. package/build/module/routers/alpha-router/functions/get-candidate-pools.js +998 -0
  341. package/build/module/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
  342. package/build/module/routers/alpha-router/gas-models/gas-costs.js +79 -0
  343. package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +106 -0
  344. package/build/module/routers/alpha-router/gas-models/gas-model.js +102 -0
  345. package/build/module/routers/alpha-router/gas-models/index.d.ts +2 -0
  346. package/build/module/routers/alpha-router/gas-models/index.js +3 -0
  347. package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
  348. package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +154 -0
  349. package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +15 -0
  350. package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +181 -0
  351. package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
  352. package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +162 -0
  353. package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
  354. package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +37 -0
  355. package/build/module/routers/alpha-router/index.d.ts +4 -0
  356. package/build/module/routers/alpha-router/index.js +5 -0
  357. package/build/module/routers/alpha-router/quoters/base-quoter.d.ts +76 -0
  358. package/build/module/routers/alpha-router/quoters/base-quoter.js +69 -0
  359. package/build/module/routers/alpha-router/quoters/index.d.ts +5 -0
  360. package/build/module/routers/alpha-router/quoters/index.js +6 -0
  361. package/build/module/routers/alpha-router/quoters/mixed-quoter.d.ts +28 -0
  362. package/build/module/routers/alpha-router/quoters/mixed-quoter.js +152 -0
  363. package/build/module/routers/alpha-router/quoters/model/index.d.ts +1 -0
  364. package/build/module/routers/alpha-router/quoters/model/index.js +2 -0
  365. package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
  366. package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.js +2 -0
  367. package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
  368. package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.js +2 -0
  369. package/build/module/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
  370. package/build/module/routers/alpha-router/quoters/model/results/index.js +3 -0
  371. package/build/module/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
  372. package/build/module/routers/alpha-router/quoters/v2-quoter.js +137 -0
  373. package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
  374. package/build/module/routers/alpha-router/quoters/v3-quoter.js +110 -0
  375. package/build/module/routers/index.d.ts +3 -0
  376. package/build/module/routers/index.js +4 -0
  377. package/build/module/routers/router.d.ts +186 -0
  378. package/build/module/routers/router.js +47 -0
  379. package/build/module/tsconfig.module.tsbuildinfo +1 -0
  380. package/build/module/types/other/commons.d.ts +16 -0
  381. package/build/module/types/other/commons.js +5 -0
  382. package/build/module/types/other/factories/Erc20__factory.d.ts +45 -0
  383. package/build/module/types/other/factories/Erc20__factory.js +236 -0
  384. package/build/module/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
  385. package/build/module/types/other/factories/GasDataArbitrum__factory.js +54 -0
  386. package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
  387. package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.js +152 -0
  388. package/build/module/types/other/factories/ITokenValidator__factory.d.ts +22 -0
  389. package/build/module/types/other/factories/ITokenValidator__factory.js +74 -0
  390. package/build/module/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
  391. package/build/module/types/other/factories/MixedRouteQuoterV2__factory.js +473 -0
  392. package/build/module/types/other/factories/Permit2__factory.d.ts +87 -0
  393. package/build/module/types/other/factories/Permit2__factory.js +932 -0
  394. package/build/module/types/other/factories/SwapRouter02__factory.d.ts +67 -0
  395. package/build/module/types/other/factories/SwapRouter02__factory.js +1094 -0
  396. package/build/module/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
  397. package/build/module/types/other/factories/TokenFeeDetector__factory.js +239 -0
  398. package/build/module/types/v2/commons.d.ts +16 -0
  399. package/build/module/types/v2/commons.js +5 -0
  400. package/build/module/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
  401. package/build/module/types/v2/factories/IUniswapV2Pair__factory.js +667 -0
  402. package/build/module/types/v3/commons.d.ts +16 -0
  403. package/build/module/types/v3/commons.js +5 -0
  404. package/build/module/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
  405. package/build/module/types/v3/factories/IERC20Metadata__factory.js +238 -0
  406. package/build/module/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
  407. package/build/module/types/v3/factories/IQuoterV2__factory.js +216 -0
  408. package/build/module/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
  409. package/build/module/types/v3/factories/IUniswapV3PoolState__factory.js +262 -0
  410. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
  411. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.js +123 -0
  412. package/build/module/util/addresses.d.ts +24 -0
  413. package/build/module/util/addresses.js +69 -0
  414. package/build/module/util/amounts.d.ts +9 -0
  415. package/build/module/util/amounts.js +62 -0
  416. package/build/module/util/chains.d.ts +31 -0
  417. package/build/module/util/chains.js +89 -0
  418. package/build/module/util/gas-factory-helpers.d.ts +33 -0
  419. package/build/module/util/gas-factory-helpers.js +446 -0
  420. package/build/module/util/index.d.ts +7 -0
  421. package/build/module/util/index.js +8 -0
  422. package/build/module/util/l2FeeChains.d.ts +2 -0
  423. package/build/module/util/l2FeeChains.js +10 -0
  424. package/build/module/util/log.d.ts +3 -0
  425. package/build/module/util/log.js +93 -0
  426. package/build/module/util/methodParameters.d.ts +5 -0
  427. package/build/module/util/methodParameters.js +181 -0
  428. package/build/module/util/metric.d.ts +48 -0
  429. package/build/module/util/metric.js +53 -0
  430. package/build/module/util/onchainQuoteProviderConfigs.d.ts +42 -0
  431. package/build/module/util/onchainQuoteProviderConfigs.js +76 -0
  432. package/build/module/util/protocols.d.ts +2 -0
  433. package/build/module/util/protocols.js +16 -0
  434. package/build/module/util/routes.d.ts +11 -0
  435. package/build/module/util/routes.js +137 -0
  436. package/build/module/util/unsupported-tokens.d.ts +37 -0
  437. package/build/module/util/unsupported-tokens.js +1116 -0
  438. package/package.json +133 -0
@@ -0,0 +1,183 @@
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.buildSwapMethodParameters = exports.buildTrade = void 0;
7
+ const router_sdk_1 = require("@fanx-protocol/router-sdk");
8
+ const sdk_core_1 = require("@fanx-protocol/sdk-core");
9
+ const universal_router_sdk_1 = require("@fanx-protocol/universal-router-sdk");
10
+ const v2_sdk_1 = require("@fanx-protocol/v2-sdk");
11
+ const v3_sdk_1 = require("@fanx-protocol/v3-sdk");
12
+ // import { Route as V4RouteRaw } from '@fanx-protocol/v4-sdk';
13
+ const lodash_1 = __importDefault(require("lodash"));
14
+ const __1 = require("..");
15
+ function buildTrade(tokenInCurrency, tokenOutCurrency, tradeType, routeAmounts) {
16
+ /// Removed partition because of new mixedRoutes
17
+ // const v4RouteAmounts = _.filter(
18
+ // routeAmounts,
19
+ // (routeAmount) => routeAmount.protocol === Protocol.V4
20
+ // );
21
+ // const v4RouteAmounts: any[] = [];
22
+ const v3RouteAmounts = lodash_1.default.filter(routeAmounts, (routeAmount) => routeAmount.protocol === router_sdk_1.Protocol.V3);
23
+ const v2RouteAmounts = lodash_1.default.filter(routeAmounts, (routeAmount) => routeAmount.protocol === router_sdk_1.Protocol.V2);
24
+ const mixedRouteAmounts = lodash_1.default.filter(routeAmounts, (routeAmount) => routeAmount.protocol === router_sdk_1.Protocol.MIXED);
25
+ // TODO: ROUTE-248 - refactor route objects for the trade object composition
26
+ // const v4Routes = _.map<
27
+ // V4RouteWithValidQuote,
28
+ // {
29
+ // routev4: V4RouteRaw<Currency, Currency>;
30
+ // inputAmount: CurrencyAmount;
31
+ // outputAmount: CurrencyAmount;
32
+ // }
33
+ // >(
34
+ // v4RouteAmounts as V4RouteWithValidQuote[],
35
+ // (routeAmount: V4RouteWithValidQuote) => {
36
+ // const { route, amount, quote } = routeAmount;
37
+ // // The route, amount and quote are all in terms of wrapped tokens.
38
+ // // When constructing the Trade object the inputAmount/outputAmount must
39
+ // // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
40
+ // if (tradeType == TradeType.EXACT_INPUT) {
41
+ // const amountCurrency = CurrencyAmount.fromFractionalAmount(
42
+ // tokenInCurrency,
43
+ // amount.numerator,
44
+ // amount.denominator
45
+ // );
46
+ // const quoteCurrency = CurrencyAmount.fromFractionalAmount(
47
+ // tokenOutCurrency,
48
+ // quote.numerator,
49
+ // quote.denominator
50
+ // );
51
+ // const routeRaw = new V4RouteRaw(
52
+ // route.pools,
53
+ // amountCurrency.currency,
54
+ // quoteCurrency.currency
55
+ // );
56
+ // return {
57
+ // routev4: routeRaw,
58
+ // inputAmount: amountCurrency,
59
+ // outputAmount: quoteCurrency,
60
+ // };
61
+ // } else {
62
+ // const quoteCurrency = CurrencyAmount.fromFractionalAmount(
63
+ // tokenInCurrency,
64
+ // quote.numerator,
65
+ // quote.denominator
66
+ // );
67
+ // const amountCurrency = CurrencyAmount.fromFractionalAmount(
68
+ // tokenOutCurrency,
69
+ // amount.numerator,
70
+ // amount.denominator
71
+ // );
72
+ // const routeCurrency = new V4RouteRaw(
73
+ // route.pools,
74
+ // quoteCurrency.currency,
75
+ // amountCurrency.currency
76
+ // );
77
+ // return {
78
+ // routev4: routeCurrency,
79
+ // inputAmount: quoteCurrency,
80
+ // outputAmount: amountCurrency,
81
+ // };
82
+ // }
83
+ // }
84
+ // );
85
+ // const v4Routes: any[] = [];
86
+ const v3Routes = lodash_1.default.map(v3RouteAmounts, (routeAmount) => {
87
+ const { route, amount, quote } = routeAmount;
88
+ // The route, amount and quote are all in terms of wrapped tokens.
89
+ // When constructing the Trade object the inputAmount/outputAmount must
90
+ // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
91
+ if (tradeType == sdk_core_1.TradeType.EXACT_INPUT) {
92
+ const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
93
+ const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
94
+ const routeRaw = new v3_sdk_1.Route(route.pools, amountCurrency.currency, quoteCurrency.currency);
95
+ return {
96
+ routev3: routeRaw,
97
+ inputAmount: amountCurrency,
98
+ outputAmount: quoteCurrency,
99
+ };
100
+ }
101
+ else {
102
+ const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
103
+ const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
104
+ const routeCurrency = new v3_sdk_1.Route(route.pools, quoteCurrency.currency, amountCurrency.currency);
105
+ return {
106
+ routev3: routeCurrency,
107
+ inputAmount: quoteCurrency,
108
+ outputAmount: amountCurrency,
109
+ };
110
+ }
111
+ });
112
+ const v2Routes = lodash_1.default.map(v2RouteAmounts, (routeAmount) => {
113
+ const { route, amount, quote } = routeAmount;
114
+ // The route, amount and quote are all in terms of wrapped tokens.
115
+ // When constructing the Trade object the inputAmount/outputAmount must
116
+ // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
117
+ if (tradeType == sdk_core_1.TradeType.EXACT_INPUT) {
118
+ const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
119
+ const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
120
+ const routeV2SDK = new v2_sdk_1.Route(route.pairs, amountCurrency.currency, quoteCurrency.currency);
121
+ return {
122
+ routev2: routeV2SDK,
123
+ inputAmount: amountCurrency,
124
+ outputAmount: quoteCurrency,
125
+ };
126
+ }
127
+ else {
128
+ const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
129
+ const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
130
+ const routeV2SDK = new v2_sdk_1.Route(route.pairs, quoteCurrency.currency, amountCurrency.currency);
131
+ return {
132
+ routev2: routeV2SDK,
133
+ inputAmount: quoteCurrency,
134
+ outputAmount: amountCurrency,
135
+ };
136
+ }
137
+ });
138
+ const mixedRoutes = lodash_1.default.map(mixedRouteAmounts, (routeAmount) => {
139
+ const { route, amount, quote } = routeAmount;
140
+ if (tradeType != sdk_core_1.TradeType.EXACT_INPUT) {
141
+ throw new Error('Mixed routes are only supported for exact input trades');
142
+ }
143
+ // The route, amount and quote are all in terms of wrapped tokens.
144
+ // When constructing the Trade object the inputAmount/outputAmount must
145
+ // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
146
+ const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
147
+ const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
148
+ const routeRaw = new router_sdk_1.MixedRouteSDK(route.pools, amountCurrency.currency, quoteCurrency.currency);
149
+ return {
150
+ mixedRoute: routeRaw,
151
+ inputAmount: amountCurrency,
152
+ outputAmount: quoteCurrency,
153
+ };
154
+ });
155
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
156
+ // @ts-ignore
157
+ const trade = new router_sdk_1.Trade({
158
+ v2Routes,
159
+ v3Routes,
160
+ // v4Routes,
161
+ mixedRoutes,
162
+ tradeType,
163
+ });
164
+ return trade;
165
+ }
166
+ exports.buildTrade = buildTrade;
167
+ function buildSwapMethodParameters(trade, swapConfig, chainId) {
168
+ if (swapConfig.type == __1.SwapType.UNIVERSAL_ROUTER) {
169
+ return Object.assign(Object.assign({}, universal_router_sdk_1.SwapRouter.swapERC20CallParameters(trade, swapConfig)), { to: (0, universal_router_sdk_1.UNIVERSAL_ROUTER_ADDRESS)(swapConfig.version, chainId) });
170
+ }
171
+ else if (swapConfig.type == __1.SwapType.SWAP_ROUTER_02) {
172
+ const { recipient, slippageTolerance, deadline, inputTokenPermit } = swapConfig;
173
+ return Object.assign(Object.assign({}, router_sdk_1.SwapRouter.swapCallParameters(trade, {
174
+ recipient,
175
+ slippageTolerance,
176
+ deadlineOrPreviousBlockhash: deadline,
177
+ inputTokenPermit,
178
+ })), { to: (0, __1.SWAP_ROUTER_02_ADDRESSES)(chainId) });
179
+ }
180
+ throw new Error(`Unsupported swap type ${swapConfig}`);
181
+ }
182
+ exports.buildSwapMethodParameters = buildSwapMethodParameters;
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kUGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL21ldGhvZFBhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBS21DO0FBQ25DLHNEQUF1RTtBQUN2RSw4RUFHNkM7QUFDN0Msa0RBQTREO0FBQzVELGtEQUE0RDtBQUM1RCwrREFBK0Q7QUFDL0Qsb0RBQXVCO0FBRXZCLDBCQVVZO0FBRVosU0FBZ0IsVUFBVSxDQUN4QixlQUF5QixFQUN6QixnQkFBMEIsRUFDMUIsU0FBcUIsRUFDckIsWUFBbUM7SUFFbkMsZ0RBQWdEO0lBQ2hELG1DQUFtQztJQUNuQyxrQkFBa0I7SUFDbEIsMERBQTBEO0lBQzFELEtBQUs7SUFDTCxvQ0FBb0M7SUFDcEMsTUFBTSxjQUFjLEdBQUcsZ0JBQUMsQ0FBQyxNQUFNLENBQzdCLFlBQVksRUFDWixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxxQkFBUSxDQUFDLEVBQUUsQ0FDdEQsQ0FBQztJQUNGLE1BQU0sY0FBYyxHQUFHLGdCQUFDLENBQUMsTUFBTSxDQUM3QixZQUFZLEVBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUsscUJBQVEsQ0FBQyxFQUFFLENBQ3RELENBQUM7SUFDRixNQUFNLGlCQUFpQixHQUFHLGdCQUFDLENBQUMsTUFBTSxDQUNoQyxZQUFZLEVBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUsscUJBQVEsQ0FBQyxLQUFLLENBQ3pELENBQUM7SUFFRiw0RUFBNEU7SUFDNUUsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixNQUFNO0lBQ04sK0NBQStDO0lBQy9DLG1DQUFtQztJQUNuQyxvQ0FBb0M7SUFDcEMsTUFBTTtJQUNOLEtBQUs7SUFDTCwrQ0FBK0M7SUFDL0MsOENBQThDO0lBQzlDLG9EQUFv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
@@ -0,0 +1,48 @@
1
+ export declare enum MetricLoggerUnit {
2
+ Seconds = "Seconds",
3
+ Microseconds = "Microseconds",
4
+ Milliseconds = "Milliseconds",
5
+ Bytes = "Bytes",
6
+ Kilobytes = "Kilobytes",
7
+ Megabytes = "Megabytes",
8
+ Gigabytes = "Gigabytes",
9
+ Terabytes = "Terabytes",
10
+ Bits = "Bits",
11
+ Kilobits = "Kilobits",
12
+ Megabits = "Megabits",
13
+ Gigabits = "Gigabits",
14
+ Terabits = "Terabits",
15
+ Percent = "Percent",
16
+ Count = "Count",
17
+ BytesPerSecond = "Bytes/Second",
18
+ KilobytesPerSecond = "Kilobytes/Second",
19
+ MegabytesPerSecond = "Megabytes/Second",
20
+ GigabytesPerSecond = "Gigabytes/Second",
21
+ TerabytesPerSecond = "Terabytes/Second",
22
+ BitsPerSecond = "Bits/Second",
23
+ KilobitsPerSecond = "Kilobits/Second",
24
+ MegabitsPerSecond = "Megabits/Second",
25
+ GigabitsPerSecond = "Gigabits/Second",
26
+ TerabitsPerSecond = "Terabits/Second",
27
+ CountPerSecond = "Count/Second",
28
+ None = "None"
29
+ }
30
+ export declare abstract class IMetric {
31
+ abstract setProperty(key: string, value: unknown): void;
32
+ abstract putDimensions(dimensions: Record<string, string>): void;
33
+ abstract putMetric(key: string, value: number, unit?: MetricLoggerUnit): void;
34
+ }
35
+ interface MetricContext {
36
+ chainId: number;
37
+ networkName: string;
38
+ }
39
+ export declare class MetricLogger extends IMetric {
40
+ private log;
41
+ constructor(context?: MetricContext);
42
+ setProperty(key: string, value: unknown): void;
43
+ putDimensions(dimensions: Record<string, string>): void;
44
+ putMetric(key: string, value: number, unit?: MetricLoggerUnit): void;
45
+ }
46
+ export declare let metric: IMetric;
47
+ export declare const setGlobalMetric: (_metric: IMetric) => void;
48
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setGlobalMetric = exports.metric = exports.MetricLogger = exports.IMetric = exports.MetricLoggerUnit = void 0;
4
+ const log_1 = require("./log");
5
+ var MetricLoggerUnit;
6
+ (function (MetricLoggerUnit) {
7
+ MetricLoggerUnit["Seconds"] = "Seconds";
8
+ MetricLoggerUnit["Microseconds"] = "Microseconds";
9
+ MetricLoggerUnit["Milliseconds"] = "Milliseconds";
10
+ MetricLoggerUnit["Bytes"] = "Bytes";
11
+ MetricLoggerUnit["Kilobytes"] = "Kilobytes";
12
+ MetricLoggerUnit["Megabytes"] = "Megabytes";
13
+ MetricLoggerUnit["Gigabytes"] = "Gigabytes";
14
+ MetricLoggerUnit["Terabytes"] = "Terabytes";
15
+ MetricLoggerUnit["Bits"] = "Bits";
16
+ MetricLoggerUnit["Kilobits"] = "Kilobits";
17
+ MetricLoggerUnit["Megabits"] = "Megabits";
18
+ MetricLoggerUnit["Gigabits"] = "Gigabits";
19
+ MetricLoggerUnit["Terabits"] = "Terabits";
20
+ MetricLoggerUnit["Percent"] = "Percent";
21
+ MetricLoggerUnit["Count"] = "Count";
22
+ MetricLoggerUnit["BytesPerSecond"] = "Bytes/Second";
23
+ MetricLoggerUnit["KilobytesPerSecond"] = "Kilobytes/Second";
24
+ MetricLoggerUnit["MegabytesPerSecond"] = "Megabytes/Second";
25
+ MetricLoggerUnit["GigabytesPerSecond"] = "Gigabytes/Second";
26
+ MetricLoggerUnit["TerabytesPerSecond"] = "Terabytes/Second";
27
+ MetricLoggerUnit["BitsPerSecond"] = "Bits/Second";
28
+ MetricLoggerUnit["KilobitsPerSecond"] = "Kilobits/Second";
29
+ MetricLoggerUnit["MegabitsPerSecond"] = "Megabits/Second";
30
+ MetricLoggerUnit["GigabitsPerSecond"] = "Gigabits/Second";
31
+ MetricLoggerUnit["TerabitsPerSecond"] = "Terabits/Second";
32
+ MetricLoggerUnit["CountPerSecond"] = "Count/Second";
33
+ MetricLoggerUnit["None"] = "None";
34
+ })(MetricLoggerUnit = exports.MetricLoggerUnit || (exports.MetricLoggerUnit = {}));
35
+ class IMetric {
36
+ }
37
+ exports.IMetric = IMetric;
38
+ class MetricLogger extends IMetric {
39
+ constructor(context) {
40
+ super();
41
+ this.log = log_1.log.child(context || {});
42
+ }
43
+ setProperty(key, value) {
44
+ this.log = this.log.child({ [key]: value });
45
+ }
46
+ putDimensions(dimensions) {
47
+ this.log = this.log.child(dimensions);
48
+ }
49
+ putMetric(key, value, unit) {
50
+ this.log.info({ key, value, unit }, `[Metric]: ${key}: ${value} | ${unit ? unit : ''}`);
51
+ }
52
+ }
53
+ exports.MetricLogger = MetricLogger;
54
+ exports.metric = new MetricLogger();
55
+ const setGlobalMetric = (_metric) => {
56
+ exports.metric = _metric;
57
+ };
58
+ exports.setGlobalMetric = setGlobalMetric;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvbWV0cmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtCQUE0QjtBQUU1QixJQUFZLGdCQTRCWDtBQTVCRCxXQUFZLGdCQUFnQjtJQUMxQix1Q0FBbUIsQ0FBQTtJQUNuQixpREFBNkIsQ0FBQTtJQUM3QixpREFBNkIsQ0FBQTtJQUM3QixtQ0FBZSxDQUFBO0lBQ2YsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsaUNBQWEsQ0FBQTtJQUNiLHlDQUFxQixDQUFBO0lBQ3JCLHlDQUFxQixDQUFBO0lBQ3JCLHlDQUFxQixDQUFBO0lBQ3JCLHlDQUFxQixDQUFBO0lBQ3JCLHVDQUFtQixDQUFBO0lBQ25CLG1DQUFlLENBQUE7SUFDZixtREFBK0IsQ0FBQTtJQUMvQiwyREFBdUMsQ0FBQTtJQUN2QywyREFBdUMsQ0FBQTtJQUN2QywyREFBdUMsQ0FBQTtJQUN2QywyREFBdUMsQ0FBQTtJQUN2QyxpREFBNkIsQ0FBQTtJQUM3Qix5REFBcUMsQ0FBQTtJQUNyQyx5REFBcUMsQ0FBQTtJQUNyQyx5REFBcUMsQ0FBQTtJQUNyQyx5REFBcUMsQ0FBQTtJQUNyQyxtREFBK0IsQ0FBQTtJQUMvQixpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQTVCVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQTRCM0I7QUFFRCxNQUFzQixPQUFPO0NBTTVCO0FBTkQsMEJBTUM7QUFPRCxNQUFhLFlBQWEsU0FBUSxPQUFPO0lBR3ZDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLFNBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQWM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWtDO1FBQ3JELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLElBQXVCO1FBQ2xFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNYLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFDcEIsYUFBYSxHQUFHLEtBQUssS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRCRCxvQ0FzQkM7QUFFVSxRQUFBLE1BQU0sR0FBWSxJQUFJLFlBQVksRUFBRSxDQUFDO0FBRXpDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO0lBQ2xELGNBQU0sR0FBRyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRlcsUUFBQSxlQUFlLG1CQUUxQiJ9
@@ -0,0 +1,42 @@
1
+ import { ChainId } from '@fanx-protocol/sdk-core';
2
+ import { BatchParams, BlockNumberConfig, FailureOverrides, QuoteRetryOptions } from '../providers';
3
+ export declare const NETWORKS_WITH_SAME_RETRY_OPTIONS: ChainId[];
4
+ export declare function constructSameRetryOptionsMap<T extends QuoteRetryOptions>(retryOptions: T, additionalNetworks?: ChainId[]): {
5
+ [chainId: number]: T;
6
+ };
7
+ export declare const DEFAULT_RETRY_OPTIONS: QuoteRetryOptions;
8
+ export declare const RETRY_OPTIONS: {
9
+ [x: number]: import("async-retry").Options;
10
+ };
11
+ export declare const NETWORKS_WITH_SAME_BATCH_PARAMS: ChainId[];
12
+ export declare function constructSameBatchParamsMap<T extends BatchParams>(batchParams: T, additionalNetworks?: ChainId[]): {
13
+ [chainId: number]: T;
14
+ };
15
+ export declare const DEFAULT_BATCH_PARAMS: BatchParams;
16
+ export declare const BATCH_PARAMS: {
17
+ [x: number]: BatchParams;
18
+ };
19
+ export declare const NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES: ChainId[];
20
+ export declare function constructSameGasErrorFailureOverridesMap<T extends FailureOverrides>(gasErrorFailureOverrides: T, additionalNetworks?: ChainId[]): {
21
+ [chainId: number]: T;
22
+ };
23
+ export declare const DEFAULT_GAS_ERROR_FAILURE_OVERRIDES: FailureOverrides;
24
+ export declare const GAS_ERROR_FAILURE_OVERRIDES: {
25
+ [x: number]: FailureOverrides;
26
+ };
27
+ export declare const NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES: ChainId[];
28
+ export declare function constructSameSuccessRateFailureOverridesMap<T extends FailureOverrides>(successRateFailureOverrides: T, additionalNetworks?: ChainId[]): {
29
+ [chainId: number]: T;
30
+ };
31
+ export declare const DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES: FailureOverrides;
32
+ export declare const SUCCESS_RATE_FAILURE_OVERRIDES: {
33
+ [x: number]: FailureOverrides;
34
+ };
35
+ export declare const NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS: ChainId[];
36
+ export declare function constructSameBlockNumberConfigsMap<T extends BlockNumberConfig>(blockNumberConfigs: T, additionalNetworks?: ChainId[]): {
37
+ [chainId: number]: T;
38
+ };
39
+ export declare const DEFAULT_BLOCK_NUMBER_CONFIGS: BlockNumberConfig;
40
+ export declare const BLOCK_NUMBER_CONFIGS: {
41
+ [x: number]: BlockNumberConfig;
42
+ };
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BLOCK_NUMBER_CONFIGS = exports.DEFAULT_BLOCK_NUMBER_CONFIGS = exports.constructSameBlockNumberConfigsMap = exports.NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = exports.SUCCESS_RATE_FAILURE_OVERRIDES = exports.DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES = exports.constructSameSuccessRateFailureOverridesMap = exports.NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES = exports.GAS_ERROR_FAILURE_OVERRIDES = exports.DEFAULT_GAS_ERROR_FAILURE_OVERRIDES = exports.constructSameGasErrorFailureOverridesMap = exports.NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES = exports.BATCH_PARAMS = exports.DEFAULT_BATCH_PARAMS = exports.constructSameBatchParamsMap = exports.NETWORKS_WITH_SAME_BATCH_PARAMS = exports.RETRY_OPTIONS = exports.DEFAULT_RETRY_OPTIONS = exports.constructSameRetryOptionsMap = exports.NETWORKS_WITH_SAME_RETRY_OPTIONS = void 0;
4
+ const sdk_core_1 = require("@fanx-protocol/sdk-core");
5
+ exports.NETWORKS_WITH_SAME_RETRY_OPTIONS = Object.values(sdk_core_1.ChainId);
6
+ function constructSameRetryOptionsMap(retryOptions, additionalNetworks = []) {
7
+ return exports.NETWORKS_WITH_SAME_RETRY_OPTIONS.concat(additionalNetworks).reduce((memo, chainId) => {
8
+ memo[chainId] = retryOptions;
9
+ return memo;
10
+ }, {});
11
+ }
12
+ exports.constructSameRetryOptionsMap = constructSameRetryOptionsMap;
13
+ exports.DEFAULT_RETRY_OPTIONS = {
14
+ retries: 2,
15
+ minTimeout: 100,
16
+ maxTimeout: 1000,
17
+ };
18
+ exports.RETRY_OPTIONS = Object.assign({}, constructSameRetryOptionsMap(exports.DEFAULT_RETRY_OPTIONS));
19
+ exports.NETWORKS_WITH_SAME_BATCH_PARAMS = Object.values(sdk_core_1.ChainId);
20
+ function constructSameBatchParamsMap(batchParams, additionalNetworks = []) {
21
+ return exports.NETWORKS_WITH_SAME_BATCH_PARAMS.concat(additionalNetworks).reduce((memo, chainId) => {
22
+ memo[chainId] = batchParams;
23
+ return memo;
24
+ }, {});
25
+ }
26
+ exports.constructSameBatchParamsMap = constructSameBatchParamsMap;
27
+ exports.DEFAULT_BATCH_PARAMS = {
28
+ multicallChunk: 210,
29
+ gasLimitPerCall: 705000,
30
+ quoteMinSuccessRate: 0.15,
31
+ };
32
+ exports.BATCH_PARAMS = Object.assign({}, constructSameBatchParamsMap(exports.DEFAULT_BATCH_PARAMS));
33
+ exports.NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES = Object.values(sdk_core_1.ChainId);
34
+ function constructSameGasErrorFailureOverridesMap(gasErrorFailureOverrides, additionalNetworks = []) {
35
+ return exports.NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
36
+ memo[chainId] = gasErrorFailureOverrides;
37
+ return memo;
38
+ }, {});
39
+ }
40
+ exports.constructSameGasErrorFailureOverridesMap = constructSameGasErrorFailureOverridesMap;
41
+ exports.DEFAULT_GAS_ERROR_FAILURE_OVERRIDES = {
42
+ gasLimitOverride: 2000000,
43
+ multicallChunk: 70,
44
+ };
45
+ exports.GAS_ERROR_FAILURE_OVERRIDES = Object.assign({}, constructSameGasErrorFailureOverridesMap(exports.DEFAULT_GAS_ERROR_FAILURE_OVERRIDES));
46
+ exports.NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES = [
47
+ // ChainId.POLYGON,
48
+ ];
49
+ function constructSameSuccessRateFailureOverridesMap(successRateFailureOverrides, additionalNetworks = []) {
50
+ return exports.NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
51
+ memo[chainId] = successRateFailureOverrides;
52
+ return memo;
53
+ }, {});
54
+ }
55
+ exports.constructSameSuccessRateFailureOverridesMap = constructSameSuccessRateFailureOverridesMap;
56
+ exports.DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES = {
57
+ gasLimitOverride: 1300000,
58
+ multicallChunk: 110,
59
+ };
60
+ exports.SUCCESS_RATE_FAILURE_OVERRIDES = Object.assign({}, constructSameSuccessRateFailureOverridesMap(exports.DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES));
61
+ exports.NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = Object.values(sdk_core_1.ChainId);
62
+ function constructSameBlockNumberConfigsMap(blockNumberConfigs, additionalNetworks = []) {
63
+ return exports.NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS.concat(additionalNetworks).reduce((memo, chainId) => {
64
+ memo[chainId] = blockNumberConfigs;
65
+ return memo;
66
+ }, {});
67
+ }
68
+ exports.constructSameBlockNumberConfigsMap = constructSameBlockNumberConfigsMap;
69
+ exports.DEFAULT_BLOCK_NUMBER_CONFIGS = {
70
+ baseBlockOffset: 0,
71
+ rollback: { enabled: false },
72
+ };
73
+ exports.BLOCK_NUMBER_CONFIGS = Object.assign({}, constructSameBlockNumberConfigsMap(exports.DEFAULT_BLOCK_NUMBER_CONFIGS));
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvb25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQVNyQyxRQUFBLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzNELGtCQUFPLENBQ0ssQ0FBQztBQUVmLFNBQWdCLDRCQUE0QixDQUMxQyxZQUFlLEVBQ2YscUJBQWdDLEVBQUU7SUFFbEMsT0FBTyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBRXRFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBVkQsb0VBVUM7QUFFWSxRQUFBLHFCQUFxQixHQUFzQjtJQUN0RCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLElBQUk7Q0FDakIsQ0FBQztBQUVXLFFBQUEsYUFBYSxxQkFDckIsNEJBQTRCLENBQUMsNkJBQXFCLENBQUMsRUFDdEQ7QUFFVyxRQUFBLCtCQUErQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzFELGtCQUFPLENBQ0ssQ0FBQztBQUVmLFNBQWdCLDJCQUEyQixDQUN6QyxXQUFjLEVBQ2QscUJBQWdDLEVBQUU7SUFFbEMsT0FBTyx1Q0FBK0IsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBRXJFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUs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
@@ -0,0 +1,2 @@
1
+ import { Protocol } from '@fanx-protocol/router-sdk';
2
+ export declare const TO_PROTOCOL: (protocol: string) => Protocol;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TO_PROTOCOL = void 0;
4
+ const router_sdk_1 = require("@fanx-protocol/router-sdk");
5
+ const TO_PROTOCOL = (protocol) => {
6
+ switch (protocol.toLowerCase()) {
7
+ // case 'v4':
8
+ // return Protocol.V4;
9
+ case 'v3':
10
+ return router_sdk_1.Protocol.V3;
11
+ case 'v2':
12
+ return router_sdk_1.Protocol.V2;
13
+ case 'mixed':
14
+ return router_sdk_1.Protocol.MIXED;
15
+ default:
16
+ throw new Error(`Unknown protocol: {id}`);
17
+ }
18
+ };
19
+ exports.TO_PROTOCOL = TO_PROTOCOL;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvdG9jb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFxRDtBQUU5QyxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWdCLEVBQVksRUFBRTtJQUN4RCxRQUFRLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM5QixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLEtBQUssSUFBSTtZQUNQLE9BQU8scUJBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckIsS0FBSyxJQUFJO1lBQ1AsT0FBTyxxQkFBUSxDQUFDLEVBQUUsQ0FBQztRQUNyQixLQUFLLE9BQU87WUFDVixPQUFPLHFCQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3hCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0tBQzdDO0FBQ0gsQ0FBQyxDQUFDO0FBYlcsUUFBQSxXQUFXLGVBYXRCIn0=
@@ -0,0 +1,11 @@
1
+ import { Currency } from '@fanx-protocol/sdk-core';
2
+ import { AlphaRouterConfig, RouteWithValidQuote } from '../routers/alpha-router';
3
+ import { SupportedRoutes } from '../routers/router';
4
+ import { TPool } from '@fanx-protocol/router-sdk/dist/utils/TPool';
5
+ import { CachedRoutes } from '../providers';
6
+ export declare const routeToTokens: (route: SupportedRoutes) => Currency[];
7
+ export declare const routeToPools: (route: SupportedRoutes) => TPool[];
8
+ export declare const poolToString: (pool: TPool) => string;
9
+ export declare const routeToString: (route: SupportedRoutes) => string;
10
+ export declare const routeAmountsToString: (routeAmounts: RouteWithValidQuote[]) => string;
11
+ export declare function shouldWipeoutCachedRoutes(cachedRoutes?: CachedRoutes, routingConfig?: AlphaRouterConfig): boolean;
@@ -0,0 +1,149 @@
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.shouldWipeoutCachedRoutes = exports.routeAmountsToString = exports.routeToString = exports.poolToString = exports.routeToPools = exports.routeToTokens = void 0;
7
+ const router_sdk_1 = require("@fanx-protocol/router-sdk");
8
+ const sdk_core_1 = require("@fanx-protocol/sdk-core");
9
+ const v2_sdk_1 = require("@fanx-protocol/v2-sdk");
10
+ const v3_sdk_1 = require("@fanx-protocol/v3-sdk");
11
+ // import { Pool as V4Pool } from '@fanx-protocol/v4-sdk';
12
+ const lodash_1 = __importDefault(require("lodash"));
13
+ const addresses_1 = require("./addresses");
14
+ const _1 = require(".");
15
+ const routeToTokens = (route) => {
16
+ switch (route.protocol) {
17
+ // case Protocol.V4:
18
+ // return route.currencyPath;
19
+ case router_sdk_1.Protocol.V3:
20
+ return route.tokenPath;
21
+ case router_sdk_1.Protocol.V2:
22
+ case router_sdk_1.Protocol.MIXED:
23
+ return route.path;
24
+ default:
25
+ throw new Error(`Unsupported route ${JSON.stringify(route)}`);
26
+ }
27
+ };
28
+ exports.routeToTokens = routeToTokens;
29
+ const routeToPools = (route) => {
30
+ switch (route.protocol) {
31
+ // case Protocol.V4:
32
+ case router_sdk_1.Protocol.V3:
33
+ case router_sdk_1.Protocol.MIXED:
34
+ return route.pools;
35
+ case router_sdk_1.Protocol.V2:
36
+ return route.pairs;
37
+ default:
38
+ throw new Error(`Unsupported route ${JSON.stringify(route)}`);
39
+ }
40
+ };
41
+ exports.routeToPools = routeToPools;
42
+ const poolToString = (pool) => {
43
+ // if (pool instanceof V4Pool) {
44
+ // return ` -- ${pool.fee / 10000}% [${V4Pool.getPoolId(
45
+ // pool.token0,
46
+ // pool.token1,
47
+ // pool.fee,
48
+ // 0,
49
+ // ADDRESS_ZERO
50
+ // )}]`;
51
+ // } else
52
+ if (pool instanceof v3_sdk_1.Pool) {
53
+ return ` -- ${pool.fee / 10000}% [${v3_sdk_1.Pool.getAddress(pool.token0, pool.token1, pool.fee, undefined, addresses_1.V3_CORE_FACTORY_ADDRESSES[pool.chainId])}]`;
54
+ }
55
+ else if (pool instanceof v2_sdk_1.Pair) {
56
+ return ` -- [${v2_sdk_1.Pair.getAddress(pool.token0, pool.token1)}]`;
57
+ }
58
+ else {
59
+ throw new Error(`Unsupported pool ${JSON.stringify(pool)}`);
60
+ }
61
+ };
62
+ exports.poolToString = poolToString;
63
+ const routeToString = (route) => {
64
+ const routeStr = [];
65
+ const tokens = (0, exports.routeToTokens)(route);
66
+ const tokenPath = lodash_1.default.map(tokens, (token) => `${token.symbol}`);
67
+ const pools = (0, exports.routeToPools)(route);
68
+ const poolFeePath = lodash_1.default.map(pools, (pool) => {
69
+ if (pool instanceof v2_sdk_1.Pair) {
70
+ return ` -- [${v2_sdk_1.Pair.getAddress(pool.token0, pool.token1)}]`;
71
+ }
72
+ else if (pool instanceof v3_sdk_1.Pool) {
73
+ return ` -- ${pool.fee / 10000}% [${v3_sdk_1.Pool.getAddress(pool.token0, pool.token1, pool.fee, undefined, addresses_1.V3_CORE_FACTORY_ADDRESSES[pool.chainId])}]`;
74
+ // } else if (pool instanceof V4Pool) {
75
+ // return ` -- ${pool.fee / 10000}% [${V4Pool.getPoolId(
76
+ // pool.token0,
77
+ // pool.token1,
78
+ // pool.fee,
79
+ // 0,
80
+ // ADDRESS_ZERO
81
+ // )}]`;
82
+ }
83
+ else {
84
+ throw new Error(`Unsupported pool ${JSON.stringify(pool)}`);
85
+ }
86
+ return `${(0, exports.poolToString)(pool)} --> `;
87
+ });
88
+ for (let i = 0; i < tokenPath.length; i++) {
89
+ routeStr.push(tokenPath[i]);
90
+ if (i < poolFeePath.length) {
91
+ routeStr.push(poolFeePath[i]);
92
+ }
93
+ }
94
+ return routeStr.join('');
95
+ };
96
+ exports.routeToString = routeToString;
97
+ const routeAmountsToString = (routeAmounts) => {
98
+ const total = lodash_1.default.reduce(routeAmounts, (total, cur) => {
99
+ return total.add(cur.amount);
100
+ }, _1.CurrencyAmount.fromRawAmount(routeAmounts[0].amount.currency, 0));
101
+ const routeStrings = lodash_1.default.map(routeAmounts, ({ protocol, route, amount }) => {
102
+ const portion = amount.divide(total);
103
+ const percent = new sdk_core_1.Percent(portion.numerator, portion.denominator);
104
+ /// @dev special case for MIXED routes we want to show user friendly V2+V3 instead
105
+ return `[${protocol == router_sdk_1.Protocol.MIXED ? 'V2 + V3' : protocol}] ${percent.toFixed(2)}% = ${(0, exports.routeToString)(route)}`;
106
+ });
107
+ return lodash_1.default.join(routeStrings, ', ');
108
+ };
109
+ exports.routeAmountsToString = routeAmountsToString;
110
+ function shouldWipeoutCachedRoutes(cachedRoutes, routingConfig) {
111
+ // In case of optimisticCachedRoutes, we don't want to wipe out the cache
112
+ // This is because the upstream client will indicate that it's a perf sensitive (likely online) request,
113
+ // such that we should still use the cached routes.
114
+ // In case of routing-api,
115
+ // when intent=quote, optimisticCachedRoutes will be true, it means it's an online quote request, and we should use the cached routes.
116
+ // when intent=caching, optimisticCachedRoutes will be false, it means it's an async routing lambda invocation for the benefit of
117
+ // non-perf-sensitive, so that we can nullify the retrieved cached routes, if certain condition meets.
118
+ if (routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.optimisticCachedRoutes) {
119
+ return false;
120
+ }
121
+ const containsExcludedProtocolPools = cachedRoutes === null || cachedRoutes === void 0 ? void 0 : cachedRoutes.routes.find((route) => {
122
+ switch (route.protocol) {
123
+ case router_sdk_1.Protocol.MIXED:
124
+ return (route.route.pools.filter((pool) => {
125
+ return poolIsInExcludedProtocols(pool, routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.excludedProtocolsFromMixed);
126
+ }).length > 0);
127
+ default:
128
+ return false;
129
+ }
130
+ });
131
+ return containsExcludedProtocolPools !== undefined;
132
+ }
133
+ exports.shouldWipeoutCachedRoutes = shouldWipeoutCachedRoutes;
134
+ function poolIsInExcludedProtocols(pool, excludedProtocolsFromMixed) {
135
+ var _a, _b;
136
+ // if (pool instanceof V4Pool) {
137
+ // return excludedProtocolsFromMixed?.includes(Protocol.V4) ?? false;
138
+ // } else
139
+ if (pool instanceof v3_sdk_1.Pool) {
140
+ return (_a = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(router_sdk_1.Protocol.V3)) !== null && _a !== void 0 ? _a : false;
141
+ }
142
+ else if (pool instanceof v2_sdk_1.Pair) {
143
+ return (_b = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(router_sdk_1.Protocol.V2)) !== null && _b !== void 0 ? _b : false;
144
+ }
145
+ else {
146
+ return false;
147
+ }
148
+ }
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFxRDtBQUNyRCxzREFBNEQ7QUFDNUQsa0RBQTZDO0FBQzdDLGtEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsb0RBQXVCO0FBUXZCLDJDQUF3RDtBQUd4RCx3QkFBbUM7QUFHNUIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFzQixFQUFjLEVBQUU7SUFDbEUsUUFBUSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ3RCLG9CQUFvQjtRQUNwQiwrQkFBK0I7UUFDL0IsS0FBSyxxQkFBUSxDQUFDLEVBQUU7WUFDZCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDekIsS0FBSyxxQkFBUSxDQUFDLEVBQUUsQ0FBQztRQUNqQixLQUFLLHFCQUFRLENBQUMsS0FBSztZQUNqQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDcEI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqRTtBQUNILENBQUMsQ0FBQztBQVpXLFFBQUEsYUFBYSxpQkFZeEI7QUFFSyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQXNCLEVBQVcsRUFBRTtJQUM5RCxRQUFRLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDdEIsb0JBQW9CO1FBQ3BCLEtBQUsscUJBQVEsQ0FBQyxFQUFFLENBQUM7UUFDakIsS0FBSyxxQkFBUSxDQUFDLEtBQUs7WUFDakIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCLEtBQUsscUJBQVEsQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxD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