@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,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddress = exports.getAddressLowerCase = exports.BEACON_CHAIN_DEPOSIT_ADDRESS = exports.WETH9 = exports.constructSameAddressMap = exports.MULTICALL2_ADDRESS = exports.V3_MIGRATOR_ADDRESS = exports.NONFUNGIBLE_POSITION_MANAGER_ADDRESS = exports.TICK_LENS_ADDRESS = exports.ARB_GASINFO_ADDRESS = exports.OVM_GASPRICE_ADDRESS = exports.STATE_VIEW_ADDRESSES = exports.SWAP_ROUTER_02_ADDRESSES = exports.RING_UNISWAP_MULTICALL_ADDRESSES = exports.UNISWAP_MULTICALL_ADDRESSES = exports.MIXED_ROUTE_QUOTER_V2_ADDRESSES = exports.RING_MIXED_ROUTE_QUOTER_V1_ADDRESSES = exports.MIXED_ROUTE_QUOTER_V1_ADDRESSES = exports.PROTOCOL_V4_QUOTER_ADDRESSES = exports.NEW_QUOTER_V2_ADDRESSES = exports.QUOTER_V2_ADDRESSES = exports.V3_CORE_FACTORY_ADDRESSES = exports.BNB_V3_MIGRATOR_ADDRESS = exports.BNB_SWAP_ROUTER_02_ADDRESS = exports.BNB_NONFUNGIBLE_POSITION_MANAGER_ADDRESS = exports.BNB_TICK_LENS_ADDRESS = void 0;
4
+ const router_sdk_1 = require("@ring-protocol/router-sdk");
5
+ const sdk_core_1 = require("@ring-protocol/sdk-core");
6
+ const v3_sdk_1 = require("@ring-protocol/v3-sdk");
7
+ const chains_1 = require("./chains");
8
+ const fewAddress_1 = require("./fewAddress");
9
+ exports.BNB_TICK_LENS_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].tickLensAddress;
10
+ exports.BNB_NONFUNGIBLE_POSITION_MANAGER_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].nonfungiblePositionManagerAddress;
11
+ exports.BNB_SWAP_ROUTER_02_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].swapRouter02Address;
12
+ exports.BNB_V3_MIGRATOR_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].v3MigratorAddress;
13
+ exports.V3_CORE_FACTORY_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap(v3_sdk_1.FACTORY_ADDRESS)), { [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].v3CoreFactoryAddress, [sdk_core_1.ChainId.CELO]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO].v3CoreFactoryAddress, [sdk_core_1.ChainId.CELO_ALFAJORES]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO_ALFAJORES].v3CoreFactoryAddress, [sdk_core_1.ChainId.OPTIMISM_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_GOERLI].v3CoreFactoryAddress, [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_SEPOLIA].v3CoreFactoryAddress, [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].v3CoreFactoryAddress, [sdk_core_1.ChainId.ARBITRUM_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_GOERLI].v3CoreFactoryAddress, [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_SEPOLIA].v3CoreFactoryAddress, [sdk_core_1.ChainId.BNB]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].v3CoreFactoryAddress, [sdk_core_1.ChainId.AVALANCHE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.AVALANCHE].v3CoreFactoryAddress, [sdk_core_1.ChainId.BASE_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_GOERLI].v3CoreFactoryAddress, [sdk_core_1.ChainId.BASE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE].v3CoreFactoryAddress, [sdk_core_1.ChainId.BLAST]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BLAST].v3CoreFactoryAddress, [sdk_core_1.ChainId.ZORA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZORA].v3CoreFactoryAddress, [sdk_core_1.ChainId.ZKSYNC]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZKSYNC].v3CoreFactoryAddress, [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].v3CoreFactoryAddress, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].v3CoreFactoryAddress, [sdk_core_1.ChainId.MONAD_TESTNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MONAD_TESTNET].v3CoreFactoryAddress, [sdk_core_1.ChainId.BASE_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_SEPOLIA].v3CoreFactoryAddress,
14
+ // TODO: Gnosis + Moonbeam contracts to be deployed
15
+ [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].v3CoreFactoryAddress, [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].v3CoreFactoryAddress, [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].v3CoreFactoryAddress });
16
+ exports.QUOTER_V2_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap('0x61fFE014bA17989E743c5F6cB21bF9697530B21e')), { [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].quoterAddress, [sdk_core_1.ChainId.CELO]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO].quoterAddress, [sdk_core_1.ChainId.CELO_ALFAJORES]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO_ALFAJORES].quoterAddress, [sdk_core_1.ChainId.OPTIMISM_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_GOERLI].quoterAddress, [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_SEPOLIA].quoterAddress, [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].quoterAddress, [sdk_core_1.ChainId.ARBITRUM_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_GOERLI].quoterAddress, [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_SEPOLIA].quoterAddress, [sdk_core_1.ChainId.BNB]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].quoterAddress, [sdk_core_1.ChainId.AVALANCHE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.AVALANCHE].quoterAddress, [sdk_core_1.ChainId.BASE_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_GOERLI].quoterAddress, [sdk_core_1.ChainId.BASE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE].quoterAddress, [sdk_core_1.ChainId.BLAST]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BLAST].quoterAddress, [sdk_core_1.ChainId.ZORA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZORA].quoterAddress, [sdk_core_1.ChainId.ZKSYNC]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZKSYNC].quoterAddress, [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].quoterAddress, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].quoterAddress, [sdk_core_1.ChainId.MONAD_TESTNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MONAD_TESTNET].quoterAddress, [sdk_core_1.ChainId.BASE_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_SEPOLIA].quoterAddress,
17
+ // TODO: Gnosis + Moonbeam contracts to be deployed
18
+ [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].quoterAddress, [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].quoterAddress, [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].quoterAddress });
19
+ exports.NEW_QUOTER_V2_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap('0x5e55C9e631FAE526cd4B0526C4818D6e0a9eF0e3')), { [sdk_core_1.ChainId.CELO]: '0x5e55C9e631FAE526cd4B0526C4818D6e0a9eF0e3', [sdk_core_1.ChainId.CELO_ALFAJORES]: '0x5e55C9e631FAE526cd4B0526C4818D6e0a9eF0e3', [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: '0x5e55C9e631FAE526cd4B0526C4818D6e0a9eF0e3', [sdk_core_1.ChainId.SEPOLIA]: '0xf0c802dcb0cf1c4f7b953756b49d940eed190221', [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: '0x5e55C9e631FAE526cd4B0526C4818D6e0a9eF0e3', [sdk_core_1.ChainId.BNB]: '0x5e55C9e631FAE526cd4B0526C4818D6e0a9eF0e3', [sdk_core_1.ChainId.AVALANCHE]: '0xf0c802dcb0cf1c4f7b953756b49d940eed190221', [sdk_core_1.ChainId.POLYGON_MUMBAI]: '0x60e06b92bC94a665036C26feC5FF2A92E2d04c5f', [sdk_core_1.ChainId.BASE]: '0x222cA98F00eD15B1faE10B61c277703a194cf5d2', [sdk_core_1.ChainId.BLAST]: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1', [sdk_core_1.ChainId.ZORA]: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1', [sdk_core_1.ChainId.ZKSYNC]: '0x071Bd2063dF031EDd110E27C6F4CDe50A3DeF2d4', [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].quoterAddress, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].quoterAddress, [sdk_core_1.ChainId.MONAD_TESTNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MONAD_TESTNET].quoterAddress, [sdk_core_1.ChainId.BASE_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_SEPOLIA].quoterAddress, [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].quoterAddress, [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].quoterAddress, [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].quoterAddress });
20
+ exports.PROTOCOL_V4_QUOTER_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap('0xf3a39c86dbd13c45365e57fb90fe413371f65af8')), { [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].v4QuoterAddress, [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].v4QuoterAddress, [sdk_core_1.ChainId.ARBITRUM_ONE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_ONE].v4QuoterAddress, [sdk_core_1.ChainId.BASE]: '0xe1a6c5803e3c44368b171bd680c7d32dfc92ca47', [sdk_core_1.ChainId.POLYGON]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.POLYGON].v4QuoterAddress, [sdk_core_1.ChainId.BNB]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].v4QuoterAddress, [sdk_core_1.ChainId.AVALANCHE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.AVALANCHE].v4QuoterAddress, [sdk_core_1.ChainId.OPTIMISM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM].v4QuoterAddress, [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].v4QuoterAddress, [sdk_core_1.ChainId.ZORA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZORA].v4QuoterAddress, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].v4QuoterAddress, [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].v4QuoterAddress, [sdk_core_1.ChainId.BLAST]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BLAST].v4QuoterAddress, [sdk_core_1.ChainId.MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MAINNET].v4QuoterAddress, [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].v4QuoterAddress, [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].v4QuoterAddress });
21
+ exports.MIXED_ROUTE_QUOTER_V1_ADDRESSES = {
22
+ [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].mixedRouteQuoterV1Address,
23
+ [sdk_core_1.ChainId.MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MAINNET].mixedRouteQuoterV1Address,
24
+ [sdk_core_1.ChainId.GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.GOERLI].mixedRouteQuoterV1Address,
25
+ [sdk_core_1.ChainId.SEPOLIA]: '0x7B77A426044f952540890148b65282CB7374e9e9',
26
+ [sdk_core_1.ChainId.BASE]: '0xe544efae946f0008ae9a8d64493efa7886b73776',
27
+ [sdk_core_1.ChainId.UNICHAIN]: '0x48C0648E357639B446C99a6c7316A3eaFEaB35aE',
28
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: '0x003aa18c6E682dB80Cf4aa17261CcbFfd28690CE',
29
+ [sdk_core_1.ChainId.POLYGON]: '0x58ead433EA99708604C4dD7c9b7E80C70976E202',
30
+ [sdk_core_1.ChainId.OPTIMISM]: '0x204faca1764b154221e35c0d20abb3c525710498',
31
+ [sdk_core_1.ChainId.AVALANCHE]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
32
+ [sdk_core_1.ChainId.BNB]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
33
+ [sdk_core_1.ChainId.WORLDCHAIN]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
34
+ [sdk_core_1.ChainId.ZORA]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
35
+ [sdk_core_1.ChainId.SONEIUM]: '0x42c14CE921e85bf14467A82fAf8182546cf7c604',
36
+ [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].mixedRouteQuoterV1Address,
37
+ };
38
+ exports.RING_MIXED_ROUTE_QUOTER_V1_ADDRESSES = {
39
+ [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].mixedRouteQuoterV1Address,
40
+ [sdk_core_1.ChainId.MAINNET]: '0xf09F1899074B5659148C615dd30C29060f264894',
41
+ [sdk_core_1.ChainId.GOERLI]: '0x06f8B28e06Ca024f20E0f38530CD7EFc23EfA53c',
42
+ [sdk_core_1.ChainId.SEPOLIA]: '0x8721eaBF3F37B74C2ac8Abc3ceCD672aB2e15ABA',
43
+ [sdk_core_1.ChainId.BLAST]: '0xB27F82Ef49674b40640e98Ad5964eC401DBC0371',
44
+ [sdk_core_1.ChainId.UNICHAIN]: '0x8721eaBF3F37B74C2ac8Abc3ceCD672aB2e15ABA',
45
+ [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: '0x8721eaBF3F37B74C2ac8Abc3ceCD672aB2e15ABA',
46
+ [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: '0xcd58C52236c4A77BD0322857a662B09eAd5b0387',
47
+ [sdk_core_1.ChainId.BASE]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE].mixedRouteQuoterV1Address,
48
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_ONE].mixedRouteQuoterV1Address,
49
+ [sdk_core_1.ChainId.POLYGON]: '0x58ead433EA99708604C4dD7c9b7E80C70976E202',
50
+ [sdk_core_1.ChainId.OPTIMISM]: '0x204faca1764b154221e35c0d20abb3c525710498',
51
+ [sdk_core_1.ChainId.AVALANCHE]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
52
+ [sdk_core_1.ChainId.BNB]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
53
+ [sdk_core_1.ChainId.WORLDCHAIN]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
54
+ [sdk_core_1.ChainId.ZORA]: '0x204FAca1764B154221e35c0d20aBb3c525710498',
55
+ [sdk_core_1.ChainId.SONEIUM]: '0x42c14CE921e85bf14467A82fAf8182546cf7c604',
56
+ [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].mixedRouteQuoterV1Address,
57
+ };
58
+ exports.MIXED_ROUTE_QUOTER_V2_ADDRESSES = {
59
+ [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].mixedRouteQuoterV2Address,
60
+ [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].mixedRouteQuoterV2Address,
61
+ [sdk_core_1.ChainId.MAINNET]: '0xE63C5F5005909E96b5aA9CE10744CCE70eC16CC3',
62
+ [sdk_core_1.ChainId.BASE]: '0x253ee8eb6551b47181b613461c15d699fe4a2e39',
63
+ [sdk_core_1.ChainId.UNICHAIN]: '0x48C0648E357639B446C99a6c7316A3eaFEaB35aE',
64
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1',
65
+ [sdk_core_1.ChainId.POLYGON]: '0x9d0f15f2cf58655fddcd1ee6129c547fdaed01b1',
66
+ [sdk_core_1.ChainId.OPTIMISM]: '0xf0c802DCb0cF1C4f7B953756b49D940EED190221',
67
+ [sdk_core_1.ChainId.AVALANCHE]: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1',
68
+ [sdk_core_1.ChainId.BNB]: '0xf0c802DCb0cF1C4f7B953756b49D940EED190221',
69
+ [sdk_core_1.ChainId.WORLDCHAIN]: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1',
70
+ [sdk_core_1.ChainId.ZORA]: '0x5f739c790a48E97eec0efb81bab5D152c0A0ecA0',
71
+ [sdk_core_1.ChainId.SONEIUM]: '0x42c14CE921e85bf14467A82fAf8182546cf7c604',
72
+ [sdk_core_1.ChainId.STORY_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].mixedRouteQuoterV2Address,
73
+ };
74
+ exports.UNISWAP_MULTICALL_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap('0x1F98415757620B543A52E61c46B32eB19261F984')), { [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].multicallAddress, [sdk_core_1.ChainId.CELO]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO].multicallAddress, [sdk_core_1.ChainId.CELO_ALFAJORES]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO_ALFAJORES].multicallAddress, [sdk_core_1.ChainId.OPTIMISM_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_GOERLI].multicallAddress, [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_SEPOLIA].multicallAddress, [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].multicallAddress, [sdk_core_1.ChainId.ARBITRUM_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_GOERLI].multicallAddress, [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_SEPOLIA].multicallAddress, [sdk_core_1.ChainId.BNB]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].multicallAddress, [sdk_core_1.ChainId.AVALANCHE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.AVALANCHE].multicallAddress, [sdk_core_1.ChainId.BASE_GOERLI]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_GOERLI].multicallAddress, [sdk_core_1.ChainId.BASE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE].multicallAddress, [sdk_core_1.ChainId.BLAST]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BLAST].multicallAddress, [sdk_core_1.ChainId.ZORA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZORA].multicallAddress, [sdk_core_1.ChainId.ZKSYNC]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZKSYNC].multicallAddress, [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].multicallAddress, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].multicallAddress, [sdk_core_1.ChainId.MONAD_TESTNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MONAD_TESTNET].multicallAddress, [sdk_core_1.ChainId.BASE_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_SEPOLIA].multicallAddress,
75
+ // TODO: Gnosis + Moonbeam contracts to be deployed
76
+ [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].multicallAddress, [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].multicallAddress, [sdk_core_1.ChainId.STORY_MAINNET]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].multicallAddress });
77
+ exports.RING_UNISWAP_MULTICALL_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap('0x1F98415757620B543A52E61c46B32eB19261F984')), { [sdk_core_1.ChainId.HYPER_MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.HYPER_MAINNET].multicallAddress, [sdk_core_1.ChainId.CELO]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO].multicallAddress, [sdk_core_1.ChainId.CELO_ALFAJORES]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.CELO_ALFAJORES].multicallAddress, [sdk_core_1.ChainId.OPTIMISM_GOERLI]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_GOERLI].multicallAddress, [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM_SEPOLIA].multicallAddress, [sdk_core_1.ChainId.SEPOLIA]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].multicallAddress, [sdk_core_1.ChainId.ARBITRUM_GOERLI]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_GOERLI].multicallAddress, [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_SEPOLIA].multicallAddress, [sdk_core_1.ChainId.BNB]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].multicallAddress, [sdk_core_1.ChainId.AVALANCHE]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.AVALANCHE].multicallAddress, [sdk_core_1.ChainId.BASE_GOERLI]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_GOERLI].multicallAddress, [sdk_core_1.ChainId.BASE]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE].multicallAddress, [sdk_core_1.ChainId.BLAST]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BLAST].multicallAddress, [sdk_core_1.ChainId.ZORA]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZORA].multicallAddress, [sdk_core_1.ChainId.ZKSYNC]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZKSYNC].multicallAddress, [sdk_core_1.ChainId.WORLDCHAIN]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].multicallAddress, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].multicallAddress, [sdk_core_1.ChainId.MONAD_TESTNET]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MONAD_TESTNET].multicallAddress, [sdk_core_1.ChainId.BASE_SEPOLIA]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE_SEPOLIA].multicallAddress,
78
+ // TODO: Gnosis + Moonbeam contracts to be deployed
79
+ [sdk_core_1.ChainId.UNICHAIN]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].multicallAddress, [sdk_core_1.ChainId.SONEIUM]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].multicallAddress, [sdk_core_1.ChainId.STORY_MAINNET]: fewAddress_1.RING_CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.STORY_MAINNET].multicallAddress });
80
+ const SWAP_ROUTER_02_ADDRESSES = (chainId) => {
81
+ var _a;
82
+ return ((_a = (0, sdk_core_1.SWAP_ROUTER_02_ADDRESSES)(chainId)) !== null && _a !== void 0 ? _a : '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45');
83
+ };
84
+ exports.SWAP_ROUTER_02_ADDRESSES = SWAP_ROUTER_02_ADDRESSES;
85
+ exports.STATE_VIEW_ADDRESSES = Object.assign(Object.assign({}, constructSameAddressMap('0x1F98415757620B543A52E61c46B32eB19261F984')), { [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SEPOLIA].v4StateView, [sdk_core_1.ChainId.ARBITRUM_ONE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_ONE].v4StateView, [sdk_core_1.ChainId.BASE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BASE].v4StateView, [sdk_core_1.ChainId.POLYGON]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.POLYGON].v4StateView, [sdk_core_1.ChainId.BNB]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BNB].v4StateView, [sdk_core_1.ChainId.OPTIMISM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.OPTIMISM].v4StateView, [sdk_core_1.ChainId.AVALANCHE]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.AVALANCHE].v4StateView, [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.WORLDCHAIN].v4StateView, [sdk_core_1.ChainId.ZORA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ZORA].v4StateView, [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN_SEPOLIA].v4StateView, [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.UNICHAIN].v4StateView, [sdk_core_1.ChainId.BLAST]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.BLAST].v4StateView, [sdk_core_1.ChainId.MAINNET]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MAINNET].v4StateView, [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.SONEIUM].v4StateView });
86
+ exports.OVM_GASPRICE_ADDRESS = '0x420000000000000000000000000000000000000F';
87
+ exports.ARB_GASINFO_ADDRESS = '0x000000000000000000000000000000000000006C';
88
+ exports.TICK_LENS_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.ARBITRUM_ONE].tickLensAddress;
89
+ exports.NONFUNGIBLE_POSITION_MANAGER_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MAINNET].nonfungiblePositionManagerAddress;
90
+ exports.V3_MIGRATOR_ADDRESS = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[sdk_core_1.ChainId.MAINNET].v3MigratorAddress;
91
+ exports.MULTICALL2_ADDRESS = '0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696';
92
+ function constructSameAddressMap(address, additionalNetworks = []) {
93
+ return chains_1.NETWORKS_WITH_SAME_UNISWAP_ADDRESSES.concat(additionalNetworks).reduce((memo, chainId) => {
94
+ memo[chainId] = address;
95
+ return memo;
96
+ }, {});
97
+ }
98
+ exports.constructSameAddressMap = constructSameAddressMap;
99
+ exports.WETH9 = {
100
+ [sdk_core_1.ChainId.MAINNET]: sdk_core_1.WETH9[sdk_core_1.ChainId.MAINNET],
101
+ [sdk_core_1.ChainId.GOERLI]: sdk_core_1.WETH9[sdk_core_1.ChainId.GOERLI],
102
+ [sdk_core_1.ChainId.SEPOLIA]: sdk_core_1.WETH9[sdk_core_1.ChainId.SEPOLIA],
103
+ [sdk_core_1.ChainId.OPTIMISM]: sdk_core_1.WETH9[sdk_core_1.ChainId.OPTIMISM],
104
+ [sdk_core_1.ChainId.OPTIMISM_GOERLI]: new sdk_core_1.Token(sdk_core_1.ChainId.OPTIMISM_GOERLI, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
105
+ [sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: sdk_core_1.WETH9[sdk_core_1.ChainId.OPTIMISM_SEPOLIA],
106
+ [sdk_core_1.ChainId.ARBITRUM_ONE]: sdk_core_1.WETH9[sdk_core_1.ChainId.ARBITRUM_ONE],
107
+ [sdk_core_1.ChainId.ARBITRUM_GOERLI]: new sdk_core_1.Token(sdk_core_1.ChainId.ARBITRUM_GOERLI, '0xe39Ab88f8A4777030A534146A9Ca3B52bd5D43A3', 18, 'WETH', 'Wrapped Ether'),
108
+ [sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: sdk_core_1.WETH9[sdk_core_1.ChainId.ARBITRUM_SEPOLIA],
109
+ [sdk_core_1.ChainId.BASE_GOERLI]: new sdk_core_1.Token(sdk_core_1.ChainId.BASE_GOERLI, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
110
+ [sdk_core_1.ChainId.BASE]: sdk_core_1.WETH9[sdk_core_1.ChainId.BASE],
111
+ [sdk_core_1.ChainId.BLAST]: sdk_core_1.WETH9[sdk_core_1.ChainId.BLAST],
112
+ [sdk_core_1.ChainId.ZORA]: sdk_core_1.WETH9[sdk_core_1.ChainId.ZORA],
113
+ [sdk_core_1.ChainId.ZORA_SEPOLIA]: new sdk_core_1.Token(sdk_core_1.ChainId.ZORA_SEPOLIA, '0x4200000000000000000000000000000000000006', 18, 'WETH', 'Wrapped Ether'),
114
+ [sdk_core_1.ChainId.ZKSYNC]: sdk_core_1.WETH9[sdk_core_1.ChainId.ZKSYNC],
115
+ [sdk_core_1.ChainId.WORLDCHAIN]: sdk_core_1.WETH9[sdk_core_1.ChainId.WORLDCHAIN],
116
+ [sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: sdk_core_1.WETH9[sdk_core_1.ChainId.UNICHAIN_SEPOLIA],
117
+ [sdk_core_1.ChainId.BASE_SEPOLIA]: sdk_core_1.WETH9[sdk_core_1.ChainId.BASE_SEPOLIA],
118
+ [sdk_core_1.ChainId.UNICHAIN]: sdk_core_1.WETH9[sdk_core_1.ChainId.UNICHAIN],
119
+ [sdk_core_1.ChainId.SONEIUM]: sdk_core_1.WETH9[sdk_core_1.ChainId.SONEIUM],
120
+ };
121
+ exports.BEACON_CHAIN_DEPOSIT_ADDRESS = '0x00000000219ab540356cBB839Cbe05303d7705Fa';
122
+ function getAddressLowerCase(currency) {
123
+ if (currency.isToken) {
124
+ return currency.address.toLowerCase();
125
+ }
126
+ else {
127
+ return router_sdk_1.ADDRESS_ZERO;
128
+ }
129
+ }
130
+ exports.getAddressLowerCase = getAddressLowerCase;
131
+ function getAddress(currency) {
132
+ if (currency.isToken) {
133
+ return currency.address;
134
+ }
135
+ else {
136
+ return router_sdk_1.ADDRESS_ZERO;
137
+ }
138
+ }
139
+ exports.getAddress = getAddress;
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvYWRkcmVzc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUF5RDtBQUN6RCxzREFPaUM7QUFDakMsa0RBQXdEO0FBRXhELHFDQUFnRTtBQUNoRSw2Q0FBMkQ7QUFFOUMsUUFBQSxxQkFBcUIsR0FDaEMsaUNBQXNCLENBQUMsa0JBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUM7QUFDekMsUUFBQSx3Q0FBd0MsR0FDbkQsaUNBQXNCLENBQUMsa0JBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxpQ0FBaUMsQ0FBQztBQUMzRCxRQUFBLDBCQUEwQixHQUNyQyxpQ0FBc0IsQ0FBQyxrQkFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLG1CQUFvQixDQUFDO0FBQzlDLFFBQUEsdUJBQXVCLEdBQ2xDLGlDQUFzQixDQUFDLGtCQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUM7QUFFM0MsUUFBQSx5QkFBeUIsbUNBQ2pDLHVCQUF1QixDQUFDLHdCQUFlLENBQUMsS0FDM0MsQ0FBQyxrQkFBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLGlDQUFzQixDQUFDLGtCQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsb0JBQW9CLEVBQzNGLENBQUMsa0JBQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxpQ0FBc0IsQ0FBQyxrQkFBTyxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixFQUN6RSxDQUFDLGtCQUFPLENBQUMsY0FBYyxDQUFDLEVBQ3RCLGlDQUFzQixDQUFDLGtCQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsb0JBQW9CLEVBQ3JFLENBQUMsa0JBQU8sQ0FBQyxlQUFlLENBQUMsRUFDdkIsaUNBQXNCLENBQUMsa0JBQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxvQkFBb0IsRUFDdEUsQ0FBQyxrQkFBTyxDQUFDLGdCQUFnQixDQUFDLEVBQ3hCLGlD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
@@ -0,0 +1,10 @@
1
+ import { ChainId, Currency, CurrencyAmount as CurrencyAmountRaw } from '@ring-protocol/sdk-core';
2
+ import { FeeAmount } from '@ring-protocol/v3-sdk';
3
+ export declare class CurrencyAmount extends CurrencyAmountRaw<Currency> {
4
+ }
5
+ export declare const MAX_UINT160 = "0xffffffffffffffffffffffffffffffffffffffff";
6
+ export declare function parseAmount(value: string, currency: Currency): CurrencyAmount;
7
+ export declare function parseFeeAmount(feeAmountStr: string): FeeAmount;
8
+ export declare function unparseFeeAmount(feeAmount: FeeAmount): "10000" | "3000" | "500" | "400" | "300" | "200" | "100";
9
+ export declare function getApplicableV3FeeAmounts(chainId: ChainId): FeeAmount[];
10
+ export declare function getApplicableV4FeesTickspacingsHooks(chainId: ChainId): Array<[number, number, string]>;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getApplicableV4FeesTickspacingsHooks = exports.getApplicableV3FeeAmounts = exports.unparseFeeAmount = exports.parseFeeAmount = exports.parseAmount = exports.MAX_UINT160 = exports.CurrencyAmount = void 0;
7
+ const units_1 = require("@ethersproject/units");
8
+ const router_sdk_1 = require("@ring-protocol/router-sdk");
9
+ const sdk_core_1 = require("@ring-protocol/sdk-core");
10
+ const v3_sdk_1 = require("@ring-protocol/v3-sdk");
11
+ const jsbi_1 = __importDefault(require("jsbi"));
12
+ class CurrencyAmount extends sdk_core_1.CurrencyAmount {
13
+ }
14
+ exports.CurrencyAmount = CurrencyAmount;
15
+ exports.MAX_UINT160 = '0xffffffffffffffffffffffffffffffffffffffff';
16
+ // Try to parse a user entered amount for a given token
17
+ function parseAmount(value, currency) {
18
+ const typedValueParsed = (0, units_1.parseUnits)(value, currency.decimals).toString();
19
+ return CurrencyAmount.fromRawAmount(currency, jsbi_1.default.BigInt(typedValueParsed));
20
+ }
21
+ exports.parseAmount = parseAmount;
22
+ function parseFeeAmount(feeAmountStr) {
23
+ switch (feeAmountStr) {
24
+ case '10000':
25
+ return v3_sdk_1.FeeAmount.HIGH;
26
+ case '3000':
27
+ return v3_sdk_1.FeeAmount.MEDIUM;
28
+ case '500':
29
+ return v3_sdk_1.FeeAmount.LOW;
30
+ case '400':
31
+ return v3_sdk_1.FeeAmount.LOW_400;
32
+ case '300':
33
+ return v3_sdk_1.FeeAmount.LOW_300;
34
+ case '200':
35
+ return v3_sdk_1.FeeAmount.LOW_200;
36
+ case '100':
37
+ return v3_sdk_1.FeeAmount.LOWEST;
38
+ default:
39
+ throw new Error(`Fee amount ${feeAmountStr} not supported.`);
40
+ }
41
+ }
42
+ exports.parseFeeAmount = parseFeeAmount;
43
+ function unparseFeeAmount(feeAmount) {
44
+ switch (feeAmount) {
45
+ case v3_sdk_1.FeeAmount.HIGH:
46
+ return '10000';
47
+ case v3_sdk_1.FeeAmount.MEDIUM:
48
+ return '3000';
49
+ case v3_sdk_1.FeeAmount.LOW:
50
+ return '500';
51
+ case v3_sdk_1.FeeAmount.LOW_400:
52
+ return '400';
53
+ case v3_sdk_1.FeeAmount.LOW_300:
54
+ return '300';
55
+ case v3_sdk_1.FeeAmount.LOW_200:
56
+ return '200';
57
+ case v3_sdk_1.FeeAmount.LOWEST:
58
+ return '100';
59
+ default:
60
+ throw new Error(`Fee amount ${feeAmount} not supported.`);
61
+ }
62
+ }
63
+ exports.unparseFeeAmount = unparseFeeAmount;
64
+ function getApplicableV3FeeAmounts(chainId) {
65
+ const feeAmounts = [
66
+ v3_sdk_1.FeeAmount.HIGH,
67
+ v3_sdk_1.FeeAmount.MEDIUM,
68
+ v3_sdk_1.FeeAmount.LOW,
69
+ v3_sdk_1.FeeAmount.LOWEST,
70
+ ];
71
+ if (chainId === sdk_core_1.ChainId.BASE) {
72
+ feeAmounts.push(v3_sdk_1.FeeAmount.LOW_200, v3_sdk_1.FeeAmount.LOW_300, v3_sdk_1.FeeAmount.LOW_400);
73
+ }
74
+ return feeAmounts;
75
+ }
76
+ exports.getApplicableV3FeeAmounts = getApplicableV3FeeAmounts;
77
+ function getApplicableV4FeesTickspacingsHooks(chainId) {
78
+ const feeAmounts = [
79
+ v3_sdk_1.FeeAmount.HIGH,
80
+ v3_sdk_1.FeeAmount.MEDIUM,
81
+ v3_sdk_1.FeeAmount.LOW,
82
+ v3_sdk_1.FeeAmount.LOWEST,
83
+ ];
84
+ if (chainId === sdk_core_1.ChainId.BASE) {
85
+ feeAmounts.push(v3_sdk_1.FeeAmount.LOW_200, v3_sdk_1.FeeAmount.LOW_300, v3_sdk_1.FeeAmount.LOW_400);
86
+ }
87
+ return feeAmounts.map((feeAmount) => [
88
+ feeAmount,
89
+ v3_sdk_1.TICK_SPACINGS[feeAmount],
90
+ router_sdk_1.ADDRESS_ZERO,
91
+ ]);
92
+ }
93
+ exports.getApplicableV4FeesTickspacingsHooks = getApplicableV4FeesTickspacingsHooks;
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL2Ftb3VudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQWtEO0FBQ2xELDBEQUF5RDtBQUN6RCxzREFJaUM7QUFDakMsa0RBQWlFO0FBQ2pFLGdEQUF3QjtBQUV4QixNQUFhLGNBQWUsU0FBUSx5QkFBMkI7Q0FBSTtBQUFuRSx3Q0FBbUU7QUFFdEQsUUFBQSxXQUFXLEdBQUcsNENBQTRDLENBQUM7QUFFeEUsdURBQXVEO0FBQ3ZELFNBQWdCLFdBQVcsQ0FBQyxLQUFhLEVBQUUsUUFBa0I7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLGtCQUFVLEVBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6RSxPQUFPLGNBQWMsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLGNBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUM7QUFIRCxrQ0FHQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxZQUFvQjtJQUNqRCxRQUFRLFlBQVksRUFBRTtRQUNwQixLQUFLLE9BQU87WUFDVixPQUFPLGtCQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3hCLEtBQUssTUFBTTtZQUNULE9BQU8sa0JBQVMsQ0FBQyxNQUFNLENBQUM7UUFDMUIsS0FBSyxLQUFLO1lBQ1IsT0FBTyxrQkFBUyxDQUFDLEdBQUcsQ0FBQztRQUN2QixLQUFLLEtBQUs7WUFDUixPQUFPLGtCQUFTLENBQUMsT0FBTyxDQUFDO1FBQzNCLEtBQUssS0FBSztZQUNSLE9BQU8sa0JBQVMsQ0FBQyxPQUFPLENBQUM7UUFDM0IsS0FBSyxLQUFLO1lBQ1IsT0FBTyxrQkFBUyxDQUFDLE9BQU8sQ0FBQztRQUMzQixLQUFLLEtBQUs7WUFDUixPQUFPLGtCQUFTLENBQUMsTUFBTSxDQUFDO1FBQzFCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLFlBQVksaUJBQWlCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFuQkQsd0NBbUJDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsU0FBb0I7SUFDbkQsUUFBUSxTQUFTLEVBQUU7UUFDakIsS0FBSyxrQkFBUyxDQUFDLElBQUk7WUFDakIsT0FBTyxPQUFPLENBQUM7UUFDakIsS0FBSyxrQkFBUyxDQUFDLE1BQU07WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxrQkFBUyxDQUFDLEdBQUc7WUFDaEIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLGtCQUFTLENBQUMsT0FBTztZQUNwQixPQUFPLEtBQUssQ0FBQztRQUNmLEtBQUssa0JBQVMsQ0FBQyxPQUFPO1lBQ3BCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsS0FBSyxrQkFBUyxDQUFDLE9BQU87WUFDcEIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLGtCQUFTLENBQUMsTUFBTTtZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLFNBQVMsaUJBQWlCLENBQUMsQ0FBQztLQUM3RDtBQUNILENBQUM7QUFuQkQsNENBbUJDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsT0FBZ0I7SUFDeEQsTUFBTSxVQUFVLEdBQUc7UUFDakIsa0JBQVMsQ0FBQyxJQUFJO1FBQ2Qsa0JBQVMsQ0FBQyxNQUFNO1FBQ2hCLGtCQUFTLENBQUMsR0FBRztRQUNiLGtCQUFTLENBQUMsTUFBTTtLQUNqQixDQUFDO0lBRUYsSUFBSSxPQUFPLEtBQUssa0JBQU8sQ0FBQyxJQUFJLEVBQUU7UUFDNUIsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBUyxDQUFDLE9BQU8sRUFBRSxrQkFBUyxDQUFDLE9BQU8sRUFBRSxrQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzFFO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQWJELDhEQWFDO0FBRUQsU0FBZ0Isb0NBQW9DLENBQ2xELE9BQWdCO0lBRWhCLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLGtCQUFTLENBQUMsSUFBSTtRQUNkLGtCQUFTLENBQUMsTUFBTTtRQUNoQixrQkFBUyxDQUFDLEdBQUc7UUFDYixrQkFBUyxDQUFDLE1BQU07S0FDakIsQ0FBQztJQUVGLElBQUksT0FBTyxLQUFLLGtCQUFPLENBQUMsSUFBSSxFQUFFO1FBQzVCLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQVMsQ0FBQyxPQUFPLEVBQUUsa0JBQVMsQ0FBQyxPQUFPLEVBQUUsa0JBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUMxRTtJQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDbkMsU0FBbUI7UUFDbkIsc0JBQWEsQ0FBQyxTQUFTLENBQUM7UUFDeEIseUJBQVk7S0FDYixDQUFDLENBQUM7QUFDTCxDQUFDO0FBbkJELG9GQW1CQyJ9
@@ -0,0 +1 @@
1
+ export declare const APPROVE_TOKEN_FOR_TRANSFER = "0x095ea7b300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APPROVE_TOKEN_FOR_TRANSFER = void 0;
4
+ // Calldata to max-approve our V3 Router contract
5
+ exports.APPROVE_TOKEN_FOR_TRANSFER = '0x095ea7b300000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9jYWxsRGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBaUQ7QUFDcEMsUUFBQSwwQkFBMEIsR0FDckMsNElBQTRJLENBQUMifQ==
@@ -0,0 +1,75 @@
1
+ import { ChainId, Ether, NativeCurrency, Token } from '@ring-protocol/sdk-core';
2
+ export declare const SUPPORTED_CHAINS: ChainId[];
3
+ export declare const V2_SUPPORTED: ChainId[];
4
+ export declare const RING_FEW_V2_SUPPORTED: ChainId[];
5
+ export declare const V4_SUPPORTED: ChainId[];
6
+ export declare const MIXED_SUPPORTED: ChainId[];
7
+ export declare const MIXED_CROSS_LIQUIDITY_V3_AGAINST_V4_SUPPORTED: ChainId[];
8
+ export declare const HAS_L1_FEE: ChainId[];
9
+ export declare const NETWORKS_WITH_SAME_UNISWAP_ADDRESSES: ChainId[];
10
+ export declare const ID_TO_CHAIN_ID: (id: number) => ChainId;
11
+ export declare enum ChainName {
12
+ MAINNET = "mainnet",
13
+ GOERLI = "goerli",
14
+ SEPOLIA = "sepolia",
15
+ OPTIMISM = "optimism-mainnet",
16
+ OPTIMISM_GOERLI = "optimism-goerli",
17
+ OPTIMISM_SEPOLIA = "optimism-sepolia",
18
+ ARBITRUM_ONE = "arbitrum-mainnet",
19
+ ARBITRUM_GOERLI = "arbitrum-goerli",
20
+ ARBITRUM_SEPOLIA = "arbitrum-sepolia",
21
+ POLYGON = "polygon-mainnet",
22
+ POLYGON_MUMBAI = "polygon-mumbai",
23
+ CELO = "celo-mainnet",
24
+ CELO_ALFAJORES = "celo-alfajores",
25
+ GNOSIS = "gnosis-mainnet",
26
+ MOONBEAM = "moonbeam-mainnet",
27
+ BNB = "bnb-mainnet",
28
+ AVALANCHE = "avalanche-mainnet",
29
+ BASE = "base-mainnet",
30
+ BASE_GOERLI = "base-goerli",
31
+ BASE_SEPOLIA = "base-sepolia",
32
+ BLAST = "blast-mainnet",
33
+ ZORA = "zora-mainnet",
34
+ ZKSYNC = "zksync-mainnet",
35
+ WORLDCHAIN = "worldchain-mainnet",
36
+ UNICHAIN_SEPOLIA = "unichain-sepolia",
37
+ UNICHAIN = "unichain-mainnet",
38
+ MONAD_TESTNET = "monad-testnet",
39
+ SONEIUM = "soneium-mainnet",
40
+ HYPER_MAINNET = "hyper-mainnet",
41
+ STORY_MAINNET = "story-mainnet"
42
+ }
43
+ export declare enum NativeCurrencyName {
44
+ ETHER = "ETH",
45
+ MATIC = "MATIC",
46
+ CELO = "CELO",
47
+ GNOSIS = "XDAI",
48
+ MOONBEAM = "GLMR",
49
+ BNB = "BNB",
50
+ AVALANCHE = "AVAX",
51
+ MONAD = "MON",
52
+ HYPER = "HYPE",
53
+ STORY = "IP"
54
+ }
55
+ export declare const NATIVE_NAMES_BY_ID: {
56
+ [chainId: number]: string[];
57
+ };
58
+ export declare const NATIVE_CURRENCY: {
59
+ [chainId: number]: NativeCurrencyName;
60
+ };
61
+ export declare const ID_TO_NETWORK_NAME: (id: number) => ChainName;
62
+ export declare const CHAIN_IDS_LIST: string[];
63
+ export declare const ID_TO_PROVIDER: (id: ChainId) => string;
64
+ export declare const WRAPPED_NATIVE_CURRENCY: {
65
+ [chainId in ChainId]: Token;
66
+ };
67
+ export declare const FEW_WRAPPED_NATIVE_CURRENCY: {
68
+ [chainId: number]: Token;
69
+ };
70
+ export declare class ExtendedEther extends Ether {
71
+ get wrapped(): Token;
72
+ private static _cachedExtendedEther;
73
+ static onChain(chainId: number): ExtendedEther;
74
+ }
75
+ export declare function nativeOnChain(chainId: number): NativeCurrency;