@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,624 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFewToken = exports.RING_CHAIN_TO_ADDRESSES_MAP = exports.V2_ROUTER_ADDRESSES = exports.STORY_MAINNET_V2_ROUTER_ADDRESS = exports.BNB_V2_ROUTER_ADDRESS = exports.STORY_ODYSSEY_V2_ROUTER_ADDRESS = exports.BASE_V2_ROUTER_ADDRESS = exports.ARBITRUM_SEPOLIA_V2_ROUTER_ADDRESS = exports.UNICHAIN_V2_ROUTER_ADDRESS = exports.UNICHAIN_SEPOLIA_V2_ROUTER_ADDRESS = exports.ETH_MAINNET_V2_ROUTER_ADDRESS = exports.BLAST_MAINNET_V2_ROUTER_ADDRESS = exports.BLAST_V2_ROUTER_ADDRESS = exports.SEPOLIA_V2_ROUTER_ADDRESS = exports.V2_FACTORY_ADDRESSES = exports.STORY_MAINNET_V2_FACTORY_ADDRESS = exports.BNB_V2_FACTORY_ADDRESS = exports.STORY_ODYSSEY_V2_FACTORY_ADDRESS = exports.BASE_V2_FACTORY_ADDRESS = exports.ARBITRUM_SEPOLIA_V2_FACTORY_ADDRESS = exports.UNICHAIN_V2_FACTORY_ADDRESS = exports.UNICHAIN_SEPOLIA_V2_FACTORY_ADDRESS = exports.ETH_MAINNET_V2_FACTORY_ADDRESS = exports.BLAST_MAINNET_V2_FACTORY_ADDRESS = exports.BLAST_V2_FACTORY_ADDRESS = exports.SEPOLIA_V2_FACTORY_ADDRESS = exports.UNISWAP_NFT_AIRDROP_CLAIM_ADDRESS = exports.UNI_ADDRESSES = void 0;
4
+ const sdk_core_1 = require("@ring-protocol/sdk-core");
5
+ const DEFAULT_NETWORKS = [
6
+ sdk_core_1.ChainId.MAINNET,
7
+ sdk_core_1.ChainId.SEPOLIA,
8
+ sdk_core_1.ChainId.BLAST,
9
+ sdk_core_1.ChainId.UNICHAIN_SEPOLIA,
10
+ sdk_core_1.ChainId.UNICHAIN,
11
+ sdk_core_1.ChainId.ARBITRUM_SEPOLIA,
12
+ sdk_core_1.ChainId.BASE,
13
+ ];
14
+ function constructSameAddressMap(address, additionalNetworks = []) {
15
+ return DEFAULT_NETWORKS.concat(additionalNetworks).reduce((memo, chainId) => {
16
+ memo[chainId] = address;
17
+ return memo;
18
+ }, {});
19
+ }
20
+ exports.UNI_ADDRESSES = constructSameAddressMap('0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', [
21
+ sdk_core_1.ChainId.OPTIMISM,
22
+ sdk_core_1.ChainId.ARBITRUM_ONE,
23
+ sdk_core_1.ChainId.POLYGON,
24
+ sdk_core_1.ChainId.POLYGON_MUMBAI,
25
+ sdk_core_1.ChainId.SEPOLIA
26
+ ]);
27
+ exports.UNISWAP_NFT_AIRDROP_CLAIM_ADDRESS = '0x8B799381ac40b838BBA4131ffB26197C432AFe78';
28
+ exports.SEPOLIA_V2_FACTORY_ADDRESS = '0x509166db8Fb9571F8C34EfcD7347809B34dE4e04';
29
+ exports.BLAST_V2_FACTORY_ADDRESS = '0xe4aa82591AD0E8AbFD15ca2A2ff74439c6052Fbf';
30
+ exports.BLAST_MAINNET_V2_FACTORY_ADDRESS = '0x24F5Ac9A706De0cF795A8193F6AB3966B14ECfE6';
31
+ exports.ETH_MAINNET_V2_FACTORY_ADDRESS = '0xeb2A625B704d73e82946D8d026E1F588Eed06416';
32
+ exports.UNICHAIN_SEPOLIA_V2_FACTORY_ADDRESS = '0xd7413358bFE4Aa5D707CcF8Ae7B4FF58E79e149A';
33
+ exports.UNICHAIN_V2_FACTORY_ADDRESS = '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD';
34
+ exports.ARBITRUM_SEPOLIA_V2_FACTORY_ADDRESS = '0x13429d9780662560F526Ba0DA751C191DFdF1849';
35
+ exports.BASE_V2_FACTORY_ADDRESS = '0x9BfFC3B30D6659e3D84754cc38865B3D60B4980E';
36
+ exports.STORY_ODYSSEY_V2_FACTORY_ADDRESS = '0x13429d9780662560F526Ba0DA751C191DFdF1849';
37
+ exports.BNB_V2_FACTORY_ADDRESS = '0x4De602A30Ad7fEf8223dcf67A9fB704324C4dd9B';
38
+ exports.STORY_MAINNET_V2_FACTORY_ADDRESS = '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD';
39
+ exports.V2_FACTORY_ADDRESSES = {
40
+ 11155111: '0x509166db8Fb9571F8C34EfcD7347809B34dE4e04',
41
+ 168587773: '0xe4aa82591AD0E8AbFD15ca2A2ff74439c6052Fbf',
42
+ 81457: '0x24F5Ac9A706De0cF795A8193F6AB3966B14ECfE6',
43
+ 1: '0xeb2A625B704d73e82946D8d026E1F588Eed06416',
44
+ 1301: '0xd7413358bFE4Aa5D707CcF8Ae7B4FF58E79e149A',
45
+ 130: '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD',
46
+ 421614: '0x13429d9780662560F526Ba0DA751C191DFdF1849',
47
+ 8453: '0x9BfFC3B30D6659e3D84754cc38865B3D60B4980E',
48
+ 1516: '0x13429d9780662560F526Ba0DA751C191DFdF1849',
49
+ 1514: '0xEeE400Eabfba8F60f4e6B351D8577394BeB972CD',
50
+ 56: '0x4De602A30Ad7fEf8223dcf67A9fB704324C4dd9B'
51
+ };
52
+ exports.SEPOLIA_V2_ROUTER_ADDRESS = '0x1F802559f8b5495bD4fE6c23BC79345804DBA12A';
53
+ exports.BLAST_V2_ROUTER_ADDRESS = '0x02F1e7A518e3E286C8E305E39cA7D4f25e0a44Aa';
54
+ exports.BLAST_MAINNET_V2_ROUTER_ADDRESS = '0x7001F706ACB6440d17cBFaD63Fa50a22D51696fF';
55
+ exports.ETH_MAINNET_V2_ROUTER_ADDRESS = '0x39d1d8fcC5E6EEAf567Bce4e29B94fec956D3519';
56
+ exports.UNICHAIN_SEPOLIA_V2_ROUTER_ADDRESS = '0x32BC26BeA846951226d2c49f0B7D1adD8727D8e6';
57
+ exports.UNICHAIN_V2_ROUTER_ADDRESS = '0xf9d7ff2f6A0c3631A807199276a493Af8097916F';
58
+ exports.ARBITRUM_SEPOLIA_V2_ROUTER_ADDRESS = '0xCe8eA134624D439489f8a781e7750db533C0920';
59
+ exports.BASE_V2_ROUTER_ADDRESS = '0x224749CDd5791480ECEBE452e5FFAEfEf94Cd254';
60
+ exports.STORY_ODYSSEY_V2_ROUTER_ADDRESS = '0x8cf5249b81C0dF0F2Ce7Ca75677581D82018E503';
61
+ exports.BNB_V2_ROUTER_ADDRESS = '0x20504f37A95eF80e3FC7476c4801fb39AaE6bAd0';
62
+ exports.STORY_MAINNET_V2_ROUTER_ADDRESS = '0xf9d7ff2f6A0c3631A807199276a493Af8097916F';
63
+ exports.V2_ROUTER_ADDRESSES = {
64
+ 11155111: '0x1F802559f8b5495bD4fE6c23BC79345804DBA12A',
65
+ 168587773: '0x02F1e7A518e3E286C8E305E39cA7D4f25e0a44Aa',
66
+ 81457: '0x7001F706ACB6440d17cBFaD63Fa50a22D51696fF',
67
+ 1: '0x39d1d8fcC5E6EEAf567Bce4e29B94fec956D3519',
68
+ 1301: '0x32BC26BeA846951226d2c49f0B7D1adD8727D8e6',
69
+ 130: '0xf9d7ff2f6A0c3631A807199276a493Af8097916F',
70
+ 421614: '0xCe8eA134624D439489f8a781e7750db533C0920',
71
+ 8453: '0x224749CDd5791480ECEBE452e5FFAEfEf94Cd254',
72
+ 1516: '0x8cf5249b81C0dF0F2Ce7Ca75677581D82018E503',
73
+ 1514: '0xf9d7ff2f6A0c3631A807199276a493Af8097916F',
74
+ 56: '0x20504f37A95eF80e3FC7476c4801fb39AaE6bAd0'
75
+ };
76
+ // Networks that share most of the same addresses i.e. Mainnet, Goerli, Optimism, Arbitrum, Polygon
77
+ const DEFAULT_ADDRESSES = {
78
+ v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',
79
+ multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',
80
+ quoterAddress: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6',
81
+ v3MigratorAddress: '0xA5644E29708357803b5A882D272c41cC0dF92B34',
82
+ nonfungiblePositionManagerAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88'
83
+ };
84
+ // const MAINNET_ADDRESSES: ChainAddresses = {
85
+ // ...DEFAULT_ADDRESSES,
86
+ // mixedRouteQuoterV1Address: '0x84E44095eeBfEC7793Cd7d5b57B7e401D7f1cA2E'
87
+ // }
88
+ const GOERLI_ADDRESSES = Object.assign(Object.assign({}, DEFAULT_ADDRESSES), { mixedRouteQuoterV1Address: '0xBa60b6e6fF25488308789E6e0A65D838be34194e' });
89
+ // const BLAST_SEPOLIA_ADDRESSES: ChainAddresses = {
90
+ // v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
91
+ // multicallAddress: '0x54c55551fEe014ec7C63F47Cd69f20e47ae178EB',
92
+ // quoterAddress: '0x0000000000000000000000000000000000000000',
93
+ // v3MigratorAddress: '0x0000000000000000000000000000000000000000',
94
+ // nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
95
+ // tickLensAddress: '0x0000000000000000000000000000000000000000',
96
+ // mixedRouteQuoterV1Address: '0x2947892b6bFcd719868f2d7Fe4A3F9A49B0894B9'
97
+ // }
98
+ const BLAST_MAINNET_ADDRESSES = {
99
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
100
+ multicallAddress: '0x8B34f931069645043b24Efc20aebc5E3E00cf256',
101
+ quoterAddress: '0x0000000000000000000000000000000000000000',
102
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
103
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
104
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
105
+ mixedRouteQuoterV1Address: '0x39d1d8fcC5E6EEAf567Bce4e29B94fec956D3519'
106
+ };
107
+ const BLAST_SEPOLIA_ADDRESSES = {
108
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
109
+ multicallAddress: '0x54c55551fEe014ec7C63F47Cd69f20e47ae178EB',
110
+ quoterAddress: '0x0000000000000000000000000000000000000000',
111
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
112
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
113
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
114
+ mixedRouteQuoterV1Address: '0x2947892b6bFcd719868f2d7Fe4A3F9A49B0894B9'
115
+ };
116
+ const STORY_ODYSSEY_ADDRESSES = {
117
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
118
+ multicallAddress: '0xb3Ad7754f363af676dC1C5be40423FE538a47920',
119
+ quoterAddress: '0x0000000000000000000000000000000000000000',
120
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
121
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
122
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
123
+ mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'
124
+ };
125
+ const STORY_MAINNET_ADDRESSES = {
126
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
127
+ multicallAddress: '0xb981b930c6b78C4DfDe258eD2a9119ED69fB2faf',
128
+ quoterAddress: '0x0000000000000000000000000000000000000000',
129
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
130
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
131
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
132
+ mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'
133
+ };
134
+ const ETH_MAINNET_ADDRESSES = {
135
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
136
+ multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',
137
+ quoterAddress: '0x0000000000000000000000000000000000000000',
138
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
139
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
140
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
141
+ mixedRouteQuoterV1Address: '0xf09F1899074B5659148C615dd30C29060f264894'
142
+ };
143
+ const UNICHAIN_ADDRESSES = {
144
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
145
+ multicallAddress: '0x8721eaBF3F37B74C2ac8Abc3ceCD672aB2e15ABA',
146
+ quoterAddress: '0x0000000000000000000000000000000000000000',
147
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
148
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
149
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
150
+ mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'
151
+ };
152
+ const UNICHAIN_SEPOLIA_ADDRESSES = {
153
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
154
+ multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',
155
+ quoterAddress: '0x0000000000000000000000000000000000000000',
156
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
157
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
158
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
159
+ mixedRouteQuoterV1Address: '0xf09F1899074B5659148C615dd30C29060f264894'
160
+ };
161
+ const ARBITRUM_SEPOLIA_ADDRESSES = {
162
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
163
+ multicallAddress: '0xeF0A2a9CdbDf2F6b5b3508dE2bb9399502bc4598',
164
+ quoterAddress: '0x0000000000000000000000000000000000000000',
165
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
166
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
167
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
168
+ mixedRouteQuoterV1Address: '0xcd58C52236c4A77BD0322857a662B09eAd5b0387'
169
+ };
170
+ // const STORY_ODYSSEY_ADDRESSES: ChainAddresses = {
171
+ // v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
172
+ // multicallAddress: '0xb3Ad7754f363af676dC1C5be40423FE538a47920',
173
+ // quoterAddress: '0x0000000000000000000000000000000000000000',
174
+ // v3MigratorAddress: '0x0000000000000000000000000000000000000000',
175
+ // nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
176
+ // tickLensAddress: '0x0000000000000000000000000000000000000000',
177
+ // mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'
178
+ // }
179
+ // const STORY_MAINNET_ADDRESSES: ChainAddresses = {
180
+ // v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
181
+ // multicallAddress: '0xb981b930c6b78C4DfDe258eD2a9119ED69fB2faf',
182
+ // quoterAddress: '0x0000000000000000000000000000000000000000',
183
+ // v3MigratorAddress: '0x0000000000000000000000000000000000000000',
184
+ // nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
185
+ // tickLensAddress: '0x0000000000000000000000000000000000000000',
186
+ // mixedRouteQuoterV1Address: '0x0000000000000000000000000000000000000000'
187
+ // }
188
+ const OPTIMISM_ADDRESSES = DEFAULT_ADDRESSES;
189
+ const ARBITRUM_ONE_ADDRESSES = Object.assign(Object.assign({}, DEFAULT_ADDRESSES), { multicallAddress: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB', tickLensAddress: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573' });
190
+ const POLYGON_ADDRESSES = DEFAULT_ADDRESSES;
191
+ // celo v3 addresses
192
+ const CELO_ADDRESSES = {
193
+ v3CoreFactoryAddress: '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc',
194
+ multicallAddress: '0x633987602DE5C4F337e3DbF265303A1080324204',
195
+ quoterAddress: '0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8',
196
+ v3MigratorAddress: '0x3cFd4d48EDfDCC53D3f173F596f621064614C582',
197
+ nonfungiblePositionManagerAddress: '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A',
198
+ tickLensAddress: '0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D'
199
+ };
200
+ // hyper mainnet v3 addresses
201
+ const HYPER_MAINNET_ADDRESSES = {
202
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
203
+ multicallAddress: '0x793b1b0111Ba64673f983Ea7d7C0aF15a1161bED',
204
+ quoterAddress: '0x0000000000000000000000000000000000000000',
205
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
206
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
207
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
208
+ };
209
+ // BNB v3 addresses
210
+ const BNB_ADDRESSES = {
211
+ v3CoreFactoryAddress: '0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7',
212
+ multicallAddress: '0x963Df249eD09c358A4819E39d9Cd5736c3087184',
213
+ quoterAddress: '0x78D78E420Da98ad378D7799bE8f4AF69033EB077',
214
+ v3MigratorAddress: '0x32681814957e0C13117ddc0c2aba232b5c9e760f',
215
+ nonfungiblePositionManagerAddress: '0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613',
216
+ tickLensAddress: '0xD9270014D396281579760619CCf4c3af0501A47C',
217
+ swapRouter02Address: '0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2'
218
+ };
219
+ // optimism goerli addresses
220
+ const OPTIMISM_GOERLI_ADDRESSES = {
221
+ v3CoreFactoryAddress: '0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10',
222
+ multicallAddress: '0x07F2D8a2a02251B62af965f22fC4744A5f96BCCd',
223
+ quoterAddress: '0x9569CbA925c8ca2248772A9A4976A516743A246F',
224
+ v3MigratorAddress: '0xf6c55fBe84B1C8c3283533c53F51bC32F5C7Aba8',
225
+ nonfungiblePositionManagerAddress: '0x39Ca85Af2F383190cBf7d7c41ED9202D27426EF6',
226
+ tickLensAddress: '0xe6140Bd164b63E8BfCfc40D5dF952f83e171758e'
227
+ };
228
+ // arbitrum goerli v3 addresses
229
+ const ARBITRUM_GOERLI_ADDRESSES = {
230
+ v3CoreFactoryAddress: '0x4893376342d5D7b3e31d4184c08b265e5aB2A3f6',
231
+ multicallAddress: '0x8260CB40247290317a4c062F3542622367F206Ee',
232
+ quoterAddress: '0x1dd92b83591781D0C6d98d07391eea4b9a6008FA',
233
+ v3MigratorAddress: '0xA815919D2584Ac3F76ea9CB62E6Fd40a43BCe0C3',
234
+ nonfungiblePositionManagerAddress: '0x622e4726a167799826d1E1D150b076A7725f5D81',
235
+ tickLensAddress: '0xb52429333da969a0C79a60930a4Bf0020E5D1DE8'
236
+ };
237
+ // sepolia v3 addresses
238
+ const SEPOLIA_ADDRESSES = {
239
+ v3CoreFactoryAddress: '0x0000000000000000000000000000000000000000',
240
+ multicallAddress: '0x23B0338e947A1f2B551e34969285C83e6eD5e5c8',
241
+ quoterAddress: '0x0000000000000000000000000000000000000000',
242
+ v3MigratorAddress: '0x0000000000000000000000000000000000000000',
243
+ nonfungiblePositionManagerAddress: '0x0000000000000000000000000000000000000000',
244
+ tickLensAddress: '0x0000000000000000000000000000000000000000',
245
+ mixedRouteQuoterV1Address: '0x7B77A426044f952540890148b65282CB7374e9e9'
246
+ };
247
+ // Avalanche v3 addresses
248
+ const AVALANCHE_ADDRESSES = {
249
+ v3CoreFactoryAddress: '0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD',
250
+ multicallAddress: '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2',
251
+ quoterAddress: '0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F',
252
+ v3MigratorAddress: '0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97',
253
+ nonfungiblePositionManagerAddress: '0x655C406EBFa14EE2006250925e54ec43AD184f8B',
254
+ tickLensAddress: '0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950',
255
+ swapRouter02Address: '0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE'
256
+ };
257
+ const BASE_ADDRESSES = {
258
+ v3CoreFactoryAddress: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',
259
+ multicallAddress: '0x091e99cb1C49331a94dD62755D168E941AbD0693',
260
+ quoterAddress: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
261
+ v3MigratorAddress: '0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7',
262
+ nonfungiblePositionManagerAddress: '0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1',
263
+ tickLensAddress: '0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d',
264
+ swapRouter02Address: '0x2626664c2603336E57B271c5C0b26F421741e481'
265
+ };
266
+ // Base Goerli v3 addresses
267
+ const BASE_GOERLI_ADDRESSES = {
268
+ v3CoreFactoryAddress: '0x9323c1d6D800ed51Bd7C6B216cfBec678B7d0BC2',
269
+ multicallAddress: '0xB206027a9E0E13F05eBEFa5D2402Bab3eA716439',
270
+ quoterAddress: '0xedf539058e28E5937dAef3f69cEd0b25fbE66Ae9',
271
+ v3MigratorAddress: '0x3efe5d02a04b7351D671Db7008ec6eBA9AD9e3aE',
272
+ nonfungiblePositionManagerAddress: '0x3c61369ef0D1D2AFa70d8feC2F31C5D6Ce134F30',
273
+ tickLensAddress: '0x1acB873Ee909D0c98adB18e4474943249F931b92',
274
+ swapRouter02Address: '0x8357227D4eDc78991Db6FDB9bD6ADE250536dE1d'
275
+ };
276
+ //////
277
+ // Networks that share most of the same addresses i.e. Mainnet, Goerli, Optimism, Arbitrum, Polygon
278
+ // const DEFAULT_ADDRESSES: ChainAddresses = {
279
+ // v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',
280
+ // multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984',
281
+ // quoterAddress: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6',
282
+ // v3MigratorAddress: '0xA5644E29708357803b5A882D272c41cC0dF92B34',
283
+ // nonfungiblePositionManagerAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
284
+ // }
285
+ // const MAINNET_ADDRESSES: ChainAddresses = {
286
+ // ...DEFAULT_ADDRESSES,
287
+ // mixedRouteQuoterV1Address: '0x84E44095eeBfEC7793Cd7d5b57B7e401D7f1cA2E',
288
+ // v4PoolManagerAddress: '0x000000000004444c5dc75cB358380D2e3dE08A90',
289
+ // v4PositionManagerAddress: '0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e',
290
+ // v4StateView: '0x7ffe42c4a5deea5b0fec41c94c136cf115597227',
291
+ // v4QuoterAddress: '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203',
292
+ // }
293
+ // const GOERLI_ADDRESSES: ChainAddresses = {
294
+ // ...DEFAULT_ADDRESSES,
295
+ // mixedRouteQuoterV1Address: '0xBa60b6e6fF25488308789E6e0A65D838be34194e',
296
+ // }
297
+ // const OPTIMISM_ADDRESSES: ChainAddresses = {
298
+ // ...DEFAULT_ADDRESSES,
299
+ // v4PoolManagerAddress: '0x9a13f98cb987694c9f086b1f5eb990eea8264ec3',
300
+ // v4PositionManagerAddress: '0x3c3ea4b57a46241e54610e5f022e5c45859a1017',
301
+ // v4StateView: '0xc18a3169788f4f75a170290584eca6395c75ecdb',
302
+ // v4QuoterAddress: '0x1f3131a13296fb91c90870043742c3cdbff1a8d7',
303
+ // }
304
+ // const ARBITRUM_ONE_ADDRESSES: ChainAddresses = {
305
+ // ...DEFAULT_ADDRESSES,
306
+ // multicallAddress: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB',
307
+ // tickLensAddress: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573',
308
+ // v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32',
309
+ // v4PositionManagerAddress: '0xd88f38f930b7952f2db2432cb002e7abbf3dd869',
310
+ // v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990',
311
+ // v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5',
312
+ // }
313
+ // const POLYGON_ADDRESSES: ChainAddresses = {
314
+ // ...DEFAULT_ADDRESSES,
315
+ // v4PoolManagerAddress: '0x67366782805870060151383f4bbff9dab53e5cd6',
316
+ // v4PositionManagerAddress: '0x1ec2ebf4f37e7363fdfe3551602425af0b3ceef9',
317
+ // v4StateView: '0x5ea1bd7974c8a611cbab0bdcafcb1d9cc9b3ba5a',
318
+ // v4QuoterAddress: '0xb3d5c3dfc3a7aebff71895a7191796bffc2c81b9',
319
+ // }
320
+ // // celo v3 addresses
321
+ // const CELO_ADDRESSES: ChainAddresses = {
322
+ // v3CoreFactoryAddress: '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc',
323
+ // multicallAddress: '0x633987602DE5C4F337e3DbF265303A1080324204',
324
+ // quoterAddress: '0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8',
325
+ // v3MigratorAddress: '0x3cFd4d48EDfDCC53D3f173F596f621064614C582',
326
+ // nonfungiblePositionManagerAddress: '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A',
327
+ // tickLensAddress: '0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D',
328
+ // }
329
+ // // BNB v3 addresses
330
+ // const BNB_ADDRESSES: ChainAddresses = {
331
+ // v3CoreFactoryAddress: '0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7',
332
+ // multicallAddress: '0x963Df249eD09c358A4819E39d9Cd5736c3087184',
333
+ // quoterAddress: '0x78D78E420Da98ad378D7799bE8f4AF69033EB077',
334
+ // v3MigratorAddress: '0x32681814957e0C13117ddc0c2aba232b5c9e760f',
335
+ // nonfungiblePositionManagerAddress: '0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613',
336
+ // tickLensAddress: '0xD9270014D396281579760619CCf4c3af0501A47C',
337
+ // swapRouter02Address: '0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2',
338
+ // v4PoolManagerAddress: '0x28e2ea090877bf75740558f6bfb36a5ffee9e9df',
339
+ // v4PositionManagerAddress: '0x7a4a5c919ae2541aed11041a1aeee68f1287f95b',
340
+ // v4StateView: '0xd13dd3d6e93f276fafc9db9e6bb47c1180aee0c4',
341
+ // v4QuoterAddress: '0x9f75dd27d6664c475b90e105573e550ff69437b0',
342
+ // }
343
+ // // optimism goerli addresses
344
+ // const OPTIMISM_GOERLI_ADDRESSES: ChainAddresses = {
345
+ // v3CoreFactoryAddress: '0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10',
346
+ // multicallAddress: '0x07F2D8a2a02251B62af965f22fC4744A5f96BCCd',
347
+ // quoterAddress: '0x9569CbA925c8ca2248772A9A4976A516743A246F',
348
+ // v3MigratorAddress: '0xf6c55fBe84B1C8c3283533c53F51bC32F5C7Aba8',
349
+ // nonfungiblePositionManagerAddress: '0x39Ca85Af2F383190cBf7d7c41ED9202D27426EF6',
350
+ // tickLensAddress: '0xe6140Bd164b63E8BfCfc40D5dF952f83e171758e',
351
+ // }
352
+ // optimism sepolia addresses
353
+ const OPTIMISM_SEPOLIA_ADDRESSES = {
354
+ v3CoreFactoryAddress: '0x8CE191193D15ea94e11d327b4c7ad8bbE520f6aF',
355
+ multicallAddress: '0x80e4e06841bb76AA9735E0448cB8d003C0EF009a',
356
+ quoterAddress: '0x0FBEa6cf957d95ee9313490050F6A0DA68039404',
357
+ v3MigratorAddress: '0xE7EcbAAaA54D007A00dbb6c1d2f150066D69dA07',
358
+ nonfungiblePositionManagerAddress: '0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d',
359
+ tickLensAddress: '0xCb7f54747F58F8944973cea5b8f4ac2209BadDC5',
360
+ swapRouter02Address: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4',
361
+ };
362
+ // // arbitrum goerli v3 addresses
363
+ // const ARBITRUM_GOERLI_ADDRESSES: ChainAddresses = {
364
+ // v3CoreFactoryAddress: '0x4893376342d5D7b3e31d4184c08b265e5aB2A3f6',
365
+ // multicallAddress: '0x8260CB40247290317a4c062F3542622367F206Ee',
366
+ // quoterAddress: '0x1dd92b83591781D0C6d98d07391eea4b9a6008FA',
367
+ // v3MigratorAddress: '0xA815919D2584Ac3F76ea9CB62E6Fd40a43BCe0C3',
368
+ // nonfungiblePositionManagerAddress: '0x622e4726a167799826d1E1D150b076A7725f5D81',
369
+ // tickLensAddress: '0xb52429333da969a0C79a60930a4Bf0020E5D1DE8',
370
+ // }
371
+ // // arbitrum sepolia v3 addresses
372
+ // const ARBITRUM_SEPOLIA_ADDRESSES: ChainAddresses = {
373
+ // v3CoreFactoryAddress: '0x248AB79Bbb9bC29bB72f7Cd42F17e054Fc40188e',
374
+ // multicallAddress: '0x2B718b475e385eD29F56775a66aAB1F5cC6B2A0A',
375
+ // quoterAddress: '0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B',
376
+ // v3MigratorAddress: '0x398f43ef2c67B941147157DA1c5a868E906E043D',
377
+ // nonfungiblePositionManagerAddress: '0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65',
378
+ // tickLensAddress: '0x0fd18587734e5C2dcE2dccDcC7DD1EC89ba557d9',
379
+ // swapRouter02Address: '0x101F443B4d1b059569D643917553c771E1b9663E',
380
+ // v4PoolManagerAddress: '0xFB3e0C6F74eB1a21CC1Da29aeC80D2Dfe6C9a317',
381
+ // v4PositionManagerAddress: '0xAc631556d3d4019C95769033B5E719dD77124BAc',
382
+ // v4StateView: '0x9d467fa9062b6e9b1a46e26007ad82db116c67cb',
383
+ // v4QuoterAddress: '0x7de51022d70a725b508085468052e25e22b5c4c9',
384
+ // }
385
+ // // sepolia v3 addresses
386
+ // const SEPOLIA_ADDRESSES: ChainAddresses = {
387
+ // v3CoreFactoryAddress: '0x0227628f3F023bb0B980b67D528571c95c6DaC1c',
388
+ // multicallAddress: '0xD7F33bCdb21b359c8ee6F0251d30E94832baAd07',
389
+ // quoterAddress: '0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3',
390
+ // v3MigratorAddress: '0x729004182cF005CEC8Bd85df140094b6aCbe8b15',
391
+ // nonfungiblePositionManagerAddress: '0x1238536071E1c677A632429e3655c799b22cDA52',
392
+ // tickLensAddress: '0xd7f33bcdb21b359c8ee6f0251d30e94832baad07',
393
+ // swapRouter02Address: '0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E',
394
+ // // TODO: update mixedRouteQuoterV2Address once v4 on sepolia redeployed
395
+ // mixedRouteQuoterV2Address: '0x4745f77b56a0e2294426e3936dc4fab68d9543cd',
396
+ // // TODO: update all below once v4 on sepolia redeployed
397
+ // v4PoolManagerAddress: '0xE03A1074c86CFeDd5C142C4F04F1a1536e203543',
398
+ // v4PositionManagerAddress: '0x429ba70129df741B2Ca2a85BC3A2a3328e5c09b4',
399
+ // v4StateView: '0xe1dd9c3fa50edb962e442f60dfbc432e24537e4c',
400
+ // v4QuoterAddress: '0x61b3f2011a92d183c7dbadbda940a7555ccf9227',
401
+ // }
402
+ // // Avalanche v3 addresses
403
+ // const AVALANCHE_ADDRESSES: ChainAddresses = {
404
+ // v3CoreFactoryAddress: '0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD',
405
+ // multicallAddress: '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2',
406
+ // quoterAddress: '0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F',
407
+ // v3MigratorAddress: '0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97',
408
+ // nonfungiblePositionManagerAddress: '0x655C406EBFa14EE2006250925e54ec43AD184f8B',
409
+ // tickLensAddress: '0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950',
410
+ // swapRouter02Address: '0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE',
411
+ // v4PoolManagerAddress: '0x06380c0e0912312b5150364b9dc4542ba0dbbc85',
412
+ // v4PositionManagerAddress: '0xb74b1f14d2754acfcbbe1a221023a5cf50ab8acd',
413
+ // v4StateView: '0xc3c9e198c735a4b97e3e683f391ccbdd60b69286',
414
+ // v4QuoterAddress: '0xbe40675bb704506a3c2ccfb762dcfd1e979845c2',
415
+ // }
416
+ // const BASE_ADDRESSES: ChainAddresses = {
417
+ // v3CoreFactoryAddress: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD',
418
+ // multicallAddress: '0x091e99cb1C49331a94dD62755D168E941AbD0693',
419
+ // quoterAddress: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a',
420
+ // v3MigratorAddress: '0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7',
421
+ // nonfungiblePositionManagerAddress: '0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1',
422
+ // tickLensAddress: '0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d',
423
+ // swapRouter02Address: '0x2626664c2603336E57B271c5C0b26F421741e481',
424
+ // mixedRouteQuoterV1Address: '0xe544efae946f0008ae9a8d64493efa7886b73776',
425
+ // v4PoolManagerAddress: '0x498581ff718922c3f8e6a244956af099b2652b2b',
426
+ // v4PositionManagerAddress: '0x7c5f5a4bbd8fd63184577525326123b519429bdc',
427
+ // v4StateView: '0xa3c0c9b65bad0b08107aa264b0f3db444b867a71',
428
+ // v4QuoterAddress: '0x0d5e0f971ed27fbff6c2837bf31316121532048d',
429
+ // }
430
+ // // Base Goerli v3 addresses
431
+ // const BASE_GOERLI_ADDRESSES: ChainAddresses = {
432
+ // v3CoreFactoryAddress: '0x9323c1d6D800ed51Bd7C6B216cfBec678B7d0BC2',
433
+ // multicallAddress: '0xB206027a9E0E13F05eBEFa5D2402Bab3eA716439',
434
+ // quoterAddress: '0xedf539058e28E5937dAef3f69cEd0b25fbE66Ae9',
435
+ // v3MigratorAddress: '0x3efe5d02a04b7351D671Db7008ec6eBA9AD9e3aE',
436
+ // nonfungiblePositionManagerAddress: '0x3c61369ef0D1D2AFa70d8feC2F31C5D6Ce134F30',
437
+ // tickLensAddress: '0x1acB873Ee909D0c98adB18e4474943249F931b92',
438
+ // swapRouter02Address: '0x8357227D4eDc78991Db6FDB9bD6ADE250536dE1d',
439
+ // }
440
+ // // Base Sepolia v3 addresses
441
+ const BASE_SEPOLIA_ADDRESSES = {
442
+ v3CoreFactoryAddress: '0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24',
443
+ multicallAddress: '0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1',
444
+ quoterAddress: '0xC5290058841028F1614F3A6F0F5816cAd0df5E27',
445
+ v3MigratorAddress: '0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10',
446
+ nonfungiblePositionManagerAddress: '0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2',
447
+ tickLensAddress: '0xedf6066a2b290C185783862C7F4776A2C8077AD1',
448
+ swapRouter02Address: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4',
449
+ // v4
450
+ v4PoolManagerAddress: '0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408',
451
+ v4PositionManagerAddress: '0x4b2c77d209d3405f41a037ec6c77f7f5b8e2ca80',
452
+ v4StateView: '0x571291b572ed32ce6751a2cb2486ebee8defb9b4',
453
+ v4QuoterAddress: '0x4a6513c898fe1b2d0e78d3b0e0a4a151589b1cba',
454
+ };
455
+ const ZORA_ADDRESSES = {
456
+ v3CoreFactoryAddress: '0x7145F8aeef1f6510E92164038E1B6F8cB2c42Cbb',
457
+ multicallAddress: '0xA51c76bEE6746cB487a7e9312E43e2b8f4A37C15',
458
+ quoterAddress: '0x11867e1b3348F3ce4FcC170BC5af3d23E07E64Df',
459
+ v3MigratorAddress: '0x048352d8dCF13686982C799da63fA6426a9D0b60',
460
+ nonfungiblePositionManagerAddress: '0xbC91e8DfA3fF18De43853372A3d7dfe585137D78',
461
+ tickLensAddress: '0x209AAda09D74Ad3B8D0E92910Eaf85D2357e3044',
462
+ swapRouter02Address: '0x7De04c96BE5159c3b5CeffC82aa176dc81281557',
463
+ v4PoolManagerAddress: '0x0575338e4c17006ae181b47900a84404247ca30f',
464
+ v4PositionManagerAddress: '0xf66c7b99e2040f0d9b326b3b7c152e9663543d63',
465
+ v4StateView: '0x385785af07d63b50d0a0ea57c4ff89d06adf7328',
466
+ v4QuoterAddress: '0x5edaccc0660e0a2c44b06e07ce8b915e625dc2c6',
467
+ };
468
+ const ZORA_SEPOLIA_ADDRESSES = {
469
+ v3CoreFactoryAddress: '0x4324A677D74764f46f33ED447964252441aA8Db6',
470
+ multicallAddress: '0xA1E7e3A69671C4494EC59Dbd442de930a93F911A',
471
+ quoterAddress: '0xC195976fEF0985886E37036E2DF62bF371E12Df0',
472
+ v3MigratorAddress: '0x65ef259b31bf1d977c37e9434658694267674897',
473
+ nonfungiblePositionManagerAddress: '0xB8458EaAe43292e3c1F7994EFd016bd653d23c20',
474
+ tickLensAddress: '0x23C0F71877a1Fc4e20A78018f9831365c85f3064',
475
+ };
476
+ const ROOTSTOCK_ADDRESSES = {
477
+ v3CoreFactoryAddress: '0xaF37EC98A00FD63689CF3060BF3B6784E00caD82',
478
+ multicallAddress: '0x996a9858cDfa45Ad68E47c9A30a7201E29c6a386',
479
+ quoterAddress: '0xb51727c996C68E60F598A923a5006853cd2fEB31',
480
+ v3MigratorAddress: '0x16678977CA4ec3DAD5efc7b15780295FE5f56162',
481
+ nonfungiblePositionManagerAddress: '0x9d9386c042F194B460Ec424a1e57ACDE25f5C4b1',
482
+ tickLensAddress: '0x55B9dF5bF68ADe972191a91980459f48ecA16afC',
483
+ swapRouter02Address: '0x0B14ff67f0014046b4b99057Aec4509640b3947A',
484
+ };
485
+ // const BLAST_ADDRESSES: ChainAddresses = {
486
+ // v3CoreFactoryAddress: '0x792edAdE80af5fC680d96a2eD80A44247D2Cf6Fd',
487
+ // multicallAddress: '0xdC7f370de7631cE9e2c2e1DCDA6B3B5744Cf4705',
488
+ // quoterAddress: '0x6Cdcd65e03c1CEc3730AeeCd45bc140D57A25C77',
489
+ // v3MigratorAddress: '0x15CA7043CD84C5D21Ae76Ba0A1A967d42c40ecE0',
490
+ // nonfungiblePositionManagerAddress: '0xB218e4f7cF0533d4696fDfC419A0023D33345F28',
491
+ // tickLensAddress: '0x2E95185bCdD928a3e984B7e2D6560Ab1b17d7274',
492
+ // swapRouter02Address: '0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66',
493
+ // v4PoolManagerAddress: '0x1631559198a9e474033433b2958dabc135ab6446',
494
+ // v4PositionManagerAddress: '0x4ad2f4cca2682cbb5b950d660dd458a1d3f1baad',
495
+ // v4StateView: '0x12a88ae16f46dce4e8b15368008ab3380885df30',
496
+ // v4QuoterAddress: '0x6f71cdcb0d119ff72c6eb501abceb576fbf62bcf',
497
+ // }
498
+ const ZKSYNC_ADDRESSES = {
499
+ v3CoreFactoryAddress: '0x8FdA5a7a8dCA67BBcDd10F02Fa0649A937215422',
500
+ multicallAddress: '0x0c68a7C72f074d1c45C16d41fa74eEbC6D16a65C',
501
+ quoterAddress: '0x8Cb537fc92E26d8EBBb760E632c95484b6Ea3e28',
502
+ v3MigratorAddress: '0x611841b24E43C4ACfd290B427a3D6cf1A59dac8E',
503
+ nonfungiblePositionManagerAddress: '0x0616e5762c1E7Dc3723c50663dF10a162D690a86',
504
+ tickLensAddress: '0xe10FF11b809f8EE07b056B452c3B2caa7FE24f89',
505
+ swapRouter02Address: '0x99c56385daBCE3E81d8499d0b8d0257aBC07E8A3',
506
+ };
507
+ const WORLDCHAIN_ADDRESSES = {
508
+ v3CoreFactoryAddress: '0x7a5028BDa40e7B173C278C5342087826455ea25a',
509
+ multicallAddress: '0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9',
510
+ quoterAddress: '0x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c',
511
+ v3MigratorAddress: '0x9EBDdCBa71C9027E1eB45135672a30bcFEec9de3',
512
+ nonfungiblePositionManagerAddress: '0xec12a9F9a09f50550686363766Cc153D03c27b5e',
513
+ tickLensAddress: '0xE61df0CaC9d85876aCE5E3037005D80943570623',
514
+ swapRouter02Address: '0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6',
515
+ v4PoolManagerAddress: '0xb1860d529182ac3bc1f51fa2abd56662b7d13f33',
516
+ v4PositionManagerAddress: '0xc585e0f504613b5fbf874f21af14c65260fb41fa',
517
+ v4StateView: '0x51d394718bc09297262e368c1a481217fdeb71eb',
518
+ v4QuoterAddress: '0x55d235b3ff2daf7c3ede0defc9521f1d6fe6c5c0',
519
+ };
520
+ // const UNICHAIN_SEPOLIA_ADDRESSES: ChainAddresses = {
521
+ // v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984',
522
+ // multicallAddress: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1',
523
+ // quoterAddress: '0x6Dd37329A1A225a6Fca658265D460423DCafBF89',
524
+ // v3MigratorAddress: '0xb5FA244C9d6D04B2FBac84418b3c4910ED1Ae5f2',
525
+ // nonfungiblePositionManagerAddress: '0xB7F724d6dDDFd008eFf5cc2834edDE5F9eF0d075',
526
+ // tickLensAddress: '0x5f739c790a48E97eec0efb81bab5D152c0A0ecA0',
527
+ // swapRouter02Address: '0xd1AAE39293221B77B0C71fBD6dCb7Ea29Bb5B166',
528
+ // v4PoolManagerAddress: '0x00b036b58a818b1bc34d502d3fe730db729e62ac',
529
+ // v4PositionManagerAddress: '0xf969aee60879c54baaed9f3ed26147db216fd664',
530
+ // v4StateView: '0xc199f1072a74d4e905aba1a84d9a45e2546b6222',
531
+ // v4QuoterAddress: '0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472',
532
+ // }
533
+ // const UNICHAIN_ADDRESSES: ChainAddresses = {
534
+ // v3CoreFactoryAddress: '0x1f98400000000000000000000000000000000003',
535
+ // multicallAddress: '0xb7610f9b733e7d45184be3a1bc966960ccc54f0b',
536
+ // quoterAddress: '0x565ac8c7863d9bb16d07e809ff49fe5cd467634c',
537
+ // v3MigratorAddress: '0xb9d0c246f306b1aaf02ae6ba112d5ef25e5b60dc',
538
+ // nonfungiblePositionManagerAddress: '0x943e6e07a7e8e791dafc44083e54041d743c46e9',
539
+ // tickLensAddress: '0xd5d76fa166ab8d8ad4c9f61aaa81457b66cbe443',
540
+ // swapRouter02Address: '0x73855d06de49d0fe4a9c42636ba96c62da12ff9c',
541
+ // v4PoolManagerAddress: '0x1f98400000000000000000000000000000000004',
542
+ // v4PositionManagerAddress: '0x4529a01c7a0410167c5740c487a8de60232617bf',
543
+ // v4StateView: '0x86e8631a016f9068c3f085faf484ee3f5fdee8f2',
544
+ // v4QuoterAddress: '0x333e3c607b141b18ff6de9f258db6e77fe7491e0',
545
+ // }
546
+ const MONAD_TESTNET_ADDRESSES = {
547
+ v3CoreFactoryAddress: '0x961235a9020b05c44df1026d956d1f4d78014276',
548
+ multicallAddress: '0xa707ceb989cc3728551ed0e6e44b718dd114cf44',
549
+ quoterAddress: '0x1ba215c17565de7b0cb7ecab971bcf540c24a862',
550
+ v3MigratorAddress: '0x0a78348b71f8ae8caff2f8f9d4d74a2f36516661',
551
+ nonfungiblePositionManagerAddress: '0x3dcc735c74f10fe2b9db2bb55c40fbbbf24490f7',
552
+ tickLensAddress: '0x337478eb6058455ecb3696184b30dd6a29e3a893',
553
+ swapRouter02Address: '0x4c4eabd5fb1d1a7234a48692551eaecff8194ca7',
554
+ };
555
+ const MONAD_ADDRESSES = {
556
+ v3CoreFactoryAddress: '0x204faca1764b154221e35c0d20abb3c525710498',
557
+ multicallAddress: '0xd1b797d92d87b688193a2b976efc8d577d204343',
558
+ quoterAddress: '0x2d01411773c8c24805306e89a41f7855c3c4fe65',
559
+ v3MigratorAddress: '0x7078c4537c04c2b2e52ddba06074dbdacf23ca15',
560
+ nonfungiblePositionManagerAddress: '0x7197e214c0b767cfb76fb734ab638e2c192f4e53',
561
+ tickLensAddress: '0xf025e0fe9e331a0ef05c2ad3c4e9c64b625cda6f',
562
+ swapRouter02Address: '0xfe31f71c1b106eac32f1a19239c9a9a72ddfb900',
563
+ // v4
564
+ v4PoolManagerAddress: '0x188d586ddcf52439676ca21a244753fa19f9ea8e',
565
+ v4PositionManagerAddress: '0x5b7ec4a94ff9bedb700fb82ab09d5846972f4016',
566
+ v4StateView: '0x77395f3b2e73ae90843717371294fa97cc419d64',
567
+ v4QuoterAddress: '0xa222dd357a9076d1091ed6aa2e16c9742dd26891',
568
+ };
569
+ const SONEIUM_ADDRESSES = {
570
+ v3CoreFactoryAddress: '0x42ae7ec7ff020412639d443e245d936429fbe717',
571
+ multicallAddress: '0x8ad5ef2f2508288d2de66f04dd883ad5f4ef62b2',
572
+ quoterAddress: '0x3e6c707d0125226ff60f291b6bd1404634f00aba',
573
+ v3MigratorAddress: '0xa107580f73bd797bd8b87ff24e98346d99f93ddb',
574
+ nonfungiblePositionManagerAddress: '0x56c1205b0244332011c1e866f4ea5384eb6bfa2c',
575
+ tickLensAddress: '0xcd08eefb928c86499e6235ac155906bb7c4dc41a',
576
+ swapRouter02Address: '0x7e40db01736f88464e5f4e42394f3d5bbb6705b9',
577
+ v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32',
578
+ v4PositionManagerAddress: '0x1b35d13a2e2528f192637f14b05f0dc0e7deb566',
579
+ v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990',
580
+ v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5',
581
+ };
582
+ exports.RING_CHAIN_TO_ADDRESSES_MAP = {
583
+ [sdk_core_1.ChainId.HYPER_MAINNET]: HYPER_MAINNET_ADDRESSES,
584
+ [sdk_core_1.ChainId.MAINNET]: ETH_MAINNET_ADDRESSES,
585
+ [sdk_core_1.ChainId.OPTIMISM]: OPTIMISM_ADDRESSES,
586
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: ARBITRUM_ONE_ADDRESSES,
587
+ [sdk_core_1.ChainId.POLYGON]: POLYGON_ADDRESSES,
588
+ [sdk_core_1.ChainId.POLYGON_MUMBAI]: POLYGON_ADDRESSES,
589
+ [sdk_core_1.ChainId.GOERLI]: GOERLI_ADDRESSES,
590
+ [sdk_core_1.ChainId.CELO]: CELO_ADDRESSES,
591
+ [sdk_core_1.ChainId.CELO_ALFAJORES]: CELO_ADDRESSES,
592
+ [sdk_core_1.ChainId.BNB]: BNB_ADDRESSES,
593
+ [sdk_core_1.ChainId.OPTIMISM_GOERLI]: OPTIMISM_GOERLI_ADDRESSES,
594
+ [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: OPTIMISM_SEPOLIA_ADDRESSES,
595
+ [sdk_core_1.ChainId.ARBITRUM_GOERLI]: ARBITRUM_GOERLI_ADDRESSES,
596
+ [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: ARBITRUM_SEPOLIA_ADDRESSES,
597
+ [sdk_core_1.ChainId.SEPOLIA]: SEPOLIA_ADDRESSES,
598
+ [sdk_core_1.ChainId.AVALANCHE]: AVALANCHE_ADDRESSES,
599
+ [sdk_core_1.ChainId.BASE]: BASE_ADDRESSES,
600
+ [sdk_core_1.ChainId.BASE_GOERLI]: BASE_GOERLI_ADDRESSES,
601
+ [sdk_core_1.ChainId.BASE_SEPOLIA]: BASE_SEPOLIA_ADDRESSES,
602
+ [sdk_core_1.ChainId.ZORA]: ZORA_ADDRESSES,
603
+ [sdk_core_1.ChainId.ZORA_SEPOLIA]: ZORA_SEPOLIA_ADDRESSES,
604
+ [sdk_core_1.ChainId.ROOTSTOCK]: ROOTSTOCK_ADDRESSES,
605
+ [sdk_core_1.ChainId.BLAST]: BLAST_MAINNET_ADDRESSES,
606
+ [sdk_core_1.ChainId.BLAST_SEPOLIA]: BLAST_SEPOLIA_ADDRESSES,
607
+ [sdk_core_1.ChainId.STORY_ODYSSEY]: STORY_ODYSSEY_ADDRESSES,
608
+ [sdk_core_1.ChainId.STORY_MAINNET]: STORY_MAINNET_ADDRESSES,
609
+ [sdk_core_1.ChainId.ZKSYNC]: ZKSYNC_ADDRESSES,
610
+ [sdk_core_1.ChainId.WORLDCHAIN]: WORLDCHAIN_ADDRESSES,
611
+ [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: UNICHAIN_SEPOLIA_ADDRESSES,
612
+ [sdk_core_1.ChainId.UNICHAIN]: UNICHAIN_ADDRESSES,
613
+ [sdk_core_1.ChainId.MONAD_TESTNET]: MONAD_TESTNET_ADDRESSES,
614
+ [sdk_core_1.ChainId.MONAD]: MONAD_ADDRESSES,
615
+ [sdk_core_1.ChainId.SONEIUM]: SONEIUM_ADDRESSES,
616
+ };
617
+ function isFewToken(token) {
618
+ var _a, _b, _c, _d;
619
+ const isFewWrappedName = (_b = (_a = token.name) === null || _a === void 0 ? void 0 : _a.startsWith('Few Wrapped ')) !== null && _b !== void 0 ? _b : false;
620
+ const isFwSymbol = (_d = (_c = token.symbol) === null || _c === void 0 ? void 0 : _c.startsWith('fw')) !== null && _d !== void 0 ? _d : false;
621
+ return isFewWrappedName || isFwSymbol;
622
+ }
623
+ exports.isFewToken = isFewToken;
624
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV3QWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL2Zld0FkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0RBQTZFO0FBc0I3RSxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsS0FBSztJQUNiLGtCQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLGtCQUFPLENBQUMsUUFBUTtJQUNoQixrQkFBTyxDQUFDLGdCQUFnQjtJQUN4QixrQkFBTyxDQUFDLElBQUk7Q0FDYixDQUFBO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxPQUFlLEVBQUUscUJBQWdDLEVBQUU7SUFDbEYsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUN2QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUNSLENBQUM7QUFFWSxRQUFBLGFBQWEsR0FBZSx1QkFBdUIsQ0FBQyw0Q0FBNEMsRUFBRTtJQUM3RyxrQkFBTyxDQUFDLFFBQVE7SUFDaEIsa0JBQU8sQ0FBQyxZQUFZO0lBQ3BCLGtCQUFPLENBQUMsT0FBTztJQUNmLGtCQUFPLENBQUMsY0FBYztJQUN0QixrQkFBTyxDQUFDLE9BQU87Q0FDaEIsQ0FBQyxDQUFBO0FBRVcsUUFBQSxpQ0FBaUMsR0FBRyw0Q0FBNEMsQ0FBQTtBQUVoRixRQUFBLDBCQUEwQixHQUFHLDRDQUE0QyxDQUFBO0FBQ3pFLFFBQUEsd0JBQXdCLEdBQUcsNENBQTRDLENBQUE7QUFDdkUsUUFBQSxnQ0FBZ0MsR0FBRyw0Q0FBNEMsQ0FBQTtBQUMvRSxRQUFBLDhCQUE4QixHQUFHLDRDQUE0QyxD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