@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.
- package/CHANGELOG.md +255 -0
- package/LICENSE +674 -0
- package/README.md +307 -0
- package/build/main/index.d.ts +3 -0
- package/build/main/index.js +20 -0
- package/build/main/providers/cache-node.d.ts +10 -0
- package/build/main/providers/cache-node.js +33 -0
- package/build/main/providers/cache.d.ts +14 -0
- package/build/main/providers/cache.js +3 -0
- package/build/main/providers/caching/route/index.d.ts +2 -0
- package/build/main/providers/caching/route/index.js +19 -0
- package/build/main/providers/caching/route/model/cache-mode.d.ts +16 -0
- package/build/main/providers/caching/route/model/cache-mode.js +21 -0
- package/build/main/providers/caching/route/model/cached-route.d.ts +29 -0
- package/build/main/providers/caching/route/model/cached-route.js +77 -0
- package/build/main/providers/caching/route/model/cached-routes.d.ts +67 -0
- package/build/main/providers/caching/route/model/cached-routes.js +81 -0
- package/build/main/providers/caching/route/model/index.d.ts +3 -0
- package/build/main/providers/caching/route/model/index.js +20 -0
- package/build/main/providers/caching/route/route-caching-provider.d.ts +111 -0
- package/build/main/providers/caching/route/route-caching-provider.js +86 -0
- package/build/main/providers/caching-gas-provider.d.ts +23 -0
- package/build/main/providers/caching-gas-provider.js +41 -0
- package/build/main/providers/caching-subgraph-provider.d.ts +33 -0
- package/build/main/providers/caching-subgraph-provider.js +186 -0
- package/build/main/providers/caching-token-list-provider.d.ts +52 -0
- package/build/main/providers/caching-token-list-provider.js +147 -0
- package/build/main/providers/caching-token-provider.d.ts +24 -0
- package/build/main/providers/caching-token-provider.js +234 -0
- package/build/main/providers/eip-1559-gas-price-provider.d.ts +31 -0
- package/build/main/providers/eip-1559-gas-price-provider.js +71 -0
- package/build/main/providers/eth-estimate-gas-provider.d.ts +21 -0
- package/build/main/providers/eth-estimate-gas-provider.js +91 -0
- package/build/main/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
- package/build/main/providers/eth-gas-station-info-gas-price-provider.js +36 -0
- package/build/main/providers/fewV2/ring-caching-pool-provider.d.ts +33 -0
- package/build/main/providers/fewV2/ring-caching-pool-provider.js +89 -0
- package/build/main/providers/fewV2/ring-caching-subgraph-provider.d.ts +19 -0
- package/build/main/providers/fewV2/ring-caching-subgraph-provider.js +24 -0
- package/build/main/providers/fewV2/ring-pool-provider.d.ts +63 -0
- package/build/main/providers/fewV2/ring-pool-provider.js +148 -0
- package/build/main/providers/fewV2/ring-quote-provider.d.ts +34 -0
- package/build/main/providers/fewV2/ring-quote-provider.js +90 -0
- package/build/main/providers/fewV2/ring-static-subgraph-provider.d.ts +24 -0
- package/build/main/providers/fewV2/ring-static-subgraph-provider.js +284 -0
- package/build/main/providers/fewV2/ring-subgraph-provider-with-fallback.d.ts +16 -0
- package/build/main/providers/fewV2/ring-subgraph-provider-with-fallback.js +23 -0
- package/build/main/providers/fewV2/ring-subgraph-provider.d.ts +52 -0
- package/build/main/providers/fewV2/ring-subgraph-provider.js +183 -0
- package/build/main/providers/fewV2/ring-uri-subgraph-provider.d.ts +4 -0
- package/build/main/providers/fewV2/ring-uri-subgraph-provider.js +8 -0
- package/build/main/providers/gas-price-provider.d.ts +10 -0
- package/build/main/providers/gas-price-provider.js +10 -0
- package/build/main/providers/index.d.ts +56 -0
- package/build/main/providers/index.js +73 -0
- package/build/main/providers/legacy-gas-price-provider.d.ts +7 -0
- package/build/main/providers/legacy-gas-price-provider.js +18 -0
- package/build/main/providers/multicall-provider.d.ts +83 -0
- package/build/main/providers/multicall-provider.js +15 -0
- package/build/main/providers/multicall-ringswap-provider.d.ts +35 -0
- package/build/main/providers/multicall-ringswap-provider.js +164 -0
- package/build/main/providers/multicall-uniswap-provider.d.ts +37 -0
- package/build/main/providers/multicall-uniswap-provider.js +164 -0
- package/build/main/providers/on-chain-gas-price-provider.d.ts +19 -0
- package/build/main/providers/on-chain-gas-price-provider.js +37 -0
- package/build/main/providers/on-chain-quote-provider.d.ts +260 -0
- package/build/main/providers/on-chain-quote-provider.js +702 -0
- package/build/main/providers/pool-provider.d.ts +45 -0
- package/build/main/providers/pool-provider.js +73 -0
- package/build/main/providers/portion-provider.d.ts +86 -0
- package/build/main/providers/portion-provider.js +118 -0
- package/build/main/providers/provider.d.ts +38 -0
- package/build/main/providers/provider.js +3 -0
- package/build/main/providers/simulation-provider.d.ts +46 -0
- package/build/main/providers/simulation-provider.js +138 -0
- package/build/main/providers/static-gas-price-provider.d.ts +7 -0
- package/build/main/providers/static-gas-price-provider.js +13 -0
- package/build/main/providers/subgraph-provider-with-fallback.d.ts +11 -0
- package/build/main/providers/subgraph-provider-with-fallback.js +25 -0
- package/build/main/providers/subgraph-provider.d.ts +56 -0
- package/build/main/providers/subgraph-provider.js +287 -0
- package/build/main/providers/swap-router-provider.d.ts +30 -0
- package/build/main/providers/swap-router-provider.js +42 -0
- package/build/main/providers/tenderly-simulation-provider.d.ts +63 -0
- package/build/main/providers/tenderly-simulation-provider.js +446 -0
- package/build/main/providers/token-fee-fetcher.d.ts +31 -0
- package/build/main/providers/token-fee-fetcher.js +114 -0
- package/build/main/providers/token-properties-provider.d.ts +31 -0
- package/build/main/providers/token-properties-provider.js +118 -0
- package/build/main/providers/token-provider.d.ts +167 -0
- package/build/main/providers/token-provider.js +414 -0
- package/build/main/providers/token-validator-provider.d.ts +42 -0
- package/build/main/providers/token-validator-provider.js +99 -0
- package/build/main/providers/uri-subgraph-provider.d.ts +21 -0
- package/build/main/providers/uri-subgraph-provider.js +65 -0
- package/build/main/providers/v2/caching-pool-provider.d.ts +33 -0
- package/build/main/providers/v2/caching-pool-provider.js +89 -0
- package/build/main/providers/v2/caching-subgraph-provider.d.ts +19 -0
- package/build/main/providers/v2/caching-subgraph-provider.js +24 -0
- package/build/main/providers/v2/pool-provider.d.ts +63 -0
- package/build/main/providers/v2/pool-provider.js +148 -0
- package/build/main/providers/v2/quote-provider.d.ts +34 -0
- package/build/main/providers/v2/quote-provider.js +90 -0
- package/build/main/providers/v2/static-subgraph-provider.d.ts +19 -0
- package/build/main/providers/v2/static-subgraph-provider.js +183 -0
- package/build/main/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
- package/build/main/providers/v2/subgraph-provider-with-fallback.js +23 -0
- package/build/main/providers/v2/subgraph-provider.d.ts +52 -0
- package/build/main/providers/v2/subgraph-provider.js +334 -0
- package/build/main/providers/v2/uri-subgraph-provider.d.ts +4 -0
- package/build/main/providers/v2/uri-subgraph-provider.js +8 -0
- package/build/main/providers/v3/caching-pool-provider.d.ts +32 -0
- package/build/main/providers/v3/caching-pool-provider.js +84 -0
- package/build/main/providers/v3/caching-subgraph-provider.d.ts +19 -0
- package/build/main/providers/v3/caching-subgraph-provider.js +24 -0
- package/build/main/providers/v3/gas-data-provider.d.ts +39 -0
- package/build/main/providers/v3/gas-data-provider.js +26 -0
- package/build/main/providers/v3/pool-provider.d.ts +77 -0
- package/build/main/providers/v3/pool-provider.js +108 -0
- package/build/main/providers/v3/static-subgraph-provider.d.ts +21 -0
- package/build/main/providers/v3/static-subgraph-provider.js +229 -0
- package/build/main/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
- package/build/main/providers/v3/subgraph-provider-with-fallback.js +19 -0
- package/build/main/providers/v3/subgraph-provider.d.ts +45 -0
- package/build/main/providers/v3/subgraph-provider.js +46 -0
- package/build/main/providers/v3/uri-subgraph-provider.d.ts +4 -0
- package/build/main/providers/v3/uri-subgraph-provider.js +8 -0
- package/build/main/providers/v4/caching-pool-provider.d.ts +24 -0
- package/build/main/providers/v4/caching-pool-provider.js +81 -0
- package/build/main/providers/v4/caching-subgraph-provider.d.ts +19 -0
- package/build/main/providers/v4/caching-subgraph-provider.js +24 -0
- package/build/main/providers/v4/euler-swap-hooks-subgraph-provider.d.ts +25 -0
- package/build/main/providers/v4/euler-swap-hooks-subgraph-provider.js +160 -0
- package/build/main/providers/v4/pool-provider.d.ts +58 -0
- package/build/main/providers/v4/pool-provider.js +115 -0
- package/build/main/providers/v4/static-subgraph-provider.d.ts +15 -0
- package/build/main/providers/v4/static-subgraph-provider.js +78 -0
- package/build/main/providers/v4/subgraph-provider-with-fallback.d.ts +5 -0
- package/build/main/providers/v4/subgraph-provider-with-fallback.js +12 -0
- package/build/main/providers/v4/subgraph-provider.d.ts +63 -0
- package/build/main/providers/v4/subgraph-provider.js +63 -0
- package/build/main/providers/v4/uri-subgraph-provider.d.ts +4 -0
- package/build/main/providers/v4/uri-subgraph-provider.js +8 -0
- package/build/main/routers/alpha-router/alpha-router.d.ts +483 -0
- package/build/main/routers/alpha-router/alpha-router.js +2267 -0
- package/build/main/routers/alpha-router/config.d.ts +4 -0
- package/build/main/routers/alpha-router/config.js +129 -0
- package/build/main/routers/alpha-router/entities/index.d.ts +1 -0
- package/build/main/routers/alpha-router/entities/index.js +18 -0
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +329 -0
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +319 -0
- package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +25 -0
- package/build/main/routers/alpha-router/functions/best-swap-route.js +597 -0
- package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
- package/build/main/routers/alpha-router/functions/calculate-ratio-amount-in.js +18 -0
- package/build/main/routers/alpha-router/functions/compute-all-routes.d.ts +16 -0
- package/build/main/routers/alpha-router/functions/compute-all-routes.js +158 -0
- package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +192 -0
- package/build/main/routers/alpha-router/functions/get-candidate-pools.js +3025 -0
- package/build/main/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.d.ts +31 -0
- package/build/main/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.js +169 -0
- package/build/main/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
- package/build/main/routers/alpha-router/gas-models/gas-costs.js +200 -0
- package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +111 -0
- package/build/main/routers/alpha-router/gas-models/gas-model.js +120 -0
- package/build/main/routers/alpha-router/gas-models/index.d.ts +5 -0
- package/build/main/routers/alpha-router/gas-models/index.js +22 -0
- package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
- package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +161 -0
- package/build/main/routers/alpha-router/gas-models/ring-gas-model.d.ts +111 -0
- package/build/main/routers/alpha-router/gas-models/ring-gas-model.js +169 -0
- package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +21 -0
- package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +366 -0
- package/build/main/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.d.ts +26 -0
- package/build/main/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.js +41 -0
- package/build/main/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.d.ts +15 -0
- package/build/main/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.js +40 -0
- package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
- package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +169 -0
- package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
- package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +41 -0
- package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.d.ts +15 -0
- package/build/main/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js +40 -0
- package/build/main/routers/alpha-router/index.d.ts +4 -0
- package/build/main/routers/alpha-router/index.js +21 -0
- package/build/main/routers/alpha-router/quoters/base-quoter.d.ts +78 -0
- package/build/main/routers/alpha-router/quoters/base-quoter.js +77 -0
- package/build/main/routers/alpha-router/quoters/few-v2-quoter.d.ts +24 -0
- package/build/main/routers/alpha-router/quoters/few-v2-quoter.js +141 -0
- package/build/main/routers/alpha-router/quoters/index.d.ts +5 -0
- package/build/main/routers/alpha-router/quoters/index.js +22 -0
- package/build/main/routers/alpha-router/quoters/mixed-quoter.d.ts +34 -0
- package/build/main/routers/alpha-router/quoters/mixed-quoter.js +156 -0
- package/build/main/routers/alpha-router/quoters/model/index.d.ts +1 -0
- package/build/main/routers/alpha-router/quoters/model/index.js +18 -0
- package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
- package/build/main/routers/alpha-router/quoters/model/results/get-quotes-result.js +3 -0
- package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
- package/build/main/routers/alpha-router/quoters/model/results/get-routes-result.js +3 -0
- package/build/main/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
- package/build/main/routers/alpha-router/quoters/model/results/index.js +19 -0
- package/build/main/routers/alpha-router/quoters/uniswap-few-v3-quoter.d.ts +19 -0
- package/build/main/routers/alpha-router/quoters/uniswap-few-v3-quoter.js +118 -0
- package/build/main/routers/alpha-router/quoters/uniswap-few-v4-quoter.d.ts +18 -0
- package/build/main/routers/alpha-router/quoters/uniswap-few-v4-quoter.js +121 -0
- package/build/main/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
- package/build/main/routers/alpha-router/quoters/v2-quoter.js +141 -0
- package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
- package/build/main/routers/alpha-router/quoters/v3-quoter.js +125 -0
- package/build/main/routers/alpha-router/quoters/v4-quoter.d.ts +18 -0
- package/build/main/routers/alpha-router/quoters/v4-quoter.js +121 -0
- package/build/main/routers/index.d.ts +4 -0
- package/build/main/routers/index.js +21 -0
- package/build/main/routers/legacy-router/bases.d.ts +225 -0
- package/build/main/routers/legacy-router/bases.js +132 -0
- package/build/main/routers/legacy-router/index.d.ts +1 -0
- package/build/main/routers/legacy-router/index.js +18 -0
- package/build/main/routers/legacy-router/legacy-router.d.ts +41 -0
- package/build/main/routers/legacy-router/legacy-router.js +291 -0
- package/build/main/routers/router.d.ts +195 -0
- package/build/main/routers/router.js +68 -0
- package/build/main/tsconfig.tsbuildinfo +1 -0
- package/build/main/types/other/commons.d.ts +16 -0
- package/build/main/types/other/commons.js +6 -0
- package/build/main/types/other/factories/Erc20__factory.d.ts +45 -0
- package/build/main/types/other/factories/Erc20__factory.js +240 -0
- package/build/main/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
- package/build/main/types/other/factories/GasDataArbitrum__factory.js +58 -0
- package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
- package/build/main/types/other/factories/IMixedRouteQuoterV1__factory.js +156 -0
- package/build/main/types/other/factories/ITokenValidator__factory.d.ts +22 -0
- package/build/main/types/other/factories/ITokenValidator__factory.js +78 -0
- package/build/main/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
- package/build/main/types/other/factories/MixedRouteQuoterV2__factory.js +477 -0
- package/build/main/types/other/factories/Permit2__factory.d.ts +87 -0
- package/build/main/types/other/factories/Permit2__factory.js +936 -0
- package/build/main/types/other/factories/StateView__factory.d.ts +32 -0
- package/build/main/types/other/factories/StateView__factory.js +383 -0
- package/build/main/types/other/factories/SwapRouter02__factory.d.ts +67 -0
- package/build/main/types/other/factories/SwapRouter02__factory.js +1098 -0
- package/build/main/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
- package/build/main/types/other/factories/TokenFeeDetector__factory.js +243 -0
- package/build/main/types/other/factories/V4Quoter__factory.d.ts +37 -0
- package/build/main/types/other/factories/V4Quoter__factory.js +312 -0
- package/build/main/types/v2/commons.d.ts +16 -0
- package/build/main/types/v2/commons.js +6 -0
- package/build/main/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
- package/build/main/types/v2/factories/IUniswapV2Pair__factory.js +671 -0
- package/build/main/types/v3/commons.d.ts +16 -0
- package/build/main/types/v3/commons.js +6 -0
- package/build/main/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
- package/build/main/types/v3/factories/IERC20Metadata__factory.js +242 -0
- package/build/main/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
- package/build/main/types/v3/factories/IQuoterV2__factory.js +220 -0
- package/build/main/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
- package/build/main/types/v3/factories/IUniswapV3PoolState__factory.js +266 -0
- package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
- package/build/main/types/v3/factories/UniswapInterfaceMulticall__factory.js +127 -0
- package/build/main/util/addresses.d.ts +34 -0
- package/build/main/util/addresses.js +140 -0
- package/build/main/util/amounts.d.ts +10 -0
- package/build/main/util/amounts.js +94 -0
- package/build/main/util/callData.d.ts +1 -0
- package/build/main/util/callData.js +6 -0
- package/build/main/util/chains.d.ts +75 -0
- package/build/main/util/chains.js +780 -0
- package/build/main/util/defaultBlocksToLive.d.ts +4 -0
- package/build/main/util/defaultBlocksToLive.js +57 -0
- package/build/main/util/fewAddress.d.ts +48 -0
- package/build/main/util/fewAddress.js +624 -0
- package/build/main/util/gas-factory-helpers.d.ts +38 -0
- package/build/main/util/gas-factory-helpers.js +596 -0
- package/build/main/util/hooksOptions.d.ts +5 -0
- package/build/main/util/hooksOptions.js +10 -0
- package/build/main/util/index.d.ts +10 -0
- package/build/main/util/index.js +27 -0
- package/build/main/util/intent.d.ts +6 -0
- package/build/main/util/intent.js +13 -0
- package/build/main/util/l2FeeChains.d.ts +2 -0
- package/build/main/util/l2FeeChains.js +18 -0
- package/build/main/util/log.d.ts +3 -0
- package/build/main/util/log.js +97 -0
- package/build/main/util/methodParameters.d.ts +5 -0
- package/build/main/util/methodParameters.js +176 -0
- package/build/main/util/metric.d.ts +48 -0
- package/build/main/util/metric.js +59 -0
- package/build/main/util/mixedRouteFilterOutV4Pools.d.ts +3 -0
- package/build/main/util/mixedRouteFilterOutV4Pools.js +17 -0
- package/build/main/util/onchainQuoteProviderConfigs.d.ts +42 -0
- package/build/main/util/onchainQuoteProviderConfigs.js +72 -0
- package/build/main/util/pool.d.ts +5 -0
- package/build/main/util/pool.js +46 -0
- package/build/main/util/protocols.d.ts +2 -0
- package/build/main/util/protocols.js +22 -0
- package/build/main/util/routes.d.ts +11 -0
- package/build/main/util/routes.js +159 -0
- package/build/main/util/serializeRouteIds.d.ts +2 -0
- package/build/main/util/serializeRouteIds.js +12 -0
- package/build/main/util/simple-perf-tracker.d.ts +27 -0
- package/build/main/util/simple-perf-tracker.js +171 -0
- package/build/main/util/tenderlySimulationErrorBreakDown.d.ts +3 -0
- package/build/main/util/tenderlySimulationErrorBreakDown.js +33 -0
- package/build/main/util/unsupported-tokens.d.ts +37 -0
- package/build/main/util/unsupported-tokens.js +1119 -0
- package/build/module/index.d.ts +3 -0
- package/build/module/index.js +4 -0
- package/build/module/providers/cache-node.d.ts +10 -0
- package/build/module/providers/cache-node.js +29 -0
- package/build/module/providers/cache.d.ts +14 -0
- package/build/module/providers/cache.js +2 -0
- package/build/module/providers/caching/route/index.d.ts +2 -0
- package/build/module/providers/caching/route/index.js +3 -0
- package/build/module/providers/caching/route/model/cache-mode.d.ts +16 -0
- package/build/module/providers/caching/route/model/cache-mode.js +18 -0
- package/build/module/providers/caching/route/model/cached-route.d.ts +29 -0
- package/build/module/providers/caching/route/model/cached-route.js +73 -0
- package/build/module/providers/caching/route/model/cached-routes.d.ts +67 -0
- package/build/module/providers/caching/route/model/cached-routes.js +74 -0
- package/build/module/providers/caching/route/model/index.d.ts +3 -0
- package/build/module/providers/caching/route/model/index.js +4 -0
- package/build/module/providers/caching/route/route-caching-provider.d.ts +111 -0
- package/build/module/providers/caching/route/route-caching-provider.js +82 -0
- package/build/module/providers/caching-gas-provider.d.ts +23 -0
- package/build/module/providers/caching-gas-provider.js +37 -0
- package/build/module/providers/caching-subgraph-provider.d.ts +33 -0
- package/build/module/providers/caching-subgraph-provider.js +182 -0
- package/build/module/providers/caching-token-list-provider.d.ts +52 -0
- package/build/module/providers/caching-token-list-provider.js +140 -0
- package/build/module/providers/caching-token-provider.d.ts +24 -0
- package/build/module/providers/caching-token-provider.js +227 -0
- package/build/module/providers/eip-1559-gas-price-provider.d.ts +31 -0
- package/build/module/providers/eip-1559-gas-price-provider.js +64 -0
- package/build/module/providers/eth-estimate-gas-provider.d.ts +21 -0
- package/build/module/providers/eth-estimate-gas-provider.js +99 -0
- package/build/module/providers/eth-gas-station-info-gas-price-provider.d.ts +19 -0
- package/build/module/providers/eth-gas-station-info-gas-price-provider.js +29 -0
- package/build/module/providers/fewV2/ring-caching-pool-provider.d.ts +33 -0
- package/build/module/providers/fewV2/ring-caching-pool-provider.js +85 -0
- package/build/module/providers/fewV2/ring-caching-subgraph-provider.d.ts +19 -0
- package/build/module/providers/fewV2/ring-caching-subgraph-provider.js +20 -0
- package/build/module/providers/fewV2/ring-pool-provider.d.ts +63 -0
- package/build/module/providers/fewV2/ring-pool-provider.js +141 -0
- package/build/module/providers/fewV2/ring-quote-provider.d.ts +34 -0
- package/build/module/providers/fewV2/ring-quote-provider.js +86 -0
- package/build/module/providers/fewV2/ring-static-subgraph-provider.d.ts +24 -0
- package/build/module/providers/fewV2/ring-static-subgraph-provider.js +319 -0
- package/build/module/providers/fewV2/ring-subgraph-provider-with-fallback.d.ts +16 -0
- package/build/module/providers/fewV2/ring-subgraph-provider-with-fallback.js +19 -0
- package/build/module/providers/fewV2/ring-subgraph-provider.d.ts +52 -0
- package/build/module/providers/fewV2/ring-subgraph-provider.js +176 -0
- package/build/module/providers/fewV2/ring-uri-subgraph-provider.d.ts +4 -0
- package/build/module/providers/fewV2/ring-uri-subgraph-provider.js +4 -0
- package/build/module/providers/gas-price-provider.d.ts +10 -0
- package/build/module/providers/gas-price-provider.js +6 -0
- package/build/module/providers/index.d.ts +56 -0
- package/build/module/providers/index.js +57 -0
- package/build/module/providers/legacy-gas-price-provider.d.ts +7 -0
- package/build/module/providers/legacy-gas-price-provider.js +14 -0
- package/build/module/providers/multicall-provider.d.ts +83 -0
- package/build/module/providers/multicall-provider.js +11 -0
- package/build/module/providers/multicall-ringswap-provider.d.ts +35 -0
- package/build/module/providers/multicall-ringswap-provider.js +157 -0
- package/build/module/providers/multicall-uniswap-provider.d.ts +37 -0
- package/build/module/providers/multicall-uniswap-provider.js +157 -0
- package/build/module/providers/on-chain-gas-price-provider.d.ts +19 -0
- package/build/module/providers/on-chain-gas-price-provider.js +33 -0
- package/build/module/providers/on-chain-quote-provider.d.ts +260 -0
- package/build/module/providers/on-chain-quote-provider.js +696 -0
- package/build/module/providers/pool-provider.d.ts +45 -0
- package/build/module/providers/pool-provider.js +66 -0
- package/build/module/providers/portion-provider.d.ts +86 -0
- package/build/module/providers/portion-provider.js +114 -0
- package/build/module/providers/provider.d.ts +38 -0
- package/build/module/providers/provider.js +2 -0
- package/build/module/providers/simulation-provider.d.ts +46 -0
- package/build/module/providers/simulation-provider.js +140 -0
- package/build/module/providers/static-gas-price-provider.d.ts +7 -0
- package/build/module/providers/static-gas-price-provider.js +9 -0
- package/build/module/providers/subgraph-provider-with-fallback.d.ts +11 -0
- package/build/module/providers/subgraph-provider-with-fallback.js +21 -0
- package/build/module/providers/subgraph-provider.d.ts +56 -0
- package/build/module/providers/subgraph-provider.js +284 -0
- package/build/module/providers/swap-router-provider.d.ts +30 -0
- package/build/module/providers/swap-router-provider.js +38 -0
- package/build/module/providers/tenderly-simulation-provider.d.ts +63 -0
- package/build/module/providers/tenderly-simulation-provider.js +444 -0
- package/build/module/providers/token-fee-fetcher.d.ts +31 -0
- package/build/module/providers/token-fee-fetcher.js +110 -0
- package/build/module/providers/token-properties-provider.d.ts +31 -0
- package/build/module/providers/token-properties-provider.js +114 -0
- package/build/module/providers/token-provider.d.ts +167 -0
- package/build/module/providers/token-provider.js +401 -0
- package/build/module/providers/token-validator-provider.d.ts +42 -0
- package/build/module/providers/token-validator-provider.js +92 -0
- package/build/module/providers/uri-subgraph-provider.d.ts +21 -0
- package/build/module/providers/uri-subgraph-provider.js +58 -0
- package/build/module/providers/v2/caching-pool-provider.d.ts +33 -0
- package/build/module/providers/v2/caching-pool-provider.js +85 -0
- package/build/module/providers/v2/caching-subgraph-provider.d.ts +19 -0
- package/build/module/providers/v2/caching-subgraph-provider.js +20 -0
- package/build/module/providers/v2/pool-provider.d.ts +63 -0
- package/build/module/providers/v2/pool-provider.js +141 -0
- package/build/module/providers/v2/quote-provider.d.ts +34 -0
- package/build/module/providers/v2/quote-provider.js +86 -0
- package/build/module/providers/v2/static-subgraph-provider.d.ts +19 -0
- package/build/module/providers/v2/static-subgraph-provider.js +178 -0
- package/build/module/providers/v2/subgraph-provider-with-fallback.d.ts +16 -0
- package/build/module/providers/v2/subgraph-provider-with-fallback.js +19 -0
- package/build/module/providers/v2/subgraph-provider.d.ts +52 -0
- package/build/module/providers/v2/subgraph-provider.js +331 -0
- package/build/module/providers/v2/uri-subgraph-provider.d.ts +4 -0
- package/build/module/providers/v2/uri-subgraph-provider.js +4 -0
- package/build/module/providers/v3/caching-pool-provider.d.ts +32 -0
- package/build/module/providers/v3/caching-pool-provider.js +77 -0
- package/build/module/providers/v3/caching-subgraph-provider.d.ts +19 -0
- package/build/module/providers/v3/caching-subgraph-provider.js +20 -0
- package/build/module/providers/v3/gas-data-provider.d.ts +39 -0
- package/build/module/providers/v3/gas-data-provider.js +22 -0
- package/build/module/providers/v3/pool-provider.d.ts +77 -0
- package/build/module/providers/v3/pool-provider.js +101 -0
- package/build/module/providers/v3/static-subgraph-provider.d.ts +21 -0
- package/build/module/providers/v3/static-subgraph-provider.js +224 -0
- package/build/module/providers/v3/subgraph-provider-with-fallback.d.ts +12 -0
- package/build/module/providers/v3/subgraph-provider-with-fallback.js +15 -0
- package/build/module/providers/v3/subgraph-provider.d.ts +45 -0
- package/build/module/providers/v3/subgraph-provider.js +42 -0
- package/build/module/providers/v3/uri-subgraph-provider.d.ts +4 -0
- package/build/module/providers/v3/uri-subgraph-provider.js +4 -0
- package/build/module/providers/v4/caching-pool-provider.d.ts +24 -0
- package/build/module/providers/v4/caching-pool-provider.js +74 -0
- package/build/module/providers/v4/caching-subgraph-provider.d.ts +19 -0
- package/build/module/providers/v4/caching-subgraph-provider.js +20 -0
- package/build/module/providers/v4/euler-swap-hooks-subgraph-provider.d.ts +25 -0
- package/build/module/providers/v4/euler-swap-hooks-subgraph-provider.js +153 -0
- package/build/module/providers/v4/pool-provider.d.ts +58 -0
- package/build/module/providers/v4/pool-provider.js +106 -0
- package/build/module/providers/v4/static-subgraph-provider.d.ts +15 -0
- package/build/module/providers/v4/static-subgraph-provider.js +71 -0
- package/build/module/providers/v4/subgraph-provider-with-fallback.d.ts +5 -0
- package/build/module/providers/v4/subgraph-provider-with-fallback.js +8 -0
- package/build/module/providers/v4/subgraph-provider.d.ts +63 -0
- package/build/module/providers/v4/subgraph-provider.js +59 -0
- package/build/module/providers/v4/uri-subgraph-provider.d.ts +4 -0
- package/build/module/providers/v4/uri-subgraph-provider.js +4 -0
- package/build/module/routers/alpha-router/alpha-router.d.ts +483 -0
- package/build/module/routers/alpha-router/alpha-router.js +2280 -0
- package/build/module/routers/alpha-router/config.d.ts +4 -0
- package/build/module/routers/alpha-router/config.js +125 -0
- package/build/module/routers/alpha-router/entities/index.d.ts +1 -0
- package/build/module/routers/alpha-router/entities/index.js +2 -0
- package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +329 -0
- package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +306 -0
- package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +25 -0
- package/build/module/routers/alpha-router/functions/best-swap-route.js +586 -0
- package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.d.ts +3 -0
- package/build/module/routers/alpha-router/functions/calculate-ratio-amount-in.js +14 -0
- package/build/module/routers/alpha-router/functions/compute-all-routes.d.ts +16 -0
- package/build/module/routers/alpha-router/functions/compute-all-routes.js +147 -0
- package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +192 -0
- package/build/module/routers/alpha-router/functions/get-candidate-pools.js +3010 -0
- package/build/module/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.d.ts +31 -0
- package/build/module/routers/alpha-router/gas-models/fewV2/v2-heuristic-gas-model.js +162 -0
- package/build/module/routers/alpha-router/gas-models/gas-costs.d.ts +12 -0
- package/build/module/routers/alpha-router/gas-models/gas-costs.js +189 -0
- package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +111 -0
- package/build/module/routers/alpha-router/gas-models/gas-model.js +114 -0
- package/build/module/routers/alpha-router/gas-models/index.d.ts +5 -0
- package/build/module/routers/alpha-router/gas-models/index.js +6 -0
- package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.d.ts +24 -0
- package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +154 -0
- package/build/module/routers/alpha-router/gas-models/ring-gas-model.d.ts +111 -0
- package/build/module/routers/alpha-router/gas-models/ring-gas-model.js +163 -0
- package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.d.ts +21 -0
- package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +362 -0
- package/build/module/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.d.ts +26 -0
- package/build/module/routers/alpha-router/gas-models/uniswapFewV3/v3-heuristic-gas-model.js +37 -0
- package/build/module/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.d.ts +15 -0
- package/build/module/routers/alpha-router/gas-models/uniswapFewV4/v4-heuristic-gas-model.js +36 -0
- package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.d.ts +31 -0
- package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +162 -0
- package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.d.ts +26 -0
- package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +37 -0
- package/build/module/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.d.ts +15 -0
- package/build/module/routers/alpha-router/gas-models/v4/v4-heuristic-gas-model.js +36 -0
- package/build/module/routers/alpha-router/index.d.ts +4 -0
- package/build/module/routers/alpha-router/index.js +5 -0
- package/build/module/routers/alpha-router/quoters/base-quoter.d.ts +78 -0
- package/build/module/routers/alpha-router/quoters/base-quoter.js +70 -0
- package/build/module/routers/alpha-router/quoters/few-v2-quoter.d.ts +24 -0
- package/build/module/routers/alpha-router/quoters/few-v2-quoter.js +138 -0
- package/build/module/routers/alpha-router/quoters/index.d.ts +5 -0
- package/build/module/routers/alpha-router/quoters/index.js +6 -0
- package/build/module/routers/alpha-router/quoters/mixed-quoter.d.ts +34 -0
- package/build/module/routers/alpha-router/quoters/mixed-quoter.js +149 -0
- package/build/module/routers/alpha-router/quoters/model/index.d.ts +1 -0
- package/build/module/routers/alpha-router/quoters/model/index.js +2 -0
- package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.d.ts +6 -0
- package/build/module/routers/alpha-router/quoters/model/results/get-quotes-result.js +2 -0
- package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.d.ts +6 -0
- package/build/module/routers/alpha-router/quoters/model/results/get-routes-result.js +2 -0
- package/build/module/routers/alpha-router/quoters/model/results/index.d.ts +2 -0
- package/build/module/routers/alpha-router/quoters/model/results/index.js +3 -0
- package/build/module/routers/alpha-router/quoters/uniswap-few-v3-quoter.d.ts +19 -0
- package/build/module/routers/alpha-router/quoters/uniswap-few-v3-quoter.js +111 -0
- package/build/module/routers/alpha-router/quoters/uniswap-few-v4-quoter.d.ts +18 -0
- package/build/module/routers/alpha-router/quoters/uniswap-few-v4-quoter.js +114 -0
- package/build/module/routers/alpha-router/quoters/v2-quoter.d.ts +24 -0
- package/build/module/routers/alpha-router/quoters/v2-quoter.js +138 -0
- package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
- package/build/module/routers/alpha-router/quoters/v3-quoter.js +118 -0
- package/build/module/routers/alpha-router/quoters/v4-quoter.d.ts +18 -0
- package/build/module/routers/alpha-router/quoters/v4-quoter.js +114 -0
- package/build/module/routers/index.d.ts +4 -0
- package/build/module/routers/index.js +5 -0
- package/build/module/routers/legacy-router/bases.d.ts +225 -0
- package/build/module/routers/legacy-router/bases.js +138 -0
- package/build/module/routers/legacy-router/index.d.ts +1 -0
- package/build/module/routers/legacy-router/index.js +2 -0
- package/build/module/routers/legacy-router/legacy-router.d.ts +41 -0
- package/build/module/routers/legacy-router/legacy-router.js +292 -0
- package/build/module/routers/router.d.ts +195 -0
- package/build/module/routers/router.js +58 -0
- package/build/module/tsconfig.module.tsbuildinfo +1 -0
- package/build/module/types/other/commons.d.ts +16 -0
- package/build/module/types/other/commons.js +5 -0
- package/build/module/types/other/factories/Erc20__factory.d.ts +45 -0
- package/build/module/types/other/factories/Erc20__factory.js +236 -0
- package/build/module/types/other/factories/GasDataArbitrum__factory.d.ts +18 -0
- package/build/module/types/other/factories/GasDataArbitrum__factory.js +54 -0
- package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.d.ts +41 -0
- package/build/module/types/other/factories/IMixedRouteQuoterV1__factory.js +152 -0
- package/build/module/types/other/factories/ITokenValidator__factory.d.ts +22 -0
- package/build/module/types/other/factories/ITokenValidator__factory.js +74 -0
- package/build/module/types/other/factories/MixedRouteQuoterV2__factory.d.ts +86 -0
- package/build/module/types/other/factories/MixedRouteQuoterV2__factory.js +473 -0
- package/build/module/types/other/factories/Permit2__factory.d.ts +87 -0
- package/build/module/types/other/factories/Permit2__factory.js +932 -0
- package/build/module/types/other/factories/StateView__factory.d.ts +32 -0
- package/build/module/types/other/factories/StateView__factory.js +379 -0
- package/build/module/types/other/factories/SwapRouter02__factory.d.ts +67 -0
- package/build/module/types/other/factories/SwapRouter02__factory.js +1094 -0
- package/build/module/types/other/factories/TokenFeeDetector__factory.d.ts +47 -0
- package/build/module/types/other/factories/TokenFeeDetector__factory.js +239 -0
- package/build/module/types/other/factories/V4Quoter__factory.d.ts +37 -0
- package/build/module/types/other/factories/V4Quoter__factory.js +308 -0
- package/build/module/types/v2/commons.d.ts +16 -0
- package/build/module/types/v2/commons.js +5 -0
- package/build/module/types/v2/factories/IUniswapV2Pair__factory.d.ts +35 -0
- package/build/module/types/v2/factories/IUniswapV2Pair__factory.js +667 -0
- package/build/module/types/v3/commons.d.ts +16 -0
- package/build/module/types/v3/commons.js +5 -0
- package/build/module/types/v3/factories/IERC20Metadata__factory.d.ts +35 -0
- package/build/module/types/v3/factories/IERC20Metadata__factory.js +238 -0
- package/build/module/types/v3/factories/IQuoterV2__factory.d.ts +41 -0
- package/build/module/types/v3/factories/IQuoterV2__factory.js +216 -0
- package/build/module/types/v3/factories/IUniswapV3PoolState__factory.d.ts +22 -0
- package/build/module/types/v3/factories/IUniswapV3PoolState__factory.js +262 -0
- package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.d.ts +61 -0
- package/build/module/types/v3/factories/UniswapInterfaceMulticall__factory.js +123 -0
- package/build/module/util/addresses.d.ts +34 -0
- package/build/module/util/addresses.js +280 -0
- package/build/module/util/amounts.d.ts +10 -0
- package/build/module/util/amounts.js +82 -0
- package/build/module/util/callData.d.ts +1 -0
- package/build/module/util/callData.js +3 -0
- package/build/module/util/chains.d.ts +75 -0
- package/build/module/util/chains.js +772 -0
- package/build/module/util/defaultBlocksToLive.d.ts +4 -0
- package/build/module/util/defaultBlocksToLive.js +54 -0
- package/build/module/util/fewAddress.d.ts +48 -0
- package/build/module/util/fewAddress.js +627 -0
- package/build/module/util/gas-factory-helpers.d.ts +38 -0
- package/build/module/util/gas-factory-helpers.js +575 -0
- package/build/module/util/hooksOptions.d.ts +5 -0
- package/build/module/util/hooksOptions.js +7 -0
- package/build/module/util/index.d.ts +10 -0
- package/build/module/util/index.js +11 -0
- package/build/module/util/intent.d.ts +6 -0
- package/build/module/util/intent.js +10 -0
- package/build/module/util/l2FeeChains.d.ts +2 -0
- package/build/module/util/l2FeeChains.js +15 -0
- package/build/module/util/log.d.ts +3 -0
- package/build/module/util/log.js +93 -0
- package/build/module/util/methodParameters.d.ts +5 -0
- package/build/module/util/methodParameters.js +176 -0
- package/build/module/util/metric.d.ts +48 -0
- package/build/module/util/metric.js +53 -0
- package/build/module/util/mixedRouteFilterOutV4Pools.d.ts +3 -0
- package/build/module/util/mixedRouteFilterOutV4Pools.js +12 -0
- package/build/module/util/onchainQuoteProviderConfigs.d.ts +42 -0
- package/build/module/util/onchainQuoteProviderConfigs.js +74 -0
- package/build/module/util/pool.d.ts +5 -0
- package/build/module/util/pool.js +43 -0
- package/build/module/util/protocols.d.ts +2 -0
- package/build/module/util/protocols.js +18 -0
- package/build/module/util/routes.d.ts +11 -0
- package/build/module/util/routes.js +147 -0
- package/build/module/util/serializeRouteIds.d.ts +2 -0
- package/build/module/util/serializeRouteIds.js +7 -0
- package/build/module/util/simple-perf-tracker.d.ts +27 -0
- package/build/module/util/simple-perf-tracker.js +161 -0
- package/build/module/util/tenderlySimulationErrorBreakDown.d.ts +3 -0
- package/build/module/util/tenderlySimulationErrorBreakDown.js +29 -0
- package/build/module/util/unsupported-tokens.d.ts +37 -0
- package/build/module/util/unsupported-tokens.js +1116 -0
- package/package.json +127 -0
|
@@ -0,0 +1,121 @@
|
|
|
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.V4Quoter = void 0;
|
|
7
|
+
const router_sdk_1 = require("@ring-protocol/router-sdk");
|
|
8
|
+
const sdk_core_1 = require("@ring-protocol/sdk-core");
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const providers_1 = require("../../../providers");
|
|
11
|
+
const util_1 = require("../../../util");
|
|
12
|
+
const entities_1 = require("../entities");
|
|
13
|
+
const compute_all_routes_1 = require("../functions/compute-all-routes");
|
|
14
|
+
const base_quoter_1 = require("./base-quoter");
|
|
15
|
+
class V4Quoter extends base_quoter_1.BaseQuoter {
|
|
16
|
+
constructor(v4SubgraphProvider, v4PoolProvider, onChainQuoteProvider, tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
17
|
+
super(tokenProvider, chainId, router_sdk_1.Protocol.V4, blockedTokenListProvider, tokenValidatorProvider);
|
|
18
|
+
this.v4SubgraphProvider = v4SubgraphProvider;
|
|
19
|
+
this.v4PoolProvider = v4PoolProvider;
|
|
20
|
+
this.onChainQuoteProvider = onChainQuoteProvider;
|
|
21
|
+
}
|
|
22
|
+
async getRoutes(currencyIn, currencyOut, v4CandidatePools, _tradeType, routingConfig) {
|
|
23
|
+
const beforeGetRoutes = Date.now();
|
|
24
|
+
// Fetch all the pools that we will consider routing via. There are thousands
|
|
25
|
+
// of pools, so we filter them to a set of candidate pools that we expect will
|
|
26
|
+
// result in good prices.
|
|
27
|
+
const { poolAccessor, candidatePools } = v4CandidatePools;
|
|
28
|
+
const poolsRaw = poolAccessor.getAllPools();
|
|
29
|
+
// Drop any pools that contain fee on transfer tokens (not supported by v4) or have issues with being transferred.
|
|
30
|
+
const pools = await this.applyTokenValidatorToPools(poolsRaw, (token, tokenValidation) => {
|
|
31
|
+
// If there is no available validation result we assume the token is fine.
|
|
32
|
+
if (!tokenValidation) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
// Only filters out *intermediate* pools that involve tokens that we detect
|
|
36
|
+
// cant be transferred. This prevents us trying to route through tokens that may
|
|
37
|
+
// not be transferrable, but allows users to still swap those tokens if they
|
|
38
|
+
// specify.
|
|
39
|
+
//
|
|
40
|
+
if (tokenValidation == providers_1.TokenValidationResult.STF &&
|
|
41
|
+
(token.equals(currencyIn) || token.equals(currencyOut))) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return (tokenValidation == providers_1.TokenValidationResult.FOT ||
|
|
45
|
+
tokenValidation == providers_1.TokenValidationResult.STF);
|
|
46
|
+
});
|
|
47
|
+
// Given all our candidate pools, compute all the possible ways to route from currencyIn to tokenOut.
|
|
48
|
+
const { maxSwapsPerPath } = routingConfig;
|
|
49
|
+
const routes = (0, compute_all_routes_1.computeAllV4Routes)(currencyIn, currencyOut, pools, maxSwapsPerPath, routingConfig.hooksOptions);
|
|
50
|
+
util_1.metric.putMetric('V4GetRoutesLoad', Date.now() - beforeGetRoutes, util_1.MetricLoggerUnit.Milliseconds);
|
|
51
|
+
util_1.metric.putMetric(`V4GetRoutesLoad_Chain${this.chainId}`, Date.now() - beforeGetRoutes, util_1.MetricLoggerUnit.Milliseconds);
|
|
52
|
+
return {
|
|
53
|
+
routes,
|
|
54
|
+
candidatePools,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
async getQuotes(routes, amounts, percents, quoteCurrency, tradeType, routingConfig, candidatePools, gasModel) {
|
|
58
|
+
const beforeGetQuotes = Date.now();
|
|
59
|
+
util_1.log.info('Starting to get V4 quotes');
|
|
60
|
+
if (gasModel === undefined) {
|
|
61
|
+
throw new Error('GasModel for V4RouteWithValidQuote is required to getQuotes');
|
|
62
|
+
}
|
|
63
|
+
if (routes.length == 0) {
|
|
64
|
+
return { routesWithValidQuotes: [], candidatePools };
|
|
65
|
+
}
|
|
66
|
+
// For all our routes, and all the fractional amounts, fetch quotes on-chain.
|
|
67
|
+
const quoteFn = tradeType == sdk_core_1.TradeType.EXACT_INPUT
|
|
68
|
+
? this.onChainQuoteProvider.getQuotesManyExactIn.bind(this.onChainQuoteProvider)
|
|
69
|
+
: this.onChainQuoteProvider.getQuotesManyExactOut.bind(this.onChainQuoteProvider);
|
|
70
|
+
const beforeQuotes = Date.now();
|
|
71
|
+
util_1.log.info(`Getting quotes for V4 for ${routes.length} routes with ${amounts.length} amounts per route.`);
|
|
72
|
+
const { routesWithQuotes } = await quoteFn(amounts, routes, routingConfig);
|
|
73
|
+
util_1.metric.putMetric('V4QuotesLoad', Date.now() - beforeQuotes, util_1.MetricLoggerUnit.Milliseconds);
|
|
74
|
+
util_1.metric.putMetric('V4QuotesFetched', (0, lodash_1.default)(routesWithQuotes)
|
|
75
|
+
.map(([, quotes]) => quotes.length)
|
|
76
|
+
.sum(), util_1.MetricLoggerUnit.Count);
|
|
77
|
+
const routesWithValidQuotes = [];
|
|
78
|
+
for (const routeWithQuote of routesWithQuotes) {
|
|
79
|
+
const [route, quotes] = routeWithQuote;
|
|
80
|
+
for (let i = 0; i < quotes.length; i++) {
|
|
81
|
+
const percent = percents[i];
|
|
82
|
+
const amountQuote = quotes[i];
|
|
83
|
+
const { quote, amount, sqrtPriceX96AfterList, initializedTicksCrossedList, gasEstimate, } = amountQuote;
|
|
84
|
+
if (!quote ||
|
|
85
|
+
!sqrtPriceX96AfterList ||
|
|
86
|
+
!initializedTicksCrossedList ||
|
|
87
|
+
!gasEstimate) {
|
|
88
|
+
util_1.log.debug({
|
|
89
|
+
route: (0, util_1.routeToString)(route),
|
|
90
|
+
amountQuote,
|
|
91
|
+
}, 'Dropping a null V4 quote for route.');
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
const routeWithValidQuote = new entities_1.V4RouteWithValidQuote({
|
|
95
|
+
route,
|
|
96
|
+
rawQuote: quote,
|
|
97
|
+
amount,
|
|
98
|
+
percent,
|
|
99
|
+
sqrtPriceX96AfterList,
|
|
100
|
+
initializedTicksCrossedList,
|
|
101
|
+
quoterGasEstimate: gasEstimate,
|
|
102
|
+
gasModel,
|
|
103
|
+
// TODO: ROUTE-306 make it unwrapped, once v4 gas model supports native quote currency
|
|
104
|
+
// For now it's ok to keep it wrapped,
|
|
105
|
+
// because the quote is the fairly accurate quote from the native currency routing
|
|
106
|
+
quoteToken: quoteCurrency.wrapped,
|
|
107
|
+
tradeType,
|
|
108
|
+
v4PoolProvider: this.v4PoolProvider,
|
|
109
|
+
});
|
|
110
|
+
routesWithValidQuotes.push(routeWithValidQuote);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
util_1.metric.putMetric('V4GetQuotesLoad', Date.now() - beforeGetQuotes, util_1.MetricLoggerUnit.Milliseconds);
|
|
114
|
+
return {
|
|
115
|
+
routesWithValidQuotes,
|
|
116
|
+
candidatePools,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.V4Quoter = V4Quoter;
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjQtcXVvdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL3F1b3RlcnMvdjQtcXVvdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFxRDtBQUNyRCxzREFBdUU7QUFDdkUsb0RBQXVCO0FBRXZCLGtEQVE0QjtBQUM1Qix3Q0FNdUI7QUFHdkIsMENBQXlFO0FBQ3pFLHdFQUFxRTtBQU9yRSwrQ0FBMkM7QUFHM0MsTUFBYSxRQUFTLFNBQVEsd0JBQStDO0lBSzNFLFlBQ0Usa0JBQXVDLEVBQ3ZDLGNBQStCLEVBQy9CLG9CQUEyQyxFQUMzQyxhQUE2QixFQUM3QixPQUFnQixFQUNoQix3QkFBNkMsRUFDN0Msc0JBQWdEO1FBRWhELEtBQUssQ0FDSCxhQUFhLEVBQ2IsT0FBTyxFQUNQLHFCQUFRLENBQUMsRUFBRSxFQUNYLHdCQUF3QixFQUN4QixzQkFBc0IsQ0FDdkIsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFDbkQsQ0FBQztJQUVTLEtBQUssQ0FBQyxTQUFTLENBQ3ZCLFVBQW9CLEVBQ3BCLFdBQXFCLEVBQ3JCLGdCQUFrQyxFQUNsQyxVQUFxQixFQUNyQixhQUFnQztRQUVoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbkMsNkVBQTZFO1FBQzdFLDhFQUE4RTtRQUM5RSx5QkFBeUI7UUFDekIsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFNUMsa0hBQWtIO1FBQ2xILE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFB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
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("../util/metric"), exports);
|
|
18
|
+
__exportStar(require("./alpha-router"), exports);
|
|
19
|
+
__exportStar(require("./legacy-router"), exports);
|
|
20
|
+
__exportStar(require("./router"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcm91dGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsMkNBQXlCIn0=
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { ChainId, Token } from '@ring-protocol/sdk-core';
|
|
2
|
+
import { ITokenProvider } from '../../providers/token-provider';
|
|
3
|
+
declare type ChainTokenList = {
|
|
4
|
+
readonly [chainId in ChainId]: Token[];
|
|
5
|
+
};
|
|
6
|
+
export declare const BASES_TO_CHECK_TRADES_AGAINST: (_tokenProvider: ITokenProvider) => ChainTokenList;
|
|
7
|
+
export declare const ADDITIONAL_BASES: (tokenProvider: ITokenProvider) => Promise<{
|
|
8
|
+
1?: {
|
|
9
|
+
[tokenAddress: string]: Token[];
|
|
10
|
+
} | undefined;
|
|
11
|
+
5?: {
|
|
12
|
+
[tokenAddress: string]: Token[];
|
|
13
|
+
} | undefined;
|
|
14
|
+
11155111?: {
|
|
15
|
+
[tokenAddress: string]: Token[];
|
|
16
|
+
} | undefined;
|
|
17
|
+
10?: {
|
|
18
|
+
[tokenAddress: string]: Token[];
|
|
19
|
+
} | undefined;
|
|
20
|
+
420?: {
|
|
21
|
+
[tokenAddress: string]: Token[];
|
|
22
|
+
} | undefined;
|
|
23
|
+
11155420?: {
|
|
24
|
+
[tokenAddress: string]: Token[];
|
|
25
|
+
} | undefined;
|
|
26
|
+
42161?: {
|
|
27
|
+
[tokenAddress: string]: Token[];
|
|
28
|
+
} | undefined;
|
|
29
|
+
421613?: {
|
|
30
|
+
[tokenAddress: string]: Token[];
|
|
31
|
+
} | undefined;
|
|
32
|
+
421614?: {
|
|
33
|
+
[tokenAddress: string]: Token[];
|
|
34
|
+
} | undefined;
|
|
35
|
+
137?: {
|
|
36
|
+
[tokenAddress: string]: Token[];
|
|
37
|
+
} | undefined;
|
|
38
|
+
80001?: {
|
|
39
|
+
[tokenAddress: string]: Token[];
|
|
40
|
+
} | undefined;
|
|
41
|
+
42220?: {
|
|
42
|
+
[tokenAddress: string]: Token[];
|
|
43
|
+
} | undefined;
|
|
44
|
+
44787?: {
|
|
45
|
+
[tokenAddress: string]: Token[];
|
|
46
|
+
} | undefined;
|
|
47
|
+
100?: {
|
|
48
|
+
[tokenAddress: string]: Token[];
|
|
49
|
+
} | undefined;
|
|
50
|
+
1284?: {
|
|
51
|
+
[tokenAddress: string]: Token[];
|
|
52
|
+
} | undefined;
|
|
53
|
+
56?: {
|
|
54
|
+
[tokenAddress: string]: Token[];
|
|
55
|
+
} | undefined;
|
|
56
|
+
43114?: {
|
|
57
|
+
[tokenAddress: string]: Token[];
|
|
58
|
+
} | undefined;
|
|
59
|
+
84531?: {
|
|
60
|
+
[tokenAddress: string]: Token[];
|
|
61
|
+
} | undefined;
|
|
62
|
+
84532?: {
|
|
63
|
+
[tokenAddress: string]: Token[];
|
|
64
|
+
} | undefined;
|
|
65
|
+
8453?: {
|
|
66
|
+
[tokenAddress: string]: Token[];
|
|
67
|
+
} | undefined;
|
|
68
|
+
7777777?: {
|
|
69
|
+
[tokenAddress: string]: Token[];
|
|
70
|
+
} | undefined;
|
|
71
|
+
999999999?: {
|
|
72
|
+
[tokenAddress: string]: Token[];
|
|
73
|
+
} | undefined;
|
|
74
|
+
30?: {
|
|
75
|
+
[tokenAddress: string]: Token[];
|
|
76
|
+
} | undefined;
|
|
77
|
+
81457?: {
|
|
78
|
+
[tokenAddress: string]: Token[];
|
|
79
|
+
} | undefined;
|
|
80
|
+
324?: {
|
|
81
|
+
[tokenAddress: string]: Token[];
|
|
82
|
+
} | undefined;
|
|
83
|
+
480?: {
|
|
84
|
+
[tokenAddress: string]: Token[];
|
|
85
|
+
} | undefined;
|
|
86
|
+
1301?: {
|
|
87
|
+
[tokenAddress: string]: Token[];
|
|
88
|
+
} | undefined;
|
|
89
|
+
130?: {
|
|
90
|
+
[tokenAddress: string]: Token[];
|
|
91
|
+
} | undefined;
|
|
92
|
+
10143?: {
|
|
93
|
+
[tokenAddress: string]: Token[];
|
|
94
|
+
} | undefined;
|
|
95
|
+
1868?: {
|
|
96
|
+
[tokenAddress: string]: Token[];
|
|
97
|
+
} | undefined;
|
|
98
|
+
143?: {
|
|
99
|
+
[tokenAddress: string]: Token[];
|
|
100
|
+
} | undefined;
|
|
101
|
+
168587773?: {
|
|
102
|
+
[tokenAddress: string]: Token[];
|
|
103
|
+
} | undefined;
|
|
104
|
+
1516?: {
|
|
105
|
+
[tokenAddress: string]: Token[];
|
|
106
|
+
} | undefined;
|
|
107
|
+
1514?: {
|
|
108
|
+
[tokenAddress: string]: Token[];
|
|
109
|
+
} | undefined;
|
|
110
|
+
999?: {
|
|
111
|
+
[tokenAddress: string]: Token[];
|
|
112
|
+
} | undefined;
|
|
113
|
+
}>;
|
|
114
|
+
/**
|
|
115
|
+
* Some tokens can only be swapped via certain pairs, so we override the list of bases that are considered for these
|
|
116
|
+
* tokens.
|
|
117
|
+
*/
|
|
118
|
+
export declare const CUSTOM_BASES: (tokenProvider: ITokenProvider) => Promise<{
|
|
119
|
+
1?: {
|
|
120
|
+
[tokenAddress: string]: Token[];
|
|
121
|
+
} | undefined;
|
|
122
|
+
5?: {
|
|
123
|
+
[tokenAddress: string]: Token[];
|
|
124
|
+
} | undefined;
|
|
125
|
+
11155111?: {
|
|
126
|
+
[tokenAddress: string]: Token[];
|
|
127
|
+
} | undefined;
|
|
128
|
+
10?: {
|
|
129
|
+
[tokenAddress: string]: Token[];
|
|
130
|
+
} | undefined;
|
|
131
|
+
420?: {
|
|
132
|
+
[tokenAddress: string]: Token[];
|
|
133
|
+
} | undefined;
|
|
134
|
+
11155420?: {
|
|
135
|
+
[tokenAddress: string]: Token[];
|
|
136
|
+
} | undefined;
|
|
137
|
+
42161?: {
|
|
138
|
+
[tokenAddress: string]: Token[];
|
|
139
|
+
} | undefined;
|
|
140
|
+
421613?: {
|
|
141
|
+
[tokenAddress: string]: Token[];
|
|
142
|
+
} | undefined;
|
|
143
|
+
421614?: {
|
|
144
|
+
[tokenAddress: string]: Token[];
|
|
145
|
+
} | undefined;
|
|
146
|
+
137?: {
|
|
147
|
+
[tokenAddress: string]: Token[];
|
|
148
|
+
} | undefined;
|
|
149
|
+
80001?: {
|
|
150
|
+
[tokenAddress: string]: Token[];
|
|
151
|
+
} | undefined;
|
|
152
|
+
42220?: {
|
|
153
|
+
[tokenAddress: string]: Token[];
|
|
154
|
+
} | undefined;
|
|
155
|
+
44787?: {
|
|
156
|
+
[tokenAddress: string]: Token[];
|
|
157
|
+
} | undefined;
|
|
158
|
+
100?: {
|
|
159
|
+
[tokenAddress: string]: Token[];
|
|
160
|
+
} | undefined;
|
|
161
|
+
1284?: {
|
|
162
|
+
[tokenAddress: string]: Token[];
|
|
163
|
+
} | undefined;
|
|
164
|
+
56?: {
|
|
165
|
+
[tokenAddress: string]: Token[];
|
|
166
|
+
} | undefined;
|
|
167
|
+
43114?: {
|
|
168
|
+
[tokenAddress: string]: Token[];
|
|
169
|
+
} | undefined;
|
|
170
|
+
84531?: {
|
|
171
|
+
[tokenAddress: string]: Token[];
|
|
172
|
+
} | undefined;
|
|
173
|
+
84532?: {
|
|
174
|
+
[tokenAddress: string]: Token[];
|
|
175
|
+
} | undefined;
|
|
176
|
+
8453?: {
|
|
177
|
+
[tokenAddress: string]: Token[];
|
|
178
|
+
} | undefined;
|
|
179
|
+
7777777?: {
|
|
180
|
+
[tokenAddress: string]: Token[];
|
|
181
|
+
} | undefined;
|
|
182
|
+
999999999?: {
|
|
183
|
+
[tokenAddress: string]: Token[];
|
|
184
|
+
} | undefined;
|
|
185
|
+
30?: {
|
|
186
|
+
[tokenAddress: string]: Token[];
|
|
187
|
+
} | undefined;
|
|
188
|
+
81457?: {
|
|
189
|
+
[tokenAddress: string]: Token[];
|
|
190
|
+
} | undefined;
|
|
191
|
+
324?: {
|
|
192
|
+
[tokenAddress: string]: Token[];
|
|
193
|
+
} | undefined;
|
|
194
|
+
480?: {
|
|
195
|
+
[tokenAddress: string]: Token[];
|
|
196
|
+
} | undefined;
|
|
197
|
+
1301?: {
|
|
198
|
+
[tokenAddress: string]: Token[];
|
|
199
|
+
} | undefined;
|
|
200
|
+
130?: {
|
|
201
|
+
[tokenAddress: string]: Token[];
|
|
202
|
+
} | undefined;
|
|
203
|
+
10143?: {
|
|
204
|
+
[tokenAddress: string]: Token[];
|
|
205
|
+
} | undefined;
|
|
206
|
+
1868?: {
|
|
207
|
+
[tokenAddress: string]: Token[];
|
|
208
|
+
} | undefined;
|
|
209
|
+
143?: {
|
|
210
|
+
[tokenAddress: string]: Token[];
|
|
211
|
+
} | undefined;
|
|
212
|
+
168587773?: {
|
|
213
|
+
[tokenAddress: string]: Token[];
|
|
214
|
+
} | undefined;
|
|
215
|
+
1516?: {
|
|
216
|
+
[tokenAddress: string]: Token[];
|
|
217
|
+
} | undefined;
|
|
218
|
+
1514?: {
|
|
219
|
+
[tokenAddress: string]: Token[];
|
|
220
|
+
} | undefined;
|
|
221
|
+
999?: {
|
|
222
|
+
[tokenAddress: string]: Token[];
|
|
223
|
+
} | undefined;
|
|
224
|
+
}>;
|
|
225
|
+
export {};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CUSTOM_BASES = exports.ADDITIONAL_BASES = exports.BASES_TO_CHECK_TRADES_AGAINST = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
5
|
+
const sdk_core_1 = require("@ring-protocol/sdk-core");
|
|
6
|
+
const token_provider_1 = require("../../providers/token-provider");
|
|
7
|
+
const chains_1 = require("../../util/chains");
|
|
8
|
+
const BASES_TO_CHECK_TRADES_AGAINST = (_tokenProvider) => {
|
|
9
|
+
return {
|
|
10
|
+
[sdk_core_1.ChainId.HYPER_MAINNET]: [
|
|
11
|
+
chains_1.FEW_WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.HYPER_MAINNET],
|
|
12
|
+
token_provider_1.FEW_USDT_HYPER_MAINNET,
|
|
13
|
+
],
|
|
14
|
+
[sdk_core_1.ChainId.MAINNET]: [
|
|
15
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.MAINNET],
|
|
16
|
+
token_provider_1.DAI_MAINNET,
|
|
17
|
+
token_provider_1.USDC_MAINNET,
|
|
18
|
+
token_provider_1.USDT_MAINNET,
|
|
19
|
+
token_provider_1.WBTC_MAINNET,
|
|
20
|
+
],
|
|
21
|
+
[sdk_core_1.ChainId.GOERLI]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.GOERLI]],
|
|
22
|
+
[sdk_core_1.ChainId.SEPOLIA]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.SEPOLIA]],
|
|
23
|
+
[sdk_core_1.ChainId.OPTIMISM]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.OPTIMISM]],
|
|
24
|
+
[sdk_core_1.ChainId.OPTIMISM_GOERLI]: [
|
|
25
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.OPTIMISM_GOERLI],
|
|
26
|
+
],
|
|
27
|
+
[sdk_core_1.ChainId.OPTIMISM_SEPOLIA]: [
|
|
28
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.OPTIMISM_SEPOLIA],
|
|
29
|
+
],
|
|
30
|
+
[sdk_core_1.ChainId.BLAST_SEPOLIA]: [
|
|
31
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.BLAST_SEPOLIA],
|
|
32
|
+
],
|
|
33
|
+
[sdk_core_1.ChainId.STORY_ODYSSEY]: [
|
|
34
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.STORY_ODYSSEY],
|
|
35
|
+
],
|
|
36
|
+
[sdk_core_1.ChainId.STORY_MAINNET]: [
|
|
37
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.STORY_MAINNET],
|
|
38
|
+
],
|
|
39
|
+
[sdk_core_1.ChainId.ARBITRUM_ONE]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ARBITRUM_ONE]],
|
|
40
|
+
[sdk_core_1.ChainId.ARBITRUM_GOERLI]: [
|
|
41
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ARBITRUM_GOERLI],
|
|
42
|
+
],
|
|
43
|
+
[sdk_core_1.ChainId.ARBITRUM_SEPOLIA]: [
|
|
44
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ARBITRUM_SEPOLIA],
|
|
45
|
+
],
|
|
46
|
+
[sdk_core_1.ChainId.POLYGON]: [token_provider_1.WMATIC_POLYGON],
|
|
47
|
+
[sdk_core_1.ChainId.POLYGON_MUMBAI]: [token_provider_1.WMATIC_POLYGON_MUMBAI],
|
|
48
|
+
[sdk_core_1.ChainId.CELO]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.CELO]],
|
|
49
|
+
[sdk_core_1.ChainId.CELO_ALFAJORES]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.CELO_ALFAJORES]],
|
|
50
|
+
[sdk_core_1.ChainId.GNOSIS]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.GNOSIS]],
|
|
51
|
+
[sdk_core_1.ChainId.MOONBEAM]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.MOONBEAM]],
|
|
52
|
+
[sdk_core_1.ChainId.BNB]: [
|
|
53
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.BNB],
|
|
54
|
+
token_provider_1.BUSD_BNB,
|
|
55
|
+
token_provider_1.DAI_BNB,
|
|
56
|
+
token_provider_1.USDC_BNB,
|
|
57
|
+
token_provider_1.USDT_BNB,
|
|
58
|
+
token_provider_1.BTC_BNB,
|
|
59
|
+
],
|
|
60
|
+
[sdk_core_1.ChainId.AVALANCHE]: [
|
|
61
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.AVALANCHE],
|
|
62
|
+
token_provider_1.USDC_AVAX,
|
|
63
|
+
token_provider_1.DAI_AVAX,
|
|
64
|
+
],
|
|
65
|
+
[sdk_core_1.ChainId.BASE]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.BASE], token_provider_1.USDC_BASE],
|
|
66
|
+
[sdk_core_1.ChainId.BASE_GOERLI]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.BASE_GOERLI]],
|
|
67
|
+
[sdk_core_1.ChainId.ZORA]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ZORA]],
|
|
68
|
+
[sdk_core_1.ChainId.ZORA_SEPOLIA]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ZORA_SEPOLIA]],
|
|
69
|
+
[sdk_core_1.ChainId.ROOTSTOCK]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ROOTSTOCK]],
|
|
70
|
+
[sdk_core_1.ChainId.BLAST]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.BLAST], token_provider_1.USDB_BLAST],
|
|
71
|
+
[sdk_core_1.ChainId.ZKSYNC]: [
|
|
72
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.ZKSYNC],
|
|
73
|
+
token_provider_1.USDCE_ZKSYNC,
|
|
74
|
+
token_provider_1.USDC_ZKSYNC,
|
|
75
|
+
],
|
|
76
|
+
[sdk_core_1.ChainId.WORLDCHAIN]: [
|
|
77
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.WORLDCHAIN],
|
|
78
|
+
token_provider_1.USDC_WORLDCHAIN,
|
|
79
|
+
token_provider_1.WLD_WORLDCHAIN,
|
|
80
|
+
token_provider_1.WBTC_WORLDCHAIN,
|
|
81
|
+
],
|
|
82
|
+
[sdk_core_1.ChainId.UNICHAIN_SEPOLIA]: [
|
|
83
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.UNICHAIN_SEPOLIA],
|
|
84
|
+
token_provider_1.USDC_UNICHAIN_SEPOLIA,
|
|
85
|
+
],
|
|
86
|
+
[sdk_core_1.ChainId.UNICHAIN]: [
|
|
87
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.UNICHAIN],
|
|
88
|
+
token_provider_1.DAI_UNICHAIN,
|
|
89
|
+
token_provider_1.USDC_UNICHAIN,
|
|
90
|
+
],
|
|
91
|
+
[sdk_core_1.ChainId.MONAD_TESTNET]: [
|
|
92
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.MONAD_TESTNET],
|
|
93
|
+
token_provider_1.USDT_MONAD_TESTNET,
|
|
94
|
+
],
|
|
95
|
+
[sdk_core_1.ChainId.MONAD]: [chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.MONAD], token_provider_1.USDC_MONAD],
|
|
96
|
+
[sdk_core_1.ChainId.BASE_SEPOLIA]: [
|
|
97
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.BASE_SEPOLIA],
|
|
98
|
+
token_provider_1.USDC_BASE_SEPOLIA,
|
|
99
|
+
],
|
|
100
|
+
[sdk_core_1.ChainId.SONEIUM]: [
|
|
101
|
+
chains_1.WRAPPED_NATIVE_CURRENCY[sdk_core_1.ChainId.SONEIUM],
|
|
102
|
+
token_provider_1.USDC_SONEIUM,
|
|
103
|
+
],
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
exports.BASES_TO_CHECK_TRADES_AGAINST = BASES_TO_CHECK_TRADES_AGAINST;
|
|
107
|
+
const getBasePairByAddress = async (tokenProvider, _chainId, fromAddress, toAddress) => {
|
|
108
|
+
const accessor = await tokenProvider.getTokens([toAddress]);
|
|
109
|
+
const toToken = accessor.getTokenByAddress(toAddress);
|
|
110
|
+
if (!toToken)
|
|
111
|
+
return {};
|
|
112
|
+
return {
|
|
113
|
+
[fromAddress]: [toToken],
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
const ADDITIONAL_BASES = async (tokenProvider) => {
|
|
117
|
+
return {
|
|
118
|
+
[sdk_core_1.ChainId.MAINNET]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0xA948E86885e12Fb09AfEF8C52142EBDbDf73cD18', '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0x561a4717537ff4AF5c687328c0f7E90a319705C0', '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0x956F47F50A910163D8BF957Cf5846D573E7f87CA', '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B', '0x956F47F50A910163D8BF957Cf5846D573E7f87CA'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0x853d955acef822db058eb8505911ed77f175b99e', '0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0', '0x853d955acef822db058eb8505911ed77f175b99e'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d'))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d', '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'))),
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
exports.ADDITIONAL_BASES = ADDITIONAL_BASES;
|
|
122
|
+
/**
|
|
123
|
+
* Some tokens can only be swapped via certain pairs, so we override the list of bases that are considered for these
|
|
124
|
+
* tokens.
|
|
125
|
+
*/
|
|
126
|
+
const CUSTOM_BASES = async (tokenProvider) => {
|
|
127
|
+
return {
|
|
128
|
+
[sdk_core_1.ChainId.MAINNET]: Object.assign(Object.assign({}, (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0xd46ba6d942050d489dbd938a2c909a5d5039a161', token_provider_1.DAI_MAINNET.address))), (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.MAINNET, '0xd46ba6d942050d489dbd938a2c909a5d5039a161', chains_1.WRAPPED_NATIVE_CURRENCY[1].address))),
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
exports.CUSTOM_BASES = CUSTOM_BASES;
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVycy9sZWdhY3ktcm91dGVyL2Jhc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUE2RDtBQUM3RCxzREFBeUQ7QUFFekQsbUVBOEJ3QztBQUN4Qyw4Q0FBeUY7QUFNbEYsTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxjQUE4QixFQUNkLEVBQUU7SUFDbEIsT0FBTztRQUNMLENBQUMsa0JBQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN2QixvQ0FBMkIsQ0FBQyxrQkFBTyxDQUFDLGFBQWEsQ0FBRTtZQUNuRCx1Q0FBc0I7U0FDdkI7UUFDRCxDQUFDLGtCQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakIsZ0NBQXVCLENBQUMsa0JBQU8sQ0FBQyxPQUFPLENBQUU7WUFDekMsNEJBQVc7WUFDWCw2QkFBWTtZQUNaLDZCQUFZO1lBQ1osNkJBQVk7U0FDYjtRQUNELENBQUMsa0JBQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGdDQUF1QixDQUFDLGtCQUFPLENBQUMsTUFBTSxDQUFFLENBQUM7UUFDNUQsQ0FBQyxrQkFBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsZ0NBQXVCLENBQUMsa0JBQU8sQ0FBQyxPQUFPLENBQUUsQ0FBQztRQUM5RCxDQUFDLGtCQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxnQ0FBdUIsQ0FBQyxrQkFBTyxDQUFDLFFBQVEsQ0FBRSxDQUFDO1FBQ2hFLENBQUMsa0JBQU8sQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixnQ0FBdUIsQ0FBQyxrQkFBTyxDQUFDLGVBQWUsQ0FBRTtTQUNsRDtRQUNELENBQUMsa0JBQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQzFCLGdDQUF1QixDQUFDLGtCQUFPLENBQUMsZ0JBQWdCLENBQUU7U0FDbkQ7UUFDRCxDQUFDLGtCQUFPLENBQUMsYUFBYSxDQUFDLEVB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './legacy-router';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./legacy-router"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVycy9sZWdhY3ktcm91dGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0MifQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ChainId, Currency, TradeType } from '@ring-protocol/sdk-core';
|
|
2
|
+
import { IOnChainQuoteProvider } from '../../providers';
|
|
3
|
+
import { IMulticallProvider } from '../../providers/multicall-provider';
|
|
4
|
+
import { ITokenProvider } from '../../providers/token-provider';
|
|
5
|
+
import { IV3PoolProvider } from '../../providers/v3/pool-provider';
|
|
6
|
+
import { CurrencyAmount } from '../../util/amounts';
|
|
7
|
+
import { SwapOptionsSwapRouter02, SwapRoute } from '../router';
|
|
8
|
+
export declare type LegacyRouterParams = {
|
|
9
|
+
chainId: ChainId;
|
|
10
|
+
multicall2Provider: IMulticallProvider;
|
|
11
|
+
poolProvider: IV3PoolProvider;
|
|
12
|
+
quoteProvider: IOnChainQuoteProvider;
|
|
13
|
+
tokenProvider: ITokenProvider;
|
|
14
|
+
};
|
|
15
|
+
export declare type LegacyRoutingConfig = {
|
|
16
|
+
blockNumber?: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Replicates the router implemented in the V3 interface.
|
|
20
|
+
* Code is mostly a copy from https://github.com/Uniswap/uniswap-interface/blob/0190b5a408c13016c87e1030ffc59326c085f389/src/hooks/useBestV3Trade.ts#L22-L23
|
|
21
|
+
* with React/Redux hooks removed, and refactoring to allow re-use in other routers.
|
|
22
|
+
*/
|
|
23
|
+
export declare class LegacyRouter {
|
|
24
|
+
protected chainId: ChainId;
|
|
25
|
+
protected multicall2Provider: IMulticallProvider;
|
|
26
|
+
protected poolProvider: IV3PoolProvider;
|
|
27
|
+
protected quoteProvider: IOnChainQuoteProvider;
|
|
28
|
+
protected tokenProvider: ITokenProvider;
|
|
29
|
+
constructor({ chainId, multicall2Provider, poolProvider, quoteProvider, tokenProvider, }: LegacyRouterParams);
|
|
30
|
+
route(amount: CurrencyAmount, quoteCurrency: Currency, swapType: TradeType, swapConfig?: SwapOptionsSwapRouter02, partialRoutingConfig?: Partial<LegacyRoutingConfig>): Promise<SwapRoute | null>;
|
|
31
|
+
routeExactIn(currencyIn: Currency, currencyOut: Currency, amountIn: CurrencyAmount, swapConfig?: SwapOptionsSwapRouter02, routingConfig?: LegacyRoutingConfig): Promise<SwapRoute | null>;
|
|
32
|
+
routeExactOut(currencyIn: Currency, currencyOut: Currency, amountOut: CurrencyAmount, swapConfig?: SwapOptionsSwapRouter02, routingConfig?: LegacyRoutingConfig): Promise<SwapRoute | null>;
|
|
33
|
+
private findBestRouteExactIn;
|
|
34
|
+
private findBestRouteExactOut;
|
|
35
|
+
private getBestQuote;
|
|
36
|
+
private getAllRoutes;
|
|
37
|
+
private getAllPossiblePairings;
|
|
38
|
+
private computeAllRoutes;
|
|
39
|
+
private buildTrade;
|
|
40
|
+
private buildMethodParameters;
|
|
41
|
+
}
|