@ring-protocol/smart-order-router 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. package/CHANGELOG.md +255 -0
  2. package/LICENSE +674 -0
  3. package/README.md +307 -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 +77 -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 +111 -0
  21. package/build/main/providers/caching/route/route-caching-provider.js +86 -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 +186 -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 +234 -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 +21 -0
  33. package/build/main/providers/eth-estimate-gas-provider.js +91 -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/fewV2/ring-caching-pool-provider.d.ts +33 -0
  37. package/build/main/providers/fewV2/ring-caching-pool-provider.js +89 -0
  38. package/build/main/providers/fewV2/ring-caching-subgraph-provider.d.ts +19 -0
  39. package/build/main/providers/fewV2/ring-caching-subgraph-provider.js +24 -0
  40. package/build/main/providers/fewV2/ring-pool-provider.d.ts +63 -0
  41. package/build/main/providers/fewV2/ring-pool-provider.js +148 -0
  42. package/build/main/providers/fewV2/ring-quote-provider.d.ts +34 -0
  43. package/build/main/providers/fewV2/ring-quote-provider.js +90 -0
  44. package/build/main/providers/fewV2/ring-static-subgraph-provider.d.ts +24 -0
  45. package/build/main/providers/fewV2/ring-static-subgraph-provider.js +284 -0
  46. package/build/main/providers/fewV2/ring-subgraph-provider-with-fallback.d.ts +16 -0
  47. package/build/main/providers/fewV2/ring-subgraph-provider-with-fallback.js +23 -0
  48. package/build/main/providers/fewV2/ring-subgraph-provider.d.ts +52 -0
  49. package/build/main/providers/fewV2/ring-subgraph-provider.js +183 -0
  50. package/build/main/providers/fewV2/ring-uri-subgraph-provider.d.ts +4 -0
  51. package/build/main/providers/fewV2/ring-uri-subgraph-provider.js +8 -0
  52. package/build/main/providers/gas-price-provider.d.ts +10 -0
  53. package/build/main/providers/gas-price-provider.js +10 -0
  54. package/build/main/providers/index.d.ts +56 -0
  55. package/build/main/providers/index.js +73 -0
  56. package/build/main/providers/legacy-gas-price-provider.d.ts +7 -0
  57. package/build/main/providers/legacy-gas-price-provider.js +18 -0
  58. package/build/main/providers/multicall-provider.d.ts +83 -0
  59. package/build/main/providers/multicall-provider.js +15 -0
  60. package/build/main/providers/multicall-ringswap-provider.d.ts +35 -0
  61. package/build/main/providers/multicall-ringswap-provider.js +164 -0
  62. package/build/main/providers/multicall-uniswap-provider.d.ts +37 -0
  63. package/build/main/providers/multicall-uniswap-provider.js +164 -0
  64. package/build/main/providers/on-chain-gas-price-provider.d.ts +19 -0
  65. package/build/main/providers/on-chain-gas-price-provider.js +37 -0
  66. package/build/main/providers/on-chain-quote-provider.d.ts +260 -0
  67. package/build/main/providers/on-chain-quote-provider.js +702 -0
  68. package/build/main/providers/pool-provider.d.ts +45 -0
  69. package/build/main/providers/pool-provider.js +73 -0
  70. package/build/main/providers/portion-provider.d.ts +86 -0
  71. package/build/main/providers/portion-provider.js +118 -0
  72. package/build/main/providers/provider.d.ts +38 -0
  73. package/build/main/providers/provider.js +3 -0
  74. package/build/main/providers/simulation-provider.d.ts +46 -0
  75. package/build/main/providers/simulation-provider.js +138 -0
  76. package/build/main/providers/static-gas-price-provider.d.ts +7 -0
  77. package/build/main/providers/static-gas-price-provider.js +13 -0
  78. package/build/main/providers/subgraph-provider-with-fallback.d.ts +11 -0
  79. package/build/main/providers/subgraph-provider-with-fallback.js +25 -0
  80. package/build/main/providers/subgraph-provider.d.ts +56 -0
  81. package/build/main/providers/subgraph-provider.js +287 -0
  82. package/build/main/providers/swap-router-provider.d.ts +30 -0
  83. package/build/main/providers/swap-router-provider.js +42 -0
  84. package/build/main/providers/tenderly-simulation-provider.d.ts +63 -0
  85. package/build/main/providers/tenderly-simulation-provider.js +446 -0
  86. package/build/main/providers/token-fee-fetcher.d.ts +31 -0
  87. package/build/main/providers/token-fee-fetcher.js +114 -0
  88. package/build/main/providers/token-properties-provider.d.ts +31 -0
  89. package/build/main/providers/token-properties-provider.js +118 -0
  90. package/build/main/providers/token-provider.d.ts +167 -0
  91. package/build/main/providers/token-provider.js +414 -0
  92. package/build/main/providers/token-validator-provider.d.ts +42 -0
  93. package/build/main/providers/token-validator-provider.js +99 -0
  94. package/build/main/providers/uri-subgraph-provider.d.ts +21 -0
  95. package/build/main/providers/uri-subgraph-provider.js +65 -0
  96. package/build/main/providers/v2/caching-pool-provider.d.ts +33 -0
  97. package/build/main/providers/v2/caching-pool-provider.js +89 -0
  98. package/build/main/providers/v2/caching-subgraph-provider.d.ts +19 -0
  99. package/build/main/providers/v2/caching-subgraph-provider.js +24 -0
  100. package/build/main/providers/v2/pool-provider.d.ts +63 -0
  101. package/build/main/providers/v2/pool-provider.js +148 -0
  102. package/build/main/providers/v2/quote-provider.d.ts +34 -0
  103. package/build/main/providers/v2/quote-provider.js +90 -0
  104. package/build/main/providers/v2/static-subgraph-provider.d.ts +19 -0
  105. package/build/main/providers/v2/static-subgraph-provider.js +183 -0
  106. package/build/main/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
  107. package/build/main/providers/v2/subgraph-provider-with-fallback.js +23 -0
  108. package/build/main/providers/v2/subgraph-provider.d.ts +52 -0
  109. package/build/main/providers/v2/subgraph-provider.js +334 -0
  110. package/build/main/providers/v2/uri-subgraph-provider.d.ts +4 -0
  111. package/build/main/providers/v2/uri-subgraph-provider.js +8 -0
  112. package/build/main/providers/v3/caching-pool-provider.d.ts +32 -0
  113. package/build/main/providers/v3/caching-pool-provider.js +84 -0
  114. package/build/main/providers/v3/caching-subgraph-provider.d.ts +19 -0
  115. package/build/main/providers/v3/caching-subgraph-provider.js +24 -0
  116. package/build/main/providers/v3/gas-data-provider.d.ts +39 -0
  117. package/build/main/providers/v3/gas-data-provider.js +26 -0
  118. package/build/main/providers/v3/pool-provider.d.ts +77 -0
  119. package/build/main/providers/v3/pool-provider.js +108 -0
  120. package/build/main/providers/v3/static-subgraph-provider.d.ts +21 -0
  121. package/build/main/providers/v3/static-subgraph-provider.js +229 -0
  122. package/build/main/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
  123. package/build/main/providers/v3/subgraph-provider-with-fallback.js +19 -0
  124. package/build/main/providers/v3/subgraph-provider.d.ts +45 -0
  125. package/build/main/providers/v3/subgraph-provider.js +46 -0
  126. package/build/main/providers/v3/uri-subgraph-provider.d.ts +4 -0
  127. package/build/main/providers/v3/uri-subgraph-provider.js +8 -0
  128. package/build/main/providers/v4/caching-pool-provider.d.ts +24 -0
  129. package/build/main/providers/v4/caching-pool-provider.js +81 -0
  130. package/build/main/providers/v4/caching-subgraph-provider.d.ts +19 -0
  131. package/build/main/providers/v4/caching-subgraph-provider.js +24 -0
  132. package/build/main/providers/v4/euler-swap-hooks-subgraph-provider.d.ts +25 -0
  133. package/build/main/providers/v4/euler-swap-hooks-subgraph-provider.js +160 -0
  134. package/build/main/providers/v4/pool-provider.d.ts +58 -0
  135. package/build/main/providers/v4/pool-provider.js +115 -0
  136. package/build/main/providers/v4/static-subgraph-provider.d.ts +15 -0
  137. package/build/main/providers/v4/static-subgraph-provider.js +78 -0
  138. package/build/main/providers/v4/subgraph-provider-with-fallback.d.ts +5 -0
  139. package/build/main/providers/v4/subgraph-provider-with-fallback.js +12 -0
  140. package/build/main/providers/v4/subgraph-provider.d.ts +63 -0
  141. package/build/main/providers/v4/subgraph-provider.js +63 -0
  142. package/build/main/providers/v4/uri-subgraph-provider.d.ts +4 -0
  143. package/build/main/providers/v4/uri-subgraph-provider.js +8 -0
  144. package/build/main/routers/alpha-router/alpha-router.d.ts +483 -0
  145. package/build/main/routers/alpha-router/alpha-router.js +2267 -0
  146. package/build/main/routers/alpha-router/config.d.ts +4 -0
  147. package/build/main/routers/alpha-router/config.js +129 -0
  148. package/build/main/routers/alpha-router/entities/index.d.ts +1 -0
  149. package/build/main/routers/alpha-router/entities/index.js +18 -0
  150. package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +329 -0
  151. package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +319 -0
  152. package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +25 -0
  153. package/build/main/routers/alpha-router/functions/best-swap-route.js +597 -0
  154. package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
  155. package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.js +18 -0
  156. package/build/main/routers/alpha-router/functions/compute-all-routes.d.ts +16 -0
  157. package/build/main/routers/alpha-router/functions/compute-all-routes.js +158 -0
  158. package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +192 -0
  159. package/build/main/routers/alpha-router/functions/get-candidate-pools.js +3025 -0
  160. package/build/main/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.d.ts +31 -0
  161. package/build/main/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.js +169 -0
  162. package/build/main/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
  163. package/build/main/routers/alpha-router/gas-models/gas-costs.js +200 -0
  164. package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +111 -0
  165. package/build/main/routers/alpha-router/gas-models/gas-model.js +120 -0
  166. package/build/main/routers/alpha-router/gas-models/index.d.ts +5 -0
  167. package/build/main/routers/alpha-router/gas-models/index.js +22 -0
  168. package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
  169. package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +161 -0
  170. package/build/main/routers/alpha-router/gas-models/ring-gas-model.d.ts +111 -0
  171. package/build/main/routers/alpha-router/gas-models/ring-gas-model.js +169 -0
  172. package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +21 -0
  173. package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +366 -0
  174. package/build/main/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.d.ts +26 -0
  175. package/build/main/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.js +41 -0
  176. package/build/main/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.d.ts +15 -0
  177. package/build/main/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.js +40 -0
  178. package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
  179. package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +169 -0
  180. package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
  181. package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +41 -0
  182. package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.d.ts +15 -0
  183. package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js +40 -0
  184. package/build/main/routers/alpha-router/index.d.ts +4 -0
  185. package/build/main/routers/alpha-router/index.js +21 -0
  186. package/build/main/routers/alpha-router/quoters/base-quoter.d.ts +78 -0
  187. package/build/main/routers/alpha-router/quoters/base-quoter.js +77 -0
  188. package/build/main/routers/alpha-router/quoters/few-v2-quoter.d.ts +24 -0
  189. package/build/main/routers/alpha-router/quoters/few-v2-quoter.js +141 -0
  190. package/build/main/routers/alpha-router/quoters/index.d.ts +5 -0
  191. package/build/main/routers/alpha-router/quoters/index.js +22 -0
  192. package/build/main/routers/alpha-router/quoters/mixed-quoter.d.ts +34 -0
  193. package/build/main/routers/alpha-router/quoters/mixed-quoter.js +156 -0
  194. package/build/main/routers/alpha-router/quoters/model/index.d.ts +1 -0
  195. package/build/main/routers/alpha-router/quoters/model/index.js +18 -0
  196. package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
  197. package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.js +3 -0
  198. package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
  199. package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.js +3 -0
  200. package/build/main/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
  201. package/build/main/routers/alpha-router/quoters/model/results/index.js +19 -0
  202. package/build/main/routers/alpha-router/quoters/uniswap-few-v3-quoter.d.ts +19 -0
  203. package/build/main/routers/alpha-router/quoters/uniswap-few-v3-quoter.js +118 -0
  204. package/build/main/routers/alpha-router/quoters/uniswap-few-v4-quoter.d.ts +18 -0
  205. package/build/main/routers/alpha-router/quoters/uniswap-few-v4-quoter.js +121 -0
  206. package/build/main/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
  207. package/build/main/routers/alpha-router/quoters/v2-quoter.js +141 -0
  208. package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
  209. package/build/main/routers/alpha-router/quoters/v3-quoter.js +125 -0
  210. package/build/main/routers/alpha-router/quoters/v4-quoter.d.ts +18 -0
  211. package/build/main/routers/alpha-router/quoters/v4-quoter.js +121 -0
  212. package/build/main/routers/index.d.ts +4 -0
  213. package/build/main/routers/index.js +21 -0
  214. package/build/main/routers/legacy-router/bases.d.ts +225 -0
  215. package/build/main/routers/legacy-router/bases.js +132 -0
  216. package/build/main/routers/legacy-router/index.d.ts +1 -0
  217. package/build/main/routers/legacy-router/index.js +18 -0
  218. package/build/main/routers/legacy-router/legacy-router.d.ts +41 -0
  219. package/build/main/routers/legacy-router/legacy-router.js +291 -0
  220. package/build/main/routers/router.d.ts +195 -0
  221. package/build/main/routers/router.js +68 -0
  222. package/build/main/tsconfig.tsbuildinfo +1 -0
  223. package/build/main/types/other/commons.d.ts +16 -0
  224. package/build/main/types/other/commons.js +6 -0
  225. package/build/main/types/other/factories/Erc20__factory.d.ts +45 -0
  226. package/build/main/types/other/factories/Erc20__factory.js +240 -0
  227. package/build/main/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
  228. package/build/main/types/other/factories/GasDataArbitrum__factory.js +58 -0
  229. package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
  230. package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.js +156 -0
  231. package/build/main/types/other/factories/ITokenValidator__factory.d.ts +22 -0
  232. package/build/main/types/other/factories/ITokenValidator__factory.js +78 -0
  233. package/build/main/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
  234. package/build/main/types/other/factories/MixedRouteQuoterV2__factory.js +477 -0
  235. package/build/main/types/other/factories/Permit2__factory.d.ts +87 -0
  236. package/build/main/types/other/factories/Permit2__factory.js +936 -0
  237. package/build/main/types/other/factories/StateView__factory.d.ts +32 -0
  238. package/build/main/types/other/factories/StateView__factory.js +383 -0
  239. package/build/main/types/other/factories/SwapRouter02__factory.d.ts +67 -0
  240. package/build/main/types/other/factories/SwapRouter02__factory.js +1098 -0
  241. package/build/main/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
  242. package/build/main/types/other/factories/TokenFeeDetector__factory.js +243 -0
  243. package/build/main/types/other/factories/V4Quoter__factory.d.ts +37 -0
  244. package/build/main/types/other/factories/V4Quoter__factory.js +312 -0
  245. package/build/main/types/v2/commons.d.ts +16 -0
  246. package/build/main/types/v2/commons.js +6 -0
  247. package/build/main/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
  248. package/build/main/types/v2/factories/IUniswapV2Pair__factory.js +671 -0
  249. package/build/main/types/v3/commons.d.ts +16 -0
  250. package/build/main/types/v3/commons.js +6 -0
  251. package/build/main/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
  252. package/build/main/types/v3/factories/IERC20Metadata__factory.js +242 -0
  253. package/build/main/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
  254. package/build/main/types/v3/factories/IQuoterV2__factory.js +220 -0
  255. package/build/main/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
  256. package/build/main/types/v3/factories/IUniswapV3PoolState__factory.js +266 -0
  257. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
  258. package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.js +127 -0
  259. package/build/main/util/addresses.d.ts +34 -0
  260. package/build/main/util/addresses.js +140 -0
  261. package/build/main/util/amounts.d.ts +10 -0
  262. package/build/main/util/amounts.js +94 -0
  263. package/build/main/util/callData.d.ts +1 -0
  264. package/build/main/util/callData.js +6 -0
  265. package/build/main/util/chains.d.ts +75 -0
  266. package/build/main/util/chains.js +780 -0
  267. package/build/main/util/defaultBlocksToLive.d.ts +4 -0
  268. package/build/main/util/defaultBlocksToLive.js +57 -0
  269. package/build/main/util/fewAddress.d.ts +48 -0
  270. package/build/main/util/fewAddress.js +624 -0
  271. package/build/main/util/gas-factory-helpers.d.ts +38 -0
  272. package/build/main/util/gas-factory-helpers.js +596 -0
  273. package/build/main/util/hooksOptions.d.ts +5 -0
  274. package/build/main/util/hooksOptions.js +10 -0
  275. package/build/main/util/index.d.ts +10 -0
  276. package/build/main/util/index.js +27 -0
  277. package/build/main/util/intent.d.ts +6 -0
  278. package/build/main/util/intent.js +13 -0
  279. package/build/main/util/l2FeeChains.d.ts +2 -0
  280. package/build/main/util/l2FeeChains.js +18 -0
  281. package/build/main/util/log.d.ts +3 -0
  282. package/build/main/util/log.js +97 -0
  283. package/build/main/util/methodParameters.d.ts +5 -0
  284. package/build/main/util/methodParameters.js +176 -0
  285. package/build/main/util/metric.d.ts +48 -0
  286. package/build/main/util/metric.js +59 -0
  287. package/build/main/util/mixedRouteFilterOutV4Pools.d.ts +3 -0
  288. package/build/main/util/mixedRouteFilterOutV4Pools.js +17 -0
  289. package/build/main/util/onchainQuoteProviderConfigs.d.ts +42 -0
  290. package/build/main/util/onchainQuoteProviderConfigs.js +72 -0
  291. package/build/main/util/pool.d.ts +5 -0
  292. package/build/main/util/pool.js +46 -0
  293. package/build/main/util/protocols.d.ts +2 -0
  294. package/build/main/util/protocols.js +22 -0
  295. package/build/main/util/routes.d.ts +11 -0
  296. package/build/main/util/routes.js +159 -0
  297. package/build/main/util/serializeRouteIds.d.ts +2 -0
  298. package/build/main/util/serializeRouteIds.js +12 -0
  299. package/build/main/util/simple-perf-tracker.d.ts +27 -0
  300. package/build/main/util/simple-perf-tracker.js +171 -0
  301. package/build/main/util/tenderlySimulationErrorBreakDown.d.ts +3 -0
  302. package/build/main/util/tenderlySimulationErrorBreakDown.js +33 -0
  303. package/build/main/util/unsupported-tokens.d.ts +37 -0
  304. package/build/main/util/unsupported-tokens.js +1119 -0
  305. package/build/module/index.d.ts +3 -0
  306. package/build/module/index.js +4 -0
  307. package/build/module/providers/cache-node.d.ts +10 -0
  308. package/build/module/providers/cache-node.js +29 -0
  309. package/build/module/providers/cache.d.ts +14 -0
  310. package/build/module/providers/cache.js +2 -0
  311. package/build/module/providers/caching/route/index.d.ts +2 -0
  312. package/build/module/providers/caching/route/index.js +3 -0
  313. package/build/module/providers/caching/route/model/cache-mode.d.ts +16 -0
  314. package/build/module/providers/caching/route/model/cache-mode.js +18 -0
  315. package/build/module/providers/caching/route/model/cached-route.d.ts +29 -0
  316. package/build/module/providers/caching/route/model/cached-route.js +73 -0
  317. package/build/module/providers/caching/route/model/cached-routes.d.ts +67 -0
  318. package/build/module/providers/caching/route/model/cached-routes.js +74 -0
  319. package/build/module/providers/caching/route/model/index.d.ts +3 -0
  320. package/build/module/providers/caching/route/model/index.js +4 -0
  321. package/build/module/providers/caching/route/route-caching-provider.d.ts +111 -0
  322. package/build/module/providers/caching/route/route-caching-provider.js +82 -0
  323. package/build/module/providers/caching-gas-provider.d.ts +23 -0
  324. package/build/module/providers/caching-gas-provider.js +37 -0
  325. package/build/module/providers/caching-subgraph-provider.d.ts +33 -0
  326. package/build/module/providers/caching-subgraph-provider.js +182 -0
  327. package/build/module/providers/caching-token-list-provider.d.ts +52 -0
  328. package/build/module/providers/caching-token-list-provider.js +140 -0
  329. package/build/module/providers/caching-token-provider.d.ts +24 -0
  330. package/build/module/providers/caching-token-provider.js +227 -0
  331. package/build/module/providers/eip-1559-gas-price-provider.d.ts +31 -0
  332. package/build/module/providers/eip-1559-gas-price-provider.js +64 -0
  333. package/build/module/providers/eth-estimate-gas-provider.d.ts +21 -0
  334. package/build/module/providers/eth-estimate-gas-provider.js +99 -0
  335. package/build/module/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
  336. package/build/module/providers/eth-gas-station-info-gas-price-provider.js +29 -0
  337. package/build/module/providers/fewV2/ring-caching-pool-provider.d.ts +33 -0
  338. package/build/module/providers/fewV2/ring-caching-pool-provider.js +85 -0
  339. package/build/module/providers/fewV2/ring-caching-subgraph-provider.d.ts +19 -0
  340. package/build/module/providers/fewV2/ring-caching-subgraph-provider.js +20 -0
  341. package/build/module/providers/fewV2/ring-pool-provider.d.ts +63 -0
  342. package/build/module/providers/fewV2/ring-pool-provider.js +141 -0
  343. package/build/module/providers/fewV2/ring-quote-provider.d.ts +34 -0
  344. package/build/module/providers/fewV2/ring-quote-provider.js +86 -0
  345. package/build/module/providers/fewV2/ring-static-subgraph-provider.d.ts +24 -0
  346. package/build/module/providers/fewV2/ring-static-subgraph-provider.js +319 -0
  347. package/build/module/providers/fewV2/ring-subgraph-provider-with-fallback.d.ts +16 -0
  348. package/build/module/providers/fewV2/ring-subgraph-provider-with-fallback.js +19 -0
  349. package/build/module/providers/fewV2/ring-subgraph-provider.d.ts +52 -0
  350. package/build/module/providers/fewV2/ring-subgraph-provider.js +176 -0
  351. package/build/module/providers/fewV2/ring-uri-subgraph-provider.d.ts +4 -0
  352. package/build/module/providers/fewV2/ring-uri-subgraph-provider.js +4 -0
  353. package/build/module/providers/gas-price-provider.d.ts +10 -0
  354. package/build/module/providers/gas-price-provider.js +6 -0
  355. package/build/module/providers/index.d.ts +56 -0
  356. package/build/module/providers/index.js +57 -0
  357. package/build/module/providers/legacy-gas-price-provider.d.ts +7 -0
  358. package/build/module/providers/legacy-gas-price-provider.js +14 -0
  359. package/build/module/providers/multicall-provider.d.ts +83 -0
  360. package/build/module/providers/multicall-provider.js +11 -0
  361. package/build/module/providers/multicall-ringswap-provider.d.ts +35 -0
  362. package/build/module/providers/multicall-ringswap-provider.js +157 -0
  363. package/build/module/providers/multicall-uniswap-provider.d.ts +37 -0
  364. package/build/module/providers/multicall-uniswap-provider.js +157 -0
  365. package/build/module/providers/on-chain-gas-price-provider.d.ts +19 -0
  366. package/build/module/providers/on-chain-gas-price-provider.js +33 -0
  367. package/build/module/providers/on-chain-quote-provider.d.ts +260 -0
  368. package/build/module/providers/on-chain-quote-provider.js +696 -0
  369. package/build/module/providers/pool-provider.d.ts +45 -0
  370. package/build/module/providers/pool-provider.js +66 -0
  371. package/build/module/providers/portion-provider.d.ts +86 -0
  372. package/build/module/providers/portion-provider.js +114 -0
  373. package/build/module/providers/provider.d.ts +38 -0
  374. package/build/module/providers/provider.js +2 -0
  375. package/build/module/providers/simulation-provider.d.ts +46 -0
  376. package/build/module/providers/simulation-provider.js +140 -0
  377. package/build/module/providers/static-gas-price-provider.d.ts +7 -0
  378. package/build/module/providers/static-gas-price-provider.js +9 -0
  379. package/build/module/providers/subgraph-provider-with-fallback.d.ts +11 -0
  380. package/build/module/providers/subgraph-provider-with-fallback.js +21 -0
  381. package/build/module/providers/subgraph-provider.d.ts +56 -0
  382. package/build/module/providers/subgraph-provider.js +284 -0
  383. package/build/module/providers/swap-router-provider.d.ts +30 -0
  384. package/build/module/providers/swap-router-provider.js +38 -0
  385. package/build/module/providers/tenderly-simulation-provider.d.ts +63 -0
  386. package/build/module/providers/tenderly-simulation-provider.js +444 -0
  387. package/build/module/providers/token-fee-fetcher.d.ts +31 -0
  388. package/build/module/providers/token-fee-fetcher.js +110 -0
  389. package/build/module/providers/token-properties-provider.d.ts +31 -0
  390. package/build/module/providers/token-properties-provider.js +114 -0
  391. package/build/module/providers/token-provider.d.ts +167 -0
  392. package/build/module/providers/token-provider.js +401 -0
  393. package/build/module/providers/token-validator-provider.d.ts +42 -0
  394. package/build/module/providers/token-validator-provider.js +92 -0
  395. package/build/module/providers/uri-subgraph-provider.d.ts +21 -0
  396. package/build/module/providers/uri-subgraph-provider.js +58 -0
  397. package/build/module/providers/v2/caching-pool-provider.d.ts +33 -0
  398. package/build/module/providers/v2/caching-pool-provider.js +85 -0
  399. package/build/module/providers/v2/caching-subgraph-provider.d.ts +19 -0
  400. package/build/module/providers/v2/caching-subgraph-provider.js +20 -0
  401. package/build/module/providers/v2/pool-provider.d.ts +63 -0
  402. package/build/module/providers/v2/pool-provider.js +141 -0
  403. package/build/module/providers/v2/quote-provider.d.ts +34 -0
  404. package/build/module/providers/v2/quote-provider.js +86 -0
  405. package/build/module/providers/v2/static-subgraph-provider.d.ts +19 -0
  406. package/build/module/providers/v2/static-subgraph-provider.js +178 -0
  407. package/build/module/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
  408. package/build/module/providers/v2/subgraph-provider-with-fallback.js +19 -0
  409. package/build/module/providers/v2/subgraph-provider.d.ts +52 -0
  410. package/build/module/providers/v2/subgraph-provider.js +331 -0
  411. package/build/module/providers/v2/uri-subgraph-provider.d.ts +4 -0
  412. package/build/module/providers/v2/uri-subgraph-provider.js +4 -0
  413. package/build/module/providers/v3/caching-pool-provider.d.ts +32 -0
  414. package/build/module/providers/v3/caching-pool-provider.js +77 -0
  415. package/build/module/providers/v3/caching-subgraph-provider.d.ts +19 -0
  416. package/build/module/providers/v3/caching-subgraph-provider.js +20 -0
  417. package/build/module/providers/v3/gas-data-provider.d.ts +39 -0
  418. package/build/module/providers/v3/gas-data-provider.js +22 -0
  419. package/build/module/providers/v3/pool-provider.d.ts +77 -0
  420. package/build/module/providers/v3/pool-provider.js +101 -0
  421. package/build/module/providers/v3/static-subgraph-provider.d.ts +21 -0
  422. package/build/module/providers/v3/static-subgraph-provider.js +224 -0
  423. package/build/module/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
  424. package/build/module/providers/v3/subgraph-provider-with-fallback.js +15 -0
  425. package/build/module/providers/v3/subgraph-provider.d.ts +45 -0
  426. package/build/module/providers/v3/subgraph-provider.js +42 -0
  427. package/build/module/providers/v3/uri-subgraph-provider.d.ts +4 -0
  428. package/build/module/providers/v3/uri-subgraph-provider.js +4 -0
  429. package/build/module/providers/v4/caching-pool-provider.d.ts +24 -0
  430. package/build/module/providers/v4/caching-pool-provider.js +74 -0
  431. package/build/module/providers/v4/caching-subgraph-provider.d.ts +19 -0
  432. package/build/module/providers/v4/caching-subgraph-provider.js +20 -0
  433. package/build/module/providers/v4/euler-swap-hooks-subgraph-provider.d.ts +25 -0
  434. package/build/module/providers/v4/euler-swap-hooks-subgraph-provider.js +153 -0
  435. package/build/module/providers/v4/pool-provider.d.ts +58 -0
  436. package/build/module/providers/v4/pool-provider.js +106 -0
  437. package/build/module/providers/v4/static-subgraph-provider.d.ts +15 -0
  438. package/build/module/providers/v4/static-subgraph-provider.js +71 -0
  439. package/build/module/providers/v4/subgraph-provider-with-fallback.d.ts +5 -0
  440. package/build/module/providers/v4/subgraph-provider-with-fallback.js +8 -0
  441. package/build/module/providers/v4/subgraph-provider.d.ts +63 -0
  442. package/build/module/providers/v4/subgraph-provider.js +59 -0
  443. package/build/module/providers/v4/uri-subgraph-provider.d.ts +4 -0
  444. package/build/module/providers/v4/uri-subgraph-provider.js +4 -0
  445. package/build/module/routers/alpha-router/alpha-router.d.ts +483 -0
  446. package/build/module/routers/alpha-router/alpha-router.js +2280 -0
  447. package/build/module/routers/alpha-router/config.d.ts +4 -0
  448. package/build/module/routers/alpha-router/config.js +125 -0
  449. package/build/module/routers/alpha-router/entities/index.d.ts +1 -0
  450. package/build/module/routers/alpha-router/entities/index.js +2 -0
  451. package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +329 -0
  452. package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +306 -0
  453. package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +25 -0
  454. package/build/module/routers/alpha-router/functions/best-swap-route.js +586 -0
  455. package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
  456. package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.js +14 -0
  457. package/build/module/routers/alpha-router/functions/compute-all-routes.d.ts +16 -0
  458. package/build/module/routers/alpha-router/functions/compute-all-routes.js +147 -0
  459. package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +192 -0
  460. package/build/module/routers/alpha-router/functions/get-candidate-pools.js +3010 -0
  461. package/build/module/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.d.ts +31 -0
  462. package/build/module/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.js +162 -0
  463. package/build/module/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
  464. package/build/module/routers/alpha-router/gas-models/gas-costs.js +189 -0
  465. package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +111 -0
  466. package/build/module/routers/alpha-router/gas-models/gas-model.js +114 -0
  467. package/build/module/routers/alpha-router/gas-models/index.d.ts +5 -0
  468. package/build/module/routers/alpha-router/gas-models/index.js +6 -0
  469. package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
  470. package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +154 -0
  471. package/build/module/routers/alpha-router/gas-models/ring-gas-model.d.ts +111 -0
  472. package/build/module/routers/alpha-router/gas-models/ring-gas-model.js +163 -0
  473. package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +21 -0
  474. package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +362 -0
  475. package/build/module/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.d.ts +26 -0
  476. package/build/module/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.js +37 -0
  477. package/build/module/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.d.ts +15 -0
  478. package/build/module/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.js +36 -0
  479. package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
  480. package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +162 -0
  481. package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
  482. package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +37 -0
  483. package/build/module/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.d.ts +15 -0
  484. package/build/module/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js +36 -0
  485. package/build/module/routers/alpha-router/index.d.ts +4 -0
  486. package/build/module/routers/alpha-router/index.js +5 -0
  487. package/build/module/routers/alpha-router/quoters/base-quoter.d.ts +78 -0
  488. package/build/module/routers/alpha-router/quoters/base-quoter.js +70 -0
  489. package/build/module/routers/alpha-router/quoters/few-v2-quoter.d.ts +24 -0
  490. package/build/module/routers/alpha-router/quoters/few-v2-quoter.js +138 -0
  491. package/build/module/routers/alpha-router/quoters/index.d.ts +5 -0
  492. package/build/module/routers/alpha-router/quoters/index.js +6 -0
  493. package/build/module/routers/alpha-router/quoters/mixed-quoter.d.ts +34 -0
  494. package/build/module/routers/alpha-router/quoters/mixed-quoter.js +149 -0
  495. package/build/module/routers/alpha-router/quoters/model/index.d.ts +1 -0
  496. package/build/module/routers/alpha-router/quoters/model/index.js +2 -0
  497. package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
  498. package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.js +2 -0
  499. package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
  500. package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.js +2 -0
  501. package/build/module/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
  502. package/build/module/routers/alpha-router/quoters/model/results/index.js +3 -0
  503. package/build/module/routers/alpha-router/quoters/uniswap-few-v3-quoter.d.ts +19 -0
  504. package/build/module/routers/alpha-router/quoters/uniswap-few-v3-quoter.js +111 -0
  505. package/build/module/routers/alpha-router/quoters/uniswap-few-v4-quoter.d.ts +18 -0
  506. package/build/module/routers/alpha-router/quoters/uniswap-few-v4-quoter.js +114 -0
  507. package/build/module/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
  508. package/build/module/routers/alpha-router/quoters/v2-quoter.js +138 -0
  509. package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
  510. package/build/module/routers/alpha-router/quoters/v3-quoter.js +118 -0
  511. package/build/module/routers/alpha-router/quoters/v4-quoter.d.ts +18 -0
  512. package/build/module/routers/alpha-router/quoters/v4-quoter.js +114 -0
  513. package/build/module/routers/index.d.ts +4 -0
  514. package/build/module/routers/index.js +5 -0
  515. package/build/module/routers/legacy-router/bases.d.ts +225 -0
  516. package/build/module/routers/legacy-router/bases.js +138 -0
  517. package/build/module/routers/legacy-router/index.d.ts +1 -0
  518. package/build/module/routers/legacy-router/index.js +2 -0
  519. package/build/module/routers/legacy-router/legacy-router.d.ts +41 -0
  520. package/build/module/routers/legacy-router/legacy-router.js +292 -0
  521. package/build/module/routers/router.d.ts +195 -0
  522. package/build/module/routers/router.js +58 -0
  523. package/build/module/tsconfig.module.tsbuildinfo +1 -0
  524. package/build/module/types/other/commons.d.ts +16 -0
  525. package/build/module/types/other/commons.js +5 -0
  526. package/build/module/types/other/factories/Erc20__factory.d.ts +45 -0
  527. package/build/module/types/other/factories/Erc20__factory.js +236 -0
  528. package/build/module/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
  529. package/build/module/types/other/factories/GasDataArbitrum__factory.js +54 -0
  530. package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
  531. package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.js +152 -0
  532. package/build/module/types/other/factories/ITokenValidator__factory.d.ts +22 -0
  533. package/build/module/types/other/factories/ITokenValidator__factory.js +74 -0
  534. package/build/module/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
  535. package/build/module/types/other/factories/MixedRouteQuoterV2__factory.js +473 -0
  536. package/build/module/types/other/factories/Permit2__factory.d.ts +87 -0
  537. package/build/module/types/other/factories/Permit2__factory.js +932 -0
  538. package/build/module/types/other/factories/StateView__factory.d.ts +32 -0
  539. package/build/module/types/other/factories/StateView__factory.js +379 -0
  540. package/build/module/types/other/factories/SwapRouter02__factory.d.ts +67 -0
  541. package/build/module/types/other/factories/SwapRouter02__factory.js +1094 -0
  542. package/build/module/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
  543. package/build/module/types/other/factories/TokenFeeDetector__factory.js +239 -0
  544. package/build/module/types/other/factories/V4Quoter__factory.d.ts +37 -0
  545. package/build/module/types/other/factories/V4Quoter__factory.js +308 -0
  546. package/build/module/types/v2/commons.d.ts +16 -0
  547. package/build/module/types/v2/commons.js +5 -0
  548. package/build/module/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
  549. package/build/module/types/v2/factories/IUniswapV2Pair__factory.js +667 -0
  550. package/build/module/types/v3/commons.d.ts +16 -0
  551. package/build/module/types/v3/commons.js +5 -0
  552. package/build/module/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
  553. package/build/module/types/v3/factories/IERC20Metadata__factory.js +238 -0
  554. package/build/module/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
  555. package/build/module/types/v3/factories/IQuoterV2__factory.js +216 -0
  556. package/build/module/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
  557. package/build/module/types/v3/factories/IUniswapV3PoolState__factory.js +262 -0
  558. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
  559. package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.js +123 -0
  560. package/build/module/util/addresses.d.ts +34 -0
  561. package/build/module/util/addresses.js +280 -0
  562. package/build/module/util/amounts.d.ts +10 -0
  563. package/build/module/util/amounts.js +82 -0
  564. package/build/module/util/callData.d.ts +1 -0
  565. package/build/module/util/callData.js +3 -0
  566. package/build/module/util/chains.d.ts +75 -0
  567. package/build/module/util/chains.js +772 -0
  568. package/build/module/util/defaultBlocksToLive.d.ts +4 -0
  569. package/build/module/util/defaultBlocksToLive.js +54 -0
  570. package/build/module/util/fewAddress.d.ts +48 -0
  571. package/build/module/util/fewAddress.js +627 -0
  572. package/build/module/util/gas-factory-helpers.d.ts +38 -0
  573. package/build/module/util/gas-factory-helpers.js +575 -0
  574. package/build/module/util/hooksOptions.d.ts +5 -0
  575. package/build/module/util/hooksOptions.js +7 -0
  576. package/build/module/util/index.d.ts +10 -0
  577. package/build/module/util/index.js +11 -0
  578. package/build/module/util/intent.d.ts +6 -0
  579. package/build/module/util/intent.js +10 -0
  580. package/build/module/util/l2FeeChains.d.ts +2 -0
  581. package/build/module/util/l2FeeChains.js +15 -0
  582. package/build/module/util/log.d.ts +3 -0
  583. package/build/module/util/log.js +93 -0
  584. package/build/module/util/methodParameters.d.ts +5 -0
  585. package/build/module/util/methodParameters.js +176 -0
  586. package/build/module/util/metric.d.ts +48 -0
  587. package/build/module/util/metric.js +53 -0
  588. package/build/module/util/mixedRouteFilterOutV4Pools.d.ts +3 -0
  589. package/build/module/util/mixedRouteFilterOutV4Pools.js +12 -0
  590. package/build/module/util/onchainQuoteProviderConfigs.d.ts +42 -0
  591. package/build/module/util/onchainQuoteProviderConfigs.js +74 -0
  592. package/build/module/util/pool.d.ts +5 -0
  593. package/build/module/util/pool.js +43 -0
  594. package/build/module/util/protocols.d.ts +2 -0
  595. package/build/module/util/protocols.js +18 -0
  596. package/build/module/util/routes.d.ts +11 -0
  597. package/build/module/util/routes.js +147 -0
  598. package/build/module/util/serializeRouteIds.d.ts +2 -0
  599. package/build/module/util/serializeRouteIds.js +7 -0
  600. package/build/module/util/simple-perf-tracker.d.ts +27 -0
  601. package/build/module/util/simple-perf-tracker.js +161 -0
  602. package/build/module/util/tenderlySimulationErrorBreakDown.d.ts +3 -0
  603. package/build/module/util/tenderlySimulationErrorBreakDown.js +29 -0
  604. package/build/module/util/unsupported-tokens.d.ts +37 -0
  605. package/build/module/util/unsupported-tokens.js +1116 -0
  606. package/package.json +127 -0
@@ -0,0 +1,43 @@
1
+ import { ADDRESS_ZERO } from '@ring-protocol/router-sdk';
2
+ import { ChainId } from '@ring-protocol/sdk-core';
3
+ import { Pool as V4Pool } from '@ring-protocol/v4-sdk';
4
+ import { nativeOnChain } from './chains';
5
+ const FAKE_TICK_SPACING = 0;
6
+ export const V4_ETH_WETH_FAKE_POOL = {
7
+ [ChainId.HYPER_MAINNET]: new V4Pool(nativeOnChain(ChainId.HYPER_MAINNET), nativeOnChain(ChainId.HYPER_MAINNET).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
8
+ [ChainId.MAINNET]: new V4Pool(nativeOnChain(ChainId.MAINNET), nativeOnChain(ChainId.MAINNET).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
9
+ [ChainId.GOERLI]: new V4Pool(nativeOnChain(ChainId.GOERLI), nativeOnChain(ChainId.GOERLI).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
10
+ [ChainId.SEPOLIA]: new V4Pool(nativeOnChain(ChainId.SEPOLIA), nativeOnChain(ChainId.SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
11
+ [ChainId.OPTIMISM]: new V4Pool(nativeOnChain(ChainId.OPTIMISM), nativeOnChain(ChainId.OPTIMISM).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
12
+ [ChainId.OPTIMISM_GOERLI]: new V4Pool(nativeOnChain(ChainId.OPTIMISM_GOERLI), nativeOnChain(ChainId.OPTIMISM_GOERLI).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
13
+ [ChainId.OPTIMISM_SEPOLIA]: new V4Pool(nativeOnChain(ChainId.OPTIMISM_SEPOLIA), nativeOnChain(ChainId.OPTIMISM_SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
14
+ [ChainId.ARBITRUM_ONE]: new V4Pool(nativeOnChain(ChainId.ARBITRUM_ONE), nativeOnChain(ChainId.ARBITRUM_ONE).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
15
+ [ChainId.ARBITRUM_GOERLI]: new V4Pool(nativeOnChain(ChainId.ARBITRUM_GOERLI), nativeOnChain(ChainId.ARBITRUM_GOERLI).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
16
+ [ChainId.ARBITRUM_SEPOLIA]: new V4Pool(nativeOnChain(ChainId.ARBITRUM_SEPOLIA), nativeOnChain(ChainId.ARBITRUM_SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
17
+ [ChainId.POLYGON]: new V4Pool(nativeOnChain(ChainId.POLYGON), nativeOnChain(ChainId.POLYGON).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
18
+ [ChainId.POLYGON_MUMBAI]: new V4Pool(nativeOnChain(ChainId.POLYGON_MUMBAI), nativeOnChain(ChainId.POLYGON_MUMBAI).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
19
+ [ChainId.CELO]: new V4Pool(nativeOnChain(ChainId.CELO), nativeOnChain(ChainId.CELO).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
20
+ [ChainId.CELO_ALFAJORES]: new V4Pool(nativeOnChain(ChainId.CELO_ALFAJORES), nativeOnChain(ChainId.CELO_ALFAJORES).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
21
+ [ChainId.GNOSIS]: new V4Pool(nativeOnChain(ChainId.GNOSIS), nativeOnChain(ChainId.GNOSIS).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
22
+ [ChainId.MOONBEAM]: new V4Pool(nativeOnChain(ChainId.MOONBEAM), nativeOnChain(ChainId.MOONBEAM).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
23
+ [ChainId.BNB]: new V4Pool(nativeOnChain(ChainId.BNB), nativeOnChain(ChainId.BNB).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
24
+ [ChainId.AVALANCHE]: new V4Pool(nativeOnChain(ChainId.AVALANCHE), nativeOnChain(ChainId.AVALANCHE).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
25
+ [ChainId.BASE_GOERLI]: new V4Pool(nativeOnChain(ChainId.BASE_GOERLI), nativeOnChain(ChainId.BASE_GOERLI).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
26
+ [ChainId.BASE_SEPOLIA]: new V4Pool(nativeOnChain(ChainId.BASE_SEPOLIA), nativeOnChain(ChainId.BASE_SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
27
+ [ChainId.BASE]: new V4Pool(nativeOnChain(ChainId.BASE), nativeOnChain(ChainId.BASE).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
28
+ [ChainId.ZORA]: new V4Pool(nativeOnChain(ChainId.ZORA), nativeOnChain(ChainId.ZORA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
29
+ [ChainId.ZORA_SEPOLIA]: new V4Pool(nativeOnChain(ChainId.ZORA_SEPOLIA), nativeOnChain(ChainId.ZORA_SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
30
+ [ChainId.ROOTSTOCK]: new V4Pool(nativeOnChain(ChainId.ROOTSTOCK), nativeOnChain(ChainId.ROOTSTOCK).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
31
+ [ChainId.BLAST]: new V4Pool(nativeOnChain(ChainId.BLAST), nativeOnChain(ChainId.BLAST).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
32
+ [ChainId.ZKSYNC]: new V4Pool(nativeOnChain(ChainId.ZKSYNC), nativeOnChain(ChainId.ZKSYNC).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
33
+ [ChainId.WORLDCHAIN]: new V4Pool(nativeOnChain(ChainId.WORLDCHAIN), nativeOnChain(ChainId.WORLDCHAIN).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
34
+ [ChainId.UNICHAIN_SEPOLIA]: new V4Pool(nativeOnChain(ChainId.UNICHAIN_SEPOLIA), nativeOnChain(ChainId.UNICHAIN_SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
35
+ [ChainId.UNICHAIN]: new V4Pool(nativeOnChain(ChainId.UNICHAIN), nativeOnChain(ChainId.UNICHAIN).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
36
+ [ChainId.MONAD_TESTNET]: new V4Pool(nativeOnChain(ChainId.MONAD_TESTNET), nativeOnChain(ChainId.MONAD_TESTNET).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
37
+ [ChainId.BLAST_SEPOLIA]: new V4Pool(nativeOnChain(ChainId.BLAST_SEPOLIA), nativeOnChain(ChainId.BLAST_SEPOLIA).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
38
+ [ChainId.STORY_MAINNET]: new V4Pool(nativeOnChain(ChainId.STORY_MAINNET), nativeOnChain(ChainId.STORY_MAINNET).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
39
+ [ChainId.STORY_ODYSSEY]: new V4Pool(nativeOnChain(ChainId.STORY_ODYSSEY), nativeOnChain(ChainId.STORY_ODYSSEY).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
40
+ [ChainId.MONAD]: new V4Pool(nativeOnChain(ChainId.MONAD), nativeOnChain(ChainId.MONAD).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
41
+ [ChainId.SONEIUM]: new V4Pool(nativeOnChain(ChainId.SONEIUM), nativeOnChain(ChainId.SONEIUM).wrapped, 0, FAKE_TICK_SPACING, ADDRESS_ZERO, 79228162514264337593543950336, 0, 0),
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXFDO0lBQ3JFLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksTUFBTSxDQUNqQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUNwQyxhQUFhLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFDNUMsQ0FBQyxFQUNELGlCQUFpQixFQUNqQixZQUFZLEVBQ1osNkJBQTZCLEVBQzdCLENBQUMsRUFDRCxDQUFDLENBQ0Y7SUFDRCxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FDM0IsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFDOUIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQ3RDLENBQUMsRUFDRCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLDZCQUE2QixFQUM3QixDQUFDLEVBQ0QsQ0FBQyxDQUNGO0lBQ0QsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQzFCLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQzdCLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUNyQyxDQUFDLEVBQ0QsaUJB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
@@ -0,0 +1,2 @@
1
+ import { Protocol } from '@ring-protocol/router-sdk';
2
+ export declare const TO_PROTOCOL: (protocol: string) => Protocol;
@@ -0,0 +1,18 @@
1
+ import { Protocol } from '@ring-protocol/router-sdk';
2
+ export const TO_PROTOCOL = (protocol) => {
3
+ switch (protocol.toLowerCase()) {
4
+ case 'v4':
5
+ return Protocol.V4;
6
+ case 'v3':
7
+ return Protocol.V3;
8
+ case 'v2':
9
+ return Protocol.V2;
10
+ case 'fewv2':
11
+ return Protocol.FEWV2;
12
+ case 'mixed':
13
+ return Protocol.MIXED;
14
+ default:
15
+ throw new Error(`Unknown protocol: {id}`);
16
+ }
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvdG9jb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFZLEVBQUU7SUFDeEQsUUFBUSxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDOUIsS0FBSyxJQUFJO1lBQ1AsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JCLEtBQUssSUFBSTtZQUNQLE9BQU8sUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNyQixLQUFLLElBQUk7WUFDUCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckIsS0FBSyxPQUFPO1lBQ1YsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3hCLEtBQUssT0FBTztZQUNWLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztRQUN4QjtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUM3QztBQUNILENBQUMsQ0FBQyJ9
@@ -0,0 +1,11 @@
1
+ import { TPool } from '@ring-protocol/router-sdk';
2
+ import { Currency } from '@ring-protocol/sdk-core';
3
+ import { CachedRoutes } from '../providers';
4
+ import { AlphaRouterConfig, RouteWithValidQuote } from '../routers/alpha-router';
5
+ import { SupportedRoutes } from '../routers/router';
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,147 @@
1
+ import { Protocol } from '@ring-protocol/router-sdk';
2
+ import { Percent } from '@ring-protocol/sdk-core';
3
+ import { Pair } from '@ring-protocol/v2-sdk';
4
+ import { Pool as V3Pool } from '@ring-protocol/v3-sdk';
5
+ import { Pool as V4Pool } from '@ring-protocol/v4-sdk';
6
+ import { Pair as RingV2Pair } from '@ring-protocol/few-v2-sdk';
7
+ import _ from 'lodash';
8
+ import { addFn } from '../routers/alpha-router/functions/best-swap-route';
9
+ import { V3_CORE_FACTORY_ADDRESSES } from './addresses';
10
+ import { CurrencyAmount, V4_ETH_WETH_FAKE_POOL } from '.';
11
+ export const routeToTokens = (route) => {
12
+ switch (route.protocol) {
13
+ case Protocol.V4:
14
+ return route.currencyPath;
15
+ case Protocol.V3:
16
+ return route.tokenPath;
17
+ case Protocol.V2:
18
+ case Protocol.FEWV2:
19
+ case Protocol.MIXED:
20
+ return route.path;
21
+ default:
22
+ throw new Error(`Unsupported route ${JSON.stringify(route)}`);
23
+ }
24
+ };
25
+ export const routeToPools = (route) => {
26
+ switch (route.protocol) {
27
+ case Protocol.V4:
28
+ case Protocol.V3:
29
+ case Protocol.MIXED:
30
+ return route.pools;
31
+ case Protocol.V2:
32
+ return route.pairs;
33
+ case Protocol.FEWV2:
34
+ return route.pairs;
35
+ default:
36
+ throw new Error(`Unsupported route ${JSON.stringify(route)}`);
37
+ }
38
+ };
39
+ export const poolToString = (pool) => {
40
+ if (pool instanceof V4Pool) {
41
+ return ` -- ${pool.fee / 10000}% [${V4Pool.getPoolId(pool.token0, pool.token1, pool.fee, pool.tickSpacing, pool.hooks)}]`;
42
+ }
43
+ else if (pool instanceof V3Pool) {
44
+ return ` -- ${pool.fee / 10000}% [${V3Pool.getAddress(pool.token0, pool.token1, pool.fee, undefined, V3_CORE_FACTORY_ADDRESSES[pool.chainId])}]`;
45
+ }
46
+ else if (pool instanceof Pair) {
47
+ return ` -- [${Pair.getAddress(pool.token0, pool.token1)}]`;
48
+ }
49
+ else if (pool instanceof RingV2Pair) {
50
+ return ` -- [${RingV2Pair.getAddress(pool.token0, pool.token1)}]`;
51
+ }
52
+ else {
53
+ throw new Error(`Unsupported pool ${JSON.stringify(pool)}`);
54
+ }
55
+ };
56
+ export const routeToString = (route) => {
57
+ const routeStr = [];
58
+ const tokens = routeToTokens(route);
59
+ const tokenPath = _.map(tokens, (token) => `${token.symbol}`);
60
+ const pools = routeToPools(route);
61
+ const poolFeePath = _.map(pools, (pool) => {
62
+ if (pool instanceof Pair) {
63
+ return ` -- [${Pair.getAddress(pool.token0, pool.token1)}]`;
64
+ }
65
+ else if (pool instanceof RingV2Pair) {
66
+ return ` -- [${RingV2Pair.getAddress(pool.token0, pool.token1)}]`;
67
+ }
68
+ else if (pool instanceof V3Pool) {
69
+ return ` -- ${pool.fee / 10000}% [${V3Pool.getAddress(pool.token0, pool.token1, pool.fee, undefined, V3_CORE_FACTORY_ADDRESSES[pool.chainId])}]`;
70
+ }
71
+ else if (pool instanceof V4Pool) {
72
+ // Special case in the case of ETH/WETH fake pool
73
+ // where we do not want to return the fake pool in the route string as it is not a real pool
74
+ if (pool.tickSpacing ===
75
+ V4_ETH_WETH_FAKE_POOL[pool.chainId].tickSpacing) {
76
+ return ' -- ';
77
+ }
78
+ return ` -- ${pool.fee / 10000}% [${V4Pool.getPoolId(pool.token0, pool.token1, pool.fee, pool.tickSpacing, pool.hooks)}]`;
79
+ }
80
+ else {
81
+ throw new Error(`Unsupported pool ${JSON.stringify(pool)}`);
82
+ }
83
+ return `${poolToString(pool)} --> `;
84
+ });
85
+ for (let i = 0; i < tokenPath.length; i++) {
86
+ routeStr.push(tokenPath[i]);
87
+ if (i < poolFeePath.length) {
88
+ routeStr.push(poolFeePath[i]);
89
+ }
90
+ }
91
+ return routeStr.join('');
92
+ };
93
+ export const routeAmountsToString = (routeAmounts) => {
94
+ const total = _.reduce(routeAmounts, (total, cur) => {
95
+ return addFn(total, cur.amount);
96
+ }, CurrencyAmount.fromRawAmount(routeAmounts[0].amount.currency, 0));
97
+ const routeStrings = _.map(routeAmounts, ({ protocol, route, amount }) => {
98
+ const portion = amount.divide(total);
99
+ const percent = new Percent(portion.numerator, portion.denominator);
100
+ /// @dev special case for MIXED routes we want to show user friendly V2+V3 instead
101
+ return `[${protocol == Protocol.MIXED ? 'V2 + V3 + V4' : protocol}] ${percent.toFixed(2)}% = ${routeToString(route)}`;
102
+ });
103
+ return _.join(routeStrings, ', ');
104
+ };
105
+ export function shouldWipeoutCachedRoutes(cachedRoutes, routingConfig) {
106
+ // We want to roll out the mixed route with UR v1_2 with percent control,
107
+ // along with the cached routes so that we can test the performance of the mixed route with UR v1_2ss
108
+ if ((routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.enableMixedRouteWithUR1_2) &&
109
+ (
110
+ // In case of optimisticCachedRoutes, we don't want to wipe out the cache
111
+ // This is because the upstream client will indicate that it's a perf sensitive (likely online) request,
112
+ // such that we should still use the cached routes.
113
+ // In case of routing-api,
114
+ // when intent=quote, optimisticCachedRoutes will be true, it means it's an online quote request, and we should use the cached routes.
115
+ // when intent=caching, optimisticCachedRoutes will be false, it means it's an async routing lambda invocation for the benefit of
116
+ // non-perf-sensitive, so that we can nullify the retrieved cached routes, if certain condition meets.
117
+ routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.optimisticCachedRoutes)) {
118
+ return false;
119
+ }
120
+ const containsExcludedProtocolPools = cachedRoutes === null || cachedRoutes === void 0 ? void 0 : cachedRoutes.routes.find((route) => {
121
+ switch (route.protocol) {
122
+ case Protocol.MIXED:
123
+ return (route.route.pools.filter((pool) => {
124
+ return poolIsInExcludedProtocols(pool, routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.excludedProtocolsFromMixed);
125
+ }).length > 0);
126
+ default:
127
+ return false;
128
+ }
129
+ });
130
+ return containsExcludedProtocolPools !== undefined;
131
+ }
132
+ function poolIsInExcludedProtocols(pool, excludedProtocolsFromMixed) {
133
+ var _a, _b, _c;
134
+ if (pool instanceof V4Pool) {
135
+ return (_a = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(Protocol.V4)) !== null && _a !== void 0 ? _a : false;
136
+ }
137
+ else if (pool instanceof V3Pool) {
138
+ return (_b = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(Protocol.V3)) !== null && _b !== void 0 ? _b : false;
139
+ }
140
+ else if (pool instanceof Pair) {
141
+ return (_c = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(Protocol.V2)) !== null && _c !== void 0 ? _c : false;
142
+ }
143
+ else {
144
+ return false;
145
+ }
146
+ }
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxPQUFPLEVBQXFCLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLElBQUksTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksSUFBSSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFPdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sR0FBRyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQXNCLEVBQWMsRUFBRTtJQUNsRSxRQUFRLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDdEIsS0FBSyxRQUFRLENBQUMsRUFBRTtZQUNkLE9BQU8sS0FBSyxDQUFDLFlBQVksQ0FBQztRQUM1QixLQUFLLFFBQVEsQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3pCLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNqQixLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDcEIsS0FBSyxRQUFRLENBQUMsS0FBSztZQUNqQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDcEI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqRTtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQXNCLEVBQVcsRUFBRTtJQUM5RCxRQUFRLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDdEIsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2pCLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNqQixLQUFLLFFBQVEsQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNyQixLQUFLLFFBQVEsQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCLEtBQUssUUFBUSxDQUFDLEtBQUs7WUFDakIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDakU7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFXLEVBQVUsRUFBRTtJQUNsRCxJQUFJLElBQUksWUFBWSxNQUFNLEVBQUU7UUFDMUIsT0FBTyxPQUFPLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxNQUFNLE1BQU0sQ0FBQyxTQUFTLENBQ2xELElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsR0FBRyxFQUNSLElBQUksQ0FBQyxXQUFXLEVBQ2hCLElBQUksQ0FBQyxLQUFLLENBQ1gsR0FBRyxDQUFDO0tBQ047U0FBTSxJQUFJLElBQUksWUFBWSxNQUFNLEVBQUU7UUFDakMsT0FBTyxPQUFPLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxNQUFNLE1BQU0sQ0FBQyxVQUFVLENBQ25ELElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsR0FBRyxFQUNSLFNBQVMsRUFDVCx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQ3hDLEdBQUcsQ0FBQztLQUNOO1NBQU0sSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFO1FBQy9CLE9BQU8sUUFBUSxJQUFJLENBQUMsVUFBVSxDQUMzQixJQUFhLENBQUMsTUFBTSxFQUNwQixJQUFhLENBQUMsTUFBTSxDQUN0QixHQUFHLENBQUM7S0FDTjtTQUFNLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTtRQUNyQyxPQUFPLFFBQVEsVUFBVSxDQUFDLFVBQVUsQ0FDakMsSUFBbUIsQ0FBQyxNQUFNLEVBQzFCLElBQW1CLENBQUMsTUFBTSxDQUM1QixHQUFHLENBQUM7S0FDTjtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDN0Q7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFzQixFQUFVLEVBQUU7SUFDOUQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN4QyxJQUFJLElBQUksWUFBWSxJQUFJLEVBQUU7WUFDeEIsT0FBTyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQzNCLElBQWEsQ0FBQyxNQUFNLEVBQ3BCLElBQWEsQ0FBQyxNQUFNLENBQ3RCLEdBQUcsQ0FBQztTQUNOO2FBQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFO1lBQ3JDLE9BQU8sUUFBUSxVQUFVLENBQUMsVUFBVSxDQUNqQyxJQUFtQixDQUFDLE1BQU0sRUFDMUIsSUFBbUIsQ0FBQyxNQUFNLENBQzVCLEdBQUcsQ0FBQztTQUNOO2FBQU0sSUFBSSxJQUFJLFlBQVksTUFBTSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssTUFBTSxNQUFNLENBQUMsVUFBVSxDQUNuRCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLEdBQUcsRUFDUixTQUFTLEVBQ1QseUJBQXlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUN4QyxHQUFHLENBQUM7U0FDTjthQUFNLElBQUksSUFBSSxZQUFZLE1BQU0sRUFBRTtZQUNqQyxpREFBaUQ7WUFDakQsNEZBQTRGO1lBQzVGLElBQ0UsSUFBSSxDQUFDLFdBQVc7Z0JBQ2hCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFrQixDQUFDLENBQUMsV0FBVyxFQUMxRDtnQkFDQSxPQUFPLE9BQU8sQ0FBQzthQUNoQjtZQUVELE9BQU8sT0FBTyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssTUFBTSxNQUFNLENBQUMsU0FBUyxDQUNsRCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLEdBQUcsRUFDUixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsS0FBSyxDQUNYLEdBQUcsQ0FBQztTQUNOO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3RDtRQUVELE9BQU8sR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUVILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRTtZQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9CO0tBQ0Y7SUFFRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsWUFBbUMsRUFDM0IsRUFBRTtJQUNWLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ3BCLFlBQVksRUFDWixDQUFDLEtBQXFCLEVBQUUsR0FBd0IsRUFBRSxFQUFFO1FBQ2xELE9BQU8sS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxFQUNELGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFFRixNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsa0ZBQWtGO1FBQ2xGLE9BQU8sSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUN2RCxLQUFLLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDekQsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQztBQUVGLE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsWUFBMkIsRUFDM0IsYUFBaUM7SUFFakMseUVBQXlFO0lBQ3pFLHFHQUFxRztJQUNyRyxJQUNFLENBQUEsYUFBYSxhQUFiLGFBQWEsdUJBQWIsYUFBYSxDQUFFLHlCQUF5Qjs7UUFDeEMseUVBQXlFO1FBQ3pFLHdHQUF3RztRQUN4RyxtREFBbUQ7UUFDbkQsMEJBQTBCO1FBQzFCLHNJQUFzSTtRQUN0SSxpSUFBaUk7UUFDakksc0dBQXNHO1FBQ3RHLGFBQWEsYUFBYixhQUFhLHVCQUFiLGFBQWEsQ0FBRSxzQkFBc0IsQ0FBQSxFQUNyQztRQUNBLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxNQUFNLDZCQUE2QixHQUFHLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDeEUsUUFBUSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3RCLEtBQUssUUFBUSxDQUFDLEtBQUs7Z0JBQ2pCLE9BQU8sQ0FDSixLQUFLLENBQUMsS0FBb0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2hELE9BQU8seUJBQXlCLENBQzlCLElBQUksRUFDSixhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsMEJBQTBCLENBQzFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDZCxDQUFDO1lBQ0o7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sNkJBQTZCLEtBQUssU0FBUyxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUNoQyxJQUFXLEVBQ1gsMEJBQXVDOztJQUV2QyxJQUFJLElBQUksWUFBWSxNQUFNLEVBQUU7UUFDMUIsT0FBTyxNQUFBLDBCQUEwQixhQUExQiwwQkFBMEIsdUJBQTFCLDBCQUEwQixDQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLG1DQUFJLEtBQUssQ0FBQztLQUNuRTtTQUFNLElBQUksSUFBSSxZQUFZLE1BQU0sRUFBRTtRQUNqQyxPQUFPLE1BQUEsMEJBQTBCLGFBQTFCLDBCQUEwQix1QkFBMUIsMEJBQTBCLENBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsbUNBQUksS0FBSyxDQUFDO0tBQ25FO1NBQU0sSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFO1FBQy9CLE9BQU8sTUFBQSwwQkFBMEIsYUFBMUIsMEJBQTBCLHVCQUExQiwwQkFBMEIsQ0FBRSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQ0FBSSxLQUFLLENBQUM7S0FDbkU7U0FBTTtRQUNMLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export declare function serializeRouteIds(routeIds: number[]): string;
2
+ export declare function deserializeRouteIds(routeIds: string): number[];
@@ -0,0 +1,7 @@
1
+ export function serializeRouteIds(routeIds) {
2
+ return routeIds.join(':');
3
+ }
4
+ export function deserializeRouteIds(routeIds) {
5
+ return routeIds.split(':').map(Number);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplUm91dGVJZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9zZXJpYWxpemVSb3V0ZUlkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBa0I7SUFDbEQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsUUFBZ0I7SUFDbEQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIn0=
@@ -0,0 +1,27 @@
1
+ export interface PerfEntry {
2
+ name: string;
3
+ startTime: number;
4
+ endTime: number;
5
+ duration: number;
6
+ metadata?: any;
7
+ }
8
+ export declare class SimplePerfTracker {
9
+ private static instance;
10
+ private entries;
11
+ private activeTimers;
12
+ static getInstance(): SimplePerfTracker;
13
+ start(name: string, metadata?: any): void;
14
+ end(name: string): number;
15
+ measureAsync<T>(name: string, fn: () => Promise<T>, metadata?: any): Promise<T>;
16
+ measure<T>(name: string, fn: () => T, metadata?: any): T;
17
+ getReport(): string;
18
+ clear(): void;
19
+ getEntries(): PerfEntry[];
20
+ }
21
+ export declare const perfTracker: SimplePerfTracker;
22
+ export declare function startTimer(name: string, metadata?: any): void;
23
+ export declare function endTimer(name: string): number;
24
+ export declare function measureAsync<T>(name: string, fn: () => Promise<T>, metadata?: any): Promise<T>;
25
+ export declare function measure<T>(name: string, fn: () => T, metadata?: any): T;
26
+ export declare function getPerfReport(): void;
27
+ export declare function clearPerfData(): void;
@@ -0,0 +1,161 @@
1
+ import { metric, MetricLoggerUnit } from './metric';
2
+ import { log } from './log';
3
+ const perf_enabled = process.env.ENABLE_PERF_TRACKER === 'true' || process.env.ENABLE_PERF_TRACKER === '1';
4
+ // 简单的性能追踪器
5
+ export class SimplePerfTracker {
6
+ constructor() {
7
+ this.entries = [];
8
+ this.activeTimers = new Map();
9
+ }
10
+ static getInstance() {
11
+ if (!SimplePerfTracker.instance) {
12
+ SimplePerfTracker.instance = new SimplePerfTracker();
13
+ }
14
+ return SimplePerfTracker.instance;
15
+ }
16
+ // 开始计时
17
+ start(name, metadata) {
18
+ const startTime = Date.now();
19
+ this.activeTimers.set(name, startTime);
20
+ if (metadata) {
21
+ log.info(`[PERF] Starting ${name}`, metadata);
22
+ }
23
+ }
24
+ // 结束计时
25
+ end(name) {
26
+ const startTime = this.activeTimers.get(name);
27
+ if (!startTime) {
28
+ log.warn(`[PERF] No start time found for ${name}`);
29
+ return 0;
30
+ }
31
+ const endTime = Date.now();
32
+ const duration = endTime - startTime;
33
+ this.entries.push({
34
+ name,
35
+ startTime,
36
+ endTime,
37
+ duration
38
+ });
39
+ this.activeTimers.delete(name);
40
+ // 记录到 metric 系统
41
+ metric.putMetric(`Perf_${name}`, duration, MetricLoggerUnit.Milliseconds);
42
+ log.info(`[PERF] ${name}: ${duration}ms`);
43
+ return duration;
44
+ }
45
+ // 包装异步函数
46
+ async measureAsync(name, fn, metadata) {
47
+ this.start(name, metadata);
48
+ try {
49
+ const result = await fn();
50
+ this.end(name);
51
+ return result;
52
+ }
53
+ catch (error) {
54
+ this.end(name);
55
+ log.error(`[PERF] ${name} failed after ${this.activeTimers.get(name) || 0}ms:`, error);
56
+ throw error;
57
+ }
58
+ }
59
+ // 包装同步函数
60
+ measure(name, fn, metadata) {
61
+ this.start(name, metadata);
62
+ try {
63
+ const result = fn();
64
+ this.end(name);
65
+ return result;
66
+ }
67
+ catch (error) {
68
+ this.end(name);
69
+ log.error(`[PERF] ${name} failed:`, error);
70
+ throw error;
71
+ }
72
+ }
73
+ // 获取报告
74
+ getReport() {
75
+ if (this.entries.length === 0) {
76
+ return 'No performance data collected';
77
+ }
78
+ const report = ['=== Performance Report ==='];
79
+ // 按名称分组
80
+ const grouped = this.entries.reduce((acc, entry) => {
81
+ if (!acc[entry.name]) {
82
+ acc[entry.name] = [];
83
+ }
84
+ acc[entry.name].push(entry);
85
+ return acc;
86
+ }, {});
87
+ // 生成统计
88
+ Object.entries(grouped).forEach(([name, entries]) => {
89
+ const durations = entries.map(e => e.duration);
90
+ const total = durations.reduce((a, b) => a + b, 0);
91
+ const avg = total / durations.length;
92
+ const min = Math.min(...durations);
93
+ const max = Math.max(...durations);
94
+ report.push(`\n${name}:`);
95
+ report.push(` Calls: ${entries.length}`);
96
+ report.push(` Total: ${total.toFixed(2)}ms`);
97
+ report.push(` Average: ${avg.toFixed(2)}ms`);
98
+ report.push(` Min: ${min.toFixed(2)}ms`);
99
+ report.push(` Max: ${max.toFixed(2)}ms`);
100
+ });
101
+ // 最慢的操作
102
+ const sortedByTotal = Object.entries(grouped)
103
+ .map(([name, entries]) => ({
104
+ name,
105
+ total: entries.reduce((sum, e) => sum + e.duration, 0),
106
+ count: entries.length
107
+ }))
108
+ .sort((a, b) => b.total - a.total);
109
+ report.push('\n=== Slowest Operations ===');
110
+ sortedByTotal.slice(0, 5).forEach((op, i) => {
111
+ report.push(`${i + 1}. ${op.name}: ${op.total.toFixed(2)}ms total (${op.count} calls)`);
112
+ });
113
+ return report.join('\n');
114
+ }
115
+ // 清空数据
116
+ clear() {
117
+ this.entries = [];
118
+ this.activeTimers.clear();
119
+ }
120
+ // 获取所有条目
121
+ getEntries() {
122
+ return [...this.entries];
123
+ }
124
+ }
125
+ // 创建全局实例
126
+ export const perfTracker = SimplePerfTracker.getInstance();
127
+ // 便捷函数
128
+ export function startTimer(name, metadata) {
129
+ if (!perf_enabled)
130
+ return;
131
+ perfTracker.start(name, metadata);
132
+ }
133
+ export function endTimer(name) {
134
+ if (!perf_enabled)
135
+ return 0;
136
+ return perfTracker.end(name);
137
+ }
138
+ export async function measureAsync(name, fn, metadata) {
139
+ if (!perf_enabled)
140
+ return fn();
141
+ return perfTracker.measureAsync(name, fn, metadata);
142
+ }
143
+ export function measure(name, fn, metadata) {
144
+ if (!perf_enabled)
145
+ return fn();
146
+ return perfTracker.measure(name, fn, metadata);
147
+ }
148
+ export function getPerfReport() {
149
+ if (!perf_enabled) {
150
+ return;
151
+ }
152
+ //auto clear after report.
153
+ clearPerfData();
154
+ }
155
+ export function clearPerfData() {
156
+ if (!perf_enabled) {
157
+ return;
158
+ }
159
+ perfTracker.clear();
160
+ }
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLXBlcmYtdHJhY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL3NpbXBsZS1wZXJmLXRyYWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTVCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEtBQUssTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEtBQUssR0FBRyxDQUFDO0FBVzNHLFdBQVc7QUFDWCxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBRVksWUFBTyxHQUFnQixFQUFFLENBQUM7UUFDMUIsaUJBQVksR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQXNJMUQsQ0FBQztJQXBJRyxNQUFNLENBQUMsV0FBVztRQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDN0IsaUJBQWlCLENBQUMsUUFBUSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztTQUN4RDtRQUNELE9BQU8saUJBQWlCLENBQUMsUUFBUSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPO0lBQ1AsS0FBSyxDQUFDLElBQVksRUFBRSxRQUFjO1FBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUM7SUFFRCxPQUFPO0lBQ1AsR0FBRyxDQUFDLElBQVk7UUFDWixNQUFNLFNBQVMs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
@@ -0,0 +1,3 @@
1
+ import { Token } from '@ring-protocol/sdk-core';
2
+ import { SimulationStatus } from '../providers';
3
+ export declare function breakDownTenderlySimulationError(tokenIn: Token, tokenOut: Token, data?: string): SimulationStatus;
@@ -0,0 +1,29 @@
1
+ import { SimulationStatus, VIRTUAL_BASE } from '../providers';
2
+ export function breakDownTenderlySimulationError(tokenIn, tokenOut, data) {
3
+ if (data) {
4
+ switch (data) {
5
+ case '0x739dbe52': // V3TooMuchRequested
6
+ case '0x39d35496': // V3TooLittleReceived
7
+ case '0x849eaf98': // V2TooLittleReceived
8
+ case '0x8ab0bc16': // V2TooMuchRequested
9
+ case '0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000025556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54000000000000000000000000000000000000000000000000000000': // INSUFFICIENT_OUTPUT_AMOUNT
10
+ case '0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034949410000000000000000000000000000000000000000000000000000000000': // IIA
11
+ return SimulationStatus.SlippageTooLow;
12
+ case '0x08c379a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000145452414e534645525f46524f4d5f4641494c4544000000000000000000000000': // TRANSFER_FROM_FAILED
13
+ return SimulationStatus.TransferFromFailed;
14
+ case '0x675cae38': // InsufficientToken
15
+ if (tokenIn.address.toLowerCase() ===
16
+ VIRTUAL_BASE.address.toLowerCase() ||
17
+ tokenOut.address.toLowerCase() === VIRTUAL_BASE.address.toLowerCase()) {
18
+ // if this is from virtual, we'd guess it's due to slippage too low, although it might be due to something else
19
+ return SimulationStatus.SlippageTooLow;
20
+ }
21
+ // Otherwise we don't wanna guess, just return generic failed.
22
+ return SimulationStatus.Failed;
23
+ default: // we don't know why onchain execution reverted, just return generic failed.
24
+ return SimulationStatus.Failed;
25
+ }
26
+ }
27
+ return SimulationStatus.Failed;
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuZGVybHlTaW11bGF0aW9uRXJyb3JCcmVha0Rvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC90ZW5kZXJseVNpbXVsYXRpb25FcnJvckJyZWFrRG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTlELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsT0FBYyxFQUNkLFFBQWUsRUFDZixJQUFhO0lBRWIsSUFBSSxJQUFJLEVBQUU7UUFDUixRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssWUFBWSxDQUFDLENBQUMscUJBQXFCO1lBQ3hDLEtBQUssWUFBWSxDQUFDLENBQUMsc0JBQXNCO1lBQ3pDLEtBQUssWUFBWSxDQUFDLENBQUMsc0JBQXNCO1lBQ3pDLEtBQUssWUFBWSxDQUFDLENBQUMscUJBQXFCO1lBQ3hDLEtBQUssNFFBQTRRLENBQUMsQ0FBQyw2QkFBNkI7WUFDaFQsS0FBSyw0TUFBNE0sRUFBRSxNQUFNO2dCQUN2TixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQztZQUN6QyxLQUFLLDRNQUE0TSxFQUFFLHVCQUF1QjtnQkFDeE8sT0FBTyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztZQUM3QyxLQUFLLFlBQVksRUFBRSxvQkFBb0I7Z0JBQ3JDLElBQ0UsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7b0JBQzdCLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUNsQyxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQ3JFO29CQUNBLCtHQUErRztvQkFDL0csT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7aUJBQ3hDO2dCQUVELDhEQUE4RDtnQkFDOUQsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7WUFDakMsU0FBUyw0RUFBNEU7Z0JBQ25GLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1NBQ2xDO0tBQ0Y7SUFFRCxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztBQUNqQyxDQUFDIn0=
@@ -0,0 +1,37 @@
1
+ export declare const UNSUPPORTED_TOKENS: {
2
+ name: string;
3
+ timestamp: string;
4
+ version: {
5
+ major: number;
6
+ minor: number;
7
+ patch: number;
8
+ };
9
+ tags: {};
10
+ logoURI: string;
11
+ keywords: string[];
12
+ tokens: ({
13
+ name: string;
14
+ address: string;
15
+ symbol: string;
16
+ decimals: number;
17
+ chainId: number;
18
+ logoURI: string;
19
+ tags?: undefined;
20
+ } | {
21
+ chainId: number;
22
+ address: string;
23
+ name: string;
24
+ symbol: string;
25
+ decimals: number;
26
+ logoURI?: undefined;
27
+ tags?: undefined;
28
+ } | {
29
+ chainId: number;
30
+ address: string;
31
+ symbol: string;
32
+ name: string;
33
+ decimals: number;
34
+ logoURI: string;
35
+ tags: string[];
36
+ })[];
37
+ };