@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,11 @@
|
|
|
1
|
+
export * from './addresses';
|
|
2
|
+
export * from './amounts';
|
|
3
|
+
export * from './chains';
|
|
4
|
+
export * from './hooksOptions';
|
|
5
|
+
export * from './intent';
|
|
6
|
+
export * from './log';
|
|
7
|
+
export * from './metric';
|
|
8
|
+
export * from './pool';
|
|
9
|
+
export * from './protocols';
|
|
10
|
+
export * from './routes';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// NOTE: intent is a routing-api concept,
|
|
2
|
+
// but we have to introduce this strongly-typed enum in SOR to ensure some codepath only gets executed during async path
|
|
3
|
+
export var INTENT;
|
|
4
|
+
(function (INTENT) {
|
|
5
|
+
INTENT["CACHING"] = "caching";
|
|
6
|
+
INTENT["QUOTE"] = "quote";
|
|
7
|
+
INTENT["SWAP"] = "swap";
|
|
8
|
+
INTENT["PRICING"] = "pricing";
|
|
9
|
+
})(INTENT || (INTENT = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvaW50ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlDQUF5QztBQUN6Qyx3SEFBd0g7QUFDeEgsTUFBTSxDQUFOLElBQVksTUFLWDtBQUxELFdBQVksTUFBTTtJQUNoQiw2QkFBbUIsQ0FBQTtJQUNuQix5QkFBZSxDQUFBO0lBQ2YsdUJBQWEsQ0FBQTtJQUNiLDZCQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxNQUFNLEtBQU4sTUFBTSxRQUtqQiJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChainId } from '@ring-protocol/sdk-core';
|
|
2
|
+
export const opStackChains = [
|
|
3
|
+
ChainId.OPTIMISM,
|
|
4
|
+
ChainId.OPTIMISM_GOERLI,
|
|
5
|
+
ChainId.OPTIMISM_SEPOLIA,
|
|
6
|
+
ChainId.BASE,
|
|
7
|
+
ChainId.BASE_GOERLI,
|
|
8
|
+
ChainId.BLAST,
|
|
9
|
+
ChainId.ZORA,
|
|
10
|
+
ChainId.WORLDCHAIN,
|
|
11
|
+
ChainId.UNICHAIN_SEPOLIA,
|
|
12
|
+
ChainId.UNICHAIN,
|
|
13
|
+
ChainId.SONEIUM,
|
|
14
|
+
];
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJGZWVDaGFpbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9sMkZlZUNoYWlucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxlQUFlO0lBQ3ZCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsS0FBSztJQUNiLE9BQU8sQ0FBQyxJQUFJO0lBQ1osT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLGdCQUFnQjtJQUN4QixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsT0FBTztDQUNoQixDQUFDIn0=
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
class NullLogger {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.ERROR_MESSAGE = 'NullLogger does not support. Instantiate a valid logger using "setGlobalLogger"';
|
|
5
|
+
this.src = true;
|
|
6
|
+
}
|
|
7
|
+
addStream(_stream) {
|
|
8
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
9
|
+
}
|
|
10
|
+
addSerializers(_serializers) {
|
|
11
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
12
|
+
}
|
|
13
|
+
child(_options, _simple) {
|
|
14
|
+
return this;
|
|
15
|
+
}
|
|
16
|
+
reopenFileStreams() {
|
|
17
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
18
|
+
}
|
|
19
|
+
level(_value) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
levels(_name, _value) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
trace(..._rest) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
debug(..._rest) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
info(..._rest) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
warn(..._rest) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
error(..._rest) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
fatal(..._rest) {
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
addListener(_event, _listener) {
|
|
44
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
45
|
+
}
|
|
46
|
+
on(_event, _listener) {
|
|
47
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
48
|
+
}
|
|
49
|
+
once(_event, _listener) {
|
|
50
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
51
|
+
}
|
|
52
|
+
removeListener(_event, _listener) {
|
|
53
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
54
|
+
}
|
|
55
|
+
off(_event, _listener) {
|
|
56
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
57
|
+
}
|
|
58
|
+
removeAllListeners(_event) {
|
|
59
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
60
|
+
}
|
|
61
|
+
setMaxListeners(_n) {
|
|
62
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
63
|
+
}
|
|
64
|
+
getMaxListeners() {
|
|
65
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
66
|
+
}
|
|
67
|
+
listeners(_event) {
|
|
68
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
69
|
+
}
|
|
70
|
+
rawListeners(_event) {
|
|
71
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
72
|
+
}
|
|
73
|
+
emit(_event, ..._args) {
|
|
74
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
75
|
+
}
|
|
76
|
+
listenerCount(_event) {
|
|
77
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
78
|
+
}
|
|
79
|
+
prependListener(_event, _listener) {
|
|
80
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
81
|
+
}
|
|
82
|
+
prependOnceListener(_event, _listener) {
|
|
83
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
84
|
+
}
|
|
85
|
+
eventNames() {
|
|
86
|
+
throw new Error(this.ERROR_MESSAGE);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export let log = new NullLogger();
|
|
90
|
+
export const setGlobalLogger = (_log) => {
|
|
91
|
+
log = _log;
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUlwQixNQUFNLFVBQVU7SUFBaEI7UUFDVSxrQkFBYSxHQUNuQixpRkFBaUYsQ0FBQztRQXlCcEYsUUFBRyxHQUFHLElBQUksQ0FBQztJQW9HYixDQUFDO0lBNUhDLFNBQVMsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsY0FBYyxDQUFDLFlBQWdDO1FBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxPQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxpQkFBaUI7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBR0QsS0FBSyxDQUFDLE1BQVk7UUFDaEIsT0FBTztJQUNULENBQUM7SUFJRCxNQUFNLENBQUMsS0FBVyxFQUFFLE1BQVk7UUFDOUIsT0FBTztJQUNULENBQUM7SUFPRCxLQUFLLENBQUMsR0FBRyxLQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELEtBQUssQ0FBQyxHQUFHLEtBQVU7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsSUFBSSxDQUFDLEdBQUcsS0FBVTtRQUNoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxJQUFJLENBQUMsR0FBRyxLQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELEtBQUssQ0FBQyxHQUFHLEtBQVU7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsS0FBSyxDQUFDLEdBQUcsS0FBVTtRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxXQUFXLENBQ1QsTUFBdUIsRUFDdkIsU0FBbUM7UUFFbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELEVBQUUsQ0FBQyxNQUF1QixFQUFFLFNBQW1DO1FBQzdELE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLENBQUMsTUFBdUIsRUFBRSxTQUFtQztRQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsY0FBYyxDQUNaLE1BQXVCLEVBQ3ZCLFNBQW1DO1FBRW5DLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxHQUFHLENBQUMsTUFBdUIsRUFBRSxTQUFtQztRQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsTUFBd0I7UUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELFNBQVMsQ0FBQyxNQUF1QjtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsWUFBWSxDQUFDLE1BQXVCO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLENBQUMsTUFBdUIsRUFBRSxHQUFHLEtBQVk7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGFBQWEsQ0FBQyxNQUF1QjtRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUNiLE1BQXVCLEVBQ3ZCLFNBQW1DO1FBRW5DLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxtQkFBbUIsQ0FDakIsTUFBdUIsRUFDdkIsU0FBbUM7UUFFbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsSUFBSSxHQUFHLEdBQVcsSUFBSSxVQUFVLEVBQUUsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUM5QyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBQ2IsQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Trade } from '@ring-protocol/router-sdk';
|
|
2
|
+
import { ChainId, Currency, Token, TradeType } from '@ring-protocol/sdk-core';
|
|
3
|
+
import { MethodParameters, RouteWithValidQuote, SwapOptions } from '..';
|
|
4
|
+
export declare function buildTrade<TTradeType extends TradeType>(tokenInCurrency: Currency, fewTokenInToken: Token, tokenOutCurrency: Currency, fewTokenOutToken: Token, tradeType: TTradeType, routeAmounts: RouteWithValidQuote[]): Trade<Currency, Currency, TTradeType>;
|
|
5
|
+
export declare function buildSwapMethodParameters(trade: Trade<Currency, Currency, TradeType>, swapConfig: SwapOptions, chainId: ChainId): MethodParameters;
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { MixedRouteSDK, Protocol, SwapRouter as SwapRouter02, Trade, } from '@ring-protocol/router-sdk';
|
|
2
|
+
import { TradeType } from '@ring-protocol/sdk-core';
|
|
3
|
+
import { UNIVERSAL_ROUTER_ADDRESS, SwapRouter as UniversalRouter,
|
|
4
|
+
// UNIVERSAL_ROUTER_ADDRESS,
|
|
5
|
+
} from '@ring-protocol/universal-router-sdk';
|
|
6
|
+
import { Route as RingFewV2RouteRaw } from '@ring-protocol/few-v2-sdk';
|
|
7
|
+
import { Route as V2RouteRaw } from '@ring-protocol/v2-sdk';
|
|
8
|
+
import { Route as V3RouteRaw } from '@ring-protocol/v3-sdk';
|
|
9
|
+
import { Route as V4RouteRaw } from '@ring-protocol/v4-sdk';
|
|
10
|
+
import _ from 'lodash';
|
|
11
|
+
import { CurrencyAmount, SwapType, SWAP_ROUTER_02_ADDRESSES, } from '..';
|
|
12
|
+
export function buildTrade(tokenInCurrency, fewTokenInToken, tokenOutCurrency, fewTokenOutToken, tradeType, routeAmounts) {
|
|
13
|
+
/// Removed partition because of new mixedRoutes
|
|
14
|
+
const v4RouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.V4);
|
|
15
|
+
const v3RouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.V3);
|
|
16
|
+
const v2RouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.V2);
|
|
17
|
+
const ringFewV2RouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.FEWV2);
|
|
18
|
+
const mixedRouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.MIXED);
|
|
19
|
+
// TODO: ROUTE-248 - refactor route objects for the trade object composition
|
|
20
|
+
const v4Routes = _.map(v4RouteAmounts, (routeAmount) => {
|
|
21
|
+
const { route, amount, quote } = routeAmount;
|
|
22
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
23
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
24
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
25
|
+
if (tradeType == TradeType.EXACT_INPUT) {
|
|
26
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
27
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
28
|
+
const routeRaw = new V4RouteRaw(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
29
|
+
return {
|
|
30
|
+
routev4: routeRaw,
|
|
31
|
+
inputAmount: amountCurrency,
|
|
32
|
+
outputAmount: quoteCurrency,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
37
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
38
|
+
const routeCurrency = new V4RouteRaw(route.pools, quoteCurrency.currency, amountCurrency.currency);
|
|
39
|
+
return {
|
|
40
|
+
routev4: routeCurrency,
|
|
41
|
+
inputAmount: quoteCurrency,
|
|
42
|
+
outputAmount: amountCurrency,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
const v3Routes = _.map(v3RouteAmounts, (routeAmount) => {
|
|
47
|
+
const { route, amount, quote } = routeAmount;
|
|
48
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
49
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
50
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
51
|
+
if (tradeType == TradeType.EXACT_INPUT) {
|
|
52
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
53
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
54
|
+
const routeRaw = new V3RouteRaw(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
55
|
+
return {
|
|
56
|
+
routev3: routeRaw,
|
|
57
|
+
inputAmount: amountCurrency,
|
|
58
|
+
outputAmount: quoteCurrency,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
63
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
64
|
+
const routeCurrency = new V3RouteRaw(route.pools, quoteCurrency.currency, amountCurrency.currency);
|
|
65
|
+
return {
|
|
66
|
+
routev3: routeCurrency,
|
|
67
|
+
inputAmount: quoteCurrency,
|
|
68
|
+
outputAmount: amountCurrency,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
const v2Routes = _.map(v2RouteAmounts, (routeAmount) => {
|
|
73
|
+
const { route, amount, quote } = routeAmount;
|
|
74
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
75
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
76
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
77
|
+
if (tradeType == TradeType.EXACT_INPUT) {
|
|
78
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
79
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
80
|
+
const routeV2SDK = new V2RouteRaw(route.pairs, amountCurrency.currency, quoteCurrency.currency);
|
|
81
|
+
return {
|
|
82
|
+
routev2: routeV2SDK,
|
|
83
|
+
inputAmount: amountCurrency,
|
|
84
|
+
outputAmount: quoteCurrency,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
89
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
90
|
+
const routeV2SDK = new V2RouteRaw(route.pairs, quoteCurrency.currency, amountCurrency.currency);
|
|
91
|
+
return {
|
|
92
|
+
routev2: routeV2SDK,
|
|
93
|
+
inputAmount: quoteCurrency,
|
|
94
|
+
outputAmount: amountCurrency,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
const fewV2Routes = _.map(ringFewV2RouteAmounts, (routeAmount) => {
|
|
99
|
+
const { route, amount, quote } = routeAmount;
|
|
100
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
101
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
102
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
103
|
+
if (tradeType == TradeType.EXACT_INPUT) {
|
|
104
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(fewTokenInToken, amount.numerator, amount.denominator);
|
|
105
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(fewTokenOutToken, quote.numerator, quote.denominator);
|
|
106
|
+
const ringFewRouteV2SDK = new RingFewV2RouteRaw(route.pairs, amountCurrency.currency, quoteCurrency.currency);
|
|
107
|
+
return {
|
|
108
|
+
fewRouteV2: ringFewRouteV2SDK,
|
|
109
|
+
inputAmount: amountCurrency,
|
|
110
|
+
outputAmount: quoteCurrency,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(fewTokenInToken, quote.numerator, quote.denominator);
|
|
115
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(fewTokenOutToken, amount.numerator, amount.denominator);
|
|
116
|
+
const ringFewRouteV2SDK = new RingFewV2RouteRaw(route.pairs, quoteCurrency.currency, amountCurrency.currency);
|
|
117
|
+
return {
|
|
118
|
+
fewRouteV2: ringFewRouteV2SDK,
|
|
119
|
+
inputAmount: quoteCurrency,
|
|
120
|
+
outputAmount: amountCurrency,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
const mixedRoutes = _.map(mixedRouteAmounts, (routeAmount) => {
|
|
125
|
+
const { route, amount, quote } = routeAmount;
|
|
126
|
+
if (tradeType != TradeType.EXACT_INPUT) {
|
|
127
|
+
throw new Error('Mixed routes are only supported for exact input trades');
|
|
128
|
+
}
|
|
129
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
130
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
131
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
132
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
133
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
134
|
+
// we cannot retain fake pools for mixed routes,
|
|
135
|
+
// when we generate the ur swap calldata
|
|
136
|
+
const routeRaw = new MixedRouteSDK(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
137
|
+
return {
|
|
138
|
+
mixedRoute: routeRaw,
|
|
139
|
+
inputAmount: amountCurrency,
|
|
140
|
+
outputAmount: quoteCurrency,
|
|
141
|
+
};
|
|
142
|
+
});
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
144
|
+
// @ts-ignore
|
|
145
|
+
const trade = new Trade({
|
|
146
|
+
fewV2Routes,
|
|
147
|
+
v2Routes,
|
|
148
|
+
v3Routes,
|
|
149
|
+
v4Routes,
|
|
150
|
+
mixedRoutes,
|
|
151
|
+
tradeType,
|
|
152
|
+
});
|
|
153
|
+
return trade;
|
|
154
|
+
}
|
|
155
|
+
export function buildSwapMethodParameters(trade, swapConfig, chainId) {
|
|
156
|
+
if (swapConfig.type == SwapType.UNIVERSAL_ROUTER) {
|
|
157
|
+
return {
|
|
158
|
+
...UniversalRouter.swapCallParameters(trade, swapConfig),
|
|
159
|
+
to: UNIVERSAL_ROUTER_ADDRESS(swapConfig.version, chainId),
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
else if (swapConfig.type == SwapType.SWAP_ROUTER_02) {
|
|
163
|
+
const { recipient, slippageTolerance, deadline, inputTokenPermit } = swapConfig;
|
|
164
|
+
return {
|
|
165
|
+
...SwapRouter02.swapCallParameters(trade, {
|
|
166
|
+
recipient,
|
|
167
|
+
slippageTolerance,
|
|
168
|
+
deadlineOrPreviousBlockhash: deadline,
|
|
169
|
+
inputTokenPermit,
|
|
170
|
+
}),
|
|
171
|
+
to: SWAP_ROUTER_02_ADDRESSES(chainId),
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
throw new Error(`Unsupported swap type ${swapConfig}`);
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kUGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL21ldGhvZFBhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBQ1IsVUFBVSxJQUFJLFlBQVksRUFDMUIsS0FBSyxHQUNOLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUE0QixTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLFVBQVUsSUFBSSxlQUFlO0FBQzdCLDRCQUE0QjtFQUM3QixNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLElBQUksaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsS0FBSyxJQUFJLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLElBQUksVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEtBQUssSUFBSSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUNMLGNBQWMsRUFLZCxRQUFRLEVBQ1Isd0JBQXdCLEdBS3pCLE1BQU0sSUFBSSxDQUFDO0FBRVosTUFBTSxVQUFVLFVBQVUsQ0FDeEIsZUFBeUIsRUFDekIsZUFBc0IsRUFDdEIsZ0JBQTBCLEVBQzFCLGdCQUF1QixFQUN2QixTQUFxQixFQUNyQixZQUFtQztJQUVuQyxnREFBZ0Q7SUFDaEQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDN0IsWUFBWSxFQUNaLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQ3RELENBQUM7SUFDRixNQUFNLGNBQWMsR0FBRyxD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
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export declare enum MetricLoggerUnit {
|
|
2
|
+
Seconds = "Seconds",
|
|
3
|
+
Microseconds = "Microseconds",
|
|
4
|
+
Milliseconds = "Milliseconds",
|
|
5
|
+
Bytes = "Bytes",
|
|
6
|
+
Kilobytes = "Kilobytes",
|
|
7
|
+
Megabytes = "Megabytes",
|
|
8
|
+
Gigabytes = "Gigabytes",
|
|
9
|
+
Terabytes = "Terabytes",
|
|
10
|
+
Bits = "Bits",
|
|
11
|
+
Kilobits = "Kilobits",
|
|
12
|
+
Megabits = "Megabits",
|
|
13
|
+
Gigabits = "Gigabits",
|
|
14
|
+
Terabits = "Terabits",
|
|
15
|
+
Percent = "Percent",
|
|
16
|
+
Count = "Count",
|
|
17
|
+
BytesPerSecond = "Bytes/Second",
|
|
18
|
+
KilobytesPerSecond = "Kilobytes/Second",
|
|
19
|
+
MegabytesPerSecond = "Megabytes/Second",
|
|
20
|
+
GigabytesPerSecond = "Gigabytes/Second",
|
|
21
|
+
TerabytesPerSecond = "Terabytes/Second",
|
|
22
|
+
BitsPerSecond = "Bits/Second",
|
|
23
|
+
KilobitsPerSecond = "Kilobits/Second",
|
|
24
|
+
MegabitsPerSecond = "Megabits/Second",
|
|
25
|
+
GigabitsPerSecond = "Gigabits/Second",
|
|
26
|
+
TerabitsPerSecond = "Terabits/Second",
|
|
27
|
+
CountPerSecond = "Count/Second",
|
|
28
|
+
None = "None"
|
|
29
|
+
}
|
|
30
|
+
export declare abstract class IMetric {
|
|
31
|
+
abstract setProperty(key: string, value: unknown): void;
|
|
32
|
+
abstract putDimensions(dimensions: Record<string, string>): void;
|
|
33
|
+
abstract putMetric(key: string, value: number, unit?: MetricLoggerUnit): void;
|
|
34
|
+
}
|
|
35
|
+
interface MetricContext {
|
|
36
|
+
chainId: number;
|
|
37
|
+
networkName: string;
|
|
38
|
+
}
|
|
39
|
+
export declare class MetricLogger extends IMetric {
|
|
40
|
+
private log;
|
|
41
|
+
constructor(context?: MetricContext);
|
|
42
|
+
setProperty(key: string, value: unknown): void;
|
|
43
|
+
putDimensions(dimensions: Record<string, string>): void;
|
|
44
|
+
putMetric(key: string, value: number, unit?: MetricLoggerUnit): void;
|
|
45
|
+
}
|
|
46
|
+
export declare let metric: IMetric;
|
|
47
|
+
export declare const setGlobalMetric: (_metric: IMetric) => void;
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { log } from './log';
|
|
2
|
+
export var MetricLoggerUnit;
|
|
3
|
+
(function (MetricLoggerUnit) {
|
|
4
|
+
MetricLoggerUnit["Seconds"] = "Seconds";
|
|
5
|
+
MetricLoggerUnit["Microseconds"] = "Microseconds";
|
|
6
|
+
MetricLoggerUnit["Milliseconds"] = "Milliseconds";
|
|
7
|
+
MetricLoggerUnit["Bytes"] = "Bytes";
|
|
8
|
+
MetricLoggerUnit["Kilobytes"] = "Kilobytes";
|
|
9
|
+
MetricLoggerUnit["Megabytes"] = "Megabytes";
|
|
10
|
+
MetricLoggerUnit["Gigabytes"] = "Gigabytes";
|
|
11
|
+
MetricLoggerUnit["Terabytes"] = "Terabytes";
|
|
12
|
+
MetricLoggerUnit["Bits"] = "Bits";
|
|
13
|
+
MetricLoggerUnit["Kilobits"] = "Kilobits";
|
|
14
|
+
MetricLoggerUnit["Megabits"] = "Megabits";
|
|
15
|
+
MetricLoggerUnit["Gigabits"] = "Gigabits";
|
|
16
|
+
MetricLoggerUnit["Terabits"] = "Terabits";
|
|
17
|
+
MetricLoggerUnit["Percent"] = "Percent";
|
|
18
|
+
MetricLoggerUnit["Count"] = "Count";
|
|
19
|
+
MetricLoggerUnit["BytesPerSecond"] = "Bytes/Second";
|
|
20
|
+
MetricLoggerUnit["KilobytesPerSecond"] = "Kilobytes/Second";
|
|
21
|
+
MetricLoggerUnit["MegabytesPerSecond"] = "Megabytes/Second";
|
|
22
|
+
MetricLoggerUnit["GigabytesPerSecond"] = "Gigabytes/Second";
|
|
23
|
+
MetricLoggerUnit["TerabytesPerSecond"] = "Terabytes/Second";
|
|
24
|
+
MetricLoggerUnit["BitsPerSecond"] = "Bits/Second";
|
|
25
|
+
MetricLoggerUnit["KilobitsPerSecond"] = "Kilobits/Second";
|
|
26
|
+
MetricLoggerUnit["MegabitsPerSecond"] = "Megabits/Second";
|
|
27
|
+
MetricLoggerUnit["GigabitsPerSecond"] = "Gigabits/Second";
|
|
28
|
+
MetricLoggerUnit["TerabitsPerSecond"] = "Terabits/Second";
|
|
29
|
+
MetricLoggerUnit["CountPerSecond"] = "Count/Second";
|
|
30
|
+
MetricLoggerUnit["None"] = "None";
|
|
31
|
+
})(MetricLoggerUnit || (MetricLoggerUnit = {}));
|
|
32
|
+
export class IMetric {
|
|
33
|
+
}
|
|
34
|
+
export class MetricLogger extends IMetric {
|
|
35
|
+
constructor(context) {
|
|
36
|
+
super();
|
|
37
|
+
this.log = log.child(context || {});
|
|
38
|
+
}
|
|
39
|
+
setProperty(key, value) {
|
|
40
|
+
this.log = this.log.child({ [key]: value });
|
|
41
|
+
}
|
|
42
|
+
putDimensions(dimensions) {
|
|
43
|
+
this.log = this.log.child(dimensions);
|
|
44
|
+
}
|
|
45
|
+
putMetric(key, value, unit) {
|
|
46
|
+
this.log.info({ key, value, unit }, `[Metric]: ${key}: ${value} | ${unit ? unit : ''}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export let metric = new MetricLogger();
|
|
50
|
+
export const setGlobalMetric = (_metric) => {
|
|
51
|
+
metric = _metric;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvbWV0cmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFNUIsTUFBTSxDQUFOLElBQVksZ0JBNEJYO0FBNUJELFdBQVksZ0JBQWdCO0lBQzFCLHVDQUFtQixDQUFBO0lBQ25CLGlEQUE2QixDQUFBO0lBQzdCLGlEQUE2QixDQUFBO0lBQzdCLG1DQUFlLENBQUE7SUFDZiwyQ0FBdUIsQ0FBQTtJQUN2QiwyQ0FBdUIsQ0FBQTtJQUN2QiwyQ0FBdUIsQ0FBQTtJQUN2QiwyQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBYSxDQUFBO0lBQ2IseUNBQXFCLENBQUE7SUFDckIseUNBQXFCLENBQUE7SUFDckIseUNBQXFCLENBQUE7SUFDckIseUNBQXFCLENBQUE7SUFDckIsdUNBQW1CLENBQUE7SUFDbkIsbUNBQWUsQ0FBQTtJQUNmLG1EQUErQixDQUFBO0lBQy9CLDJEQUF1QyxDQUFBO0lBQ3ZDLDJEQUF1QyxDQUFBO0lBQ3ZDLDJEQUF1QyxDQUFBO0lBQ3ZDLDJEQUF1QyxDQUFBO0lBQ3ZDLGlEQUE2QixDQUFBO0lBQzdCLHlEQUFxQyxDQUFBO0lBQ3JDLHlEQUFxQyxDQUFBO0lBQ3JDLHlEQUFxQyxDQUFBO0lBQ3JDLHlEQUFxQyxDQUFBO0lBQ3JDLG1EQUErQixDQUFBO0lBQy9CLGlDQUFhLENBQUE7QUFDZixDQUFDLEVBNUJXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUE0QjNCO0FBRUQsTUFBTSxPQUFnQixPQUFPO0NBTTVCO0FBT0QsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUFPO0lBR3ZDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQWM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWtDO1FBQ3JELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLElBQXVCO1FBQ2xFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNYLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFDcEIsYUFBYSxHQUFHLEtBQUssS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxJQUFJLE1BQU0sR0FBWSxJQUFJLFlBQVksRUFBRSxDQUFDO0FBRWhELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRTtJQUNsRCxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBQ25CLENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Pool as V4Pool } from '@ring-protocol/v4-sdk';
|
|
2
|
+
export function mixedRouteContainsV4Pools(route) {
|
|
3
|
+
return route.pools.some((pool) => {
|
|
4
|
+
return pool instanceof V4Pool;
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
export function mixedRouteFilterOutV4Pools(routes) {
|
|
8
|
+
return routes.filter((route) => {
|
|
9
|
+
return !mixedRouteContainsV4Pools(route);
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4ZWRSb3V0ZUZpbHRlck91dFY0UG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9taXhlZFJvdXRlRmlsdGVyT3V0VjRQb29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3ZELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxLQUFpQjtJQUN6RCxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDL0IsT0FBTyxJQUFJLFlBQVksTUFBTSxDQUFDO0lBQ2hDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxNQUFvQjtJQUM3RCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUM3QixPQUFPLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChainId } from '@ring-protocol/sdk-core';
|
|
2
|
+
import { BatchParams, BlockNumberConfig, FailureOverrides, QuoteRetryOptions } from '../providers';
|
|
3
|
+
export declare const NETWORKS_WITH_SAME_RETRY_OPTIONS: ChainId[];
|
|
4
|
+
export declare function constructSameRetryOptionsMap<T extends QuoteRetryOptions>(retryOptions: T, additionalNetworks?: ChainId[]): {
|
|
5
|
+
[chainId: number]: T;
|
|
6
|
+
};
|
|
7
|
+
export declare const DEFAULT_RETRY_OPTIONS: QuoteRetryOptions;
|
|
8
|
+
export declare const RETRY_OPTIONS: {
|
|
9
|
+
[x: number]: import("async-retry").Options;
|
|
10
|
+
};
|
|
11
|
+
export declare const NETWORKS_WITH_SAME_BATCH_PARAMS: ChainId[];
|
|
12
|
+
export declare function constructSameBatchParamsMap<T extends BatchParams>(batchParams: T, additionalNetworks?: ChainId[]): {
|
|
13
|
+
[chainId: number]: T;
|
|
14
|
+
};
|
|
15
|
+
export declare const DEFAULT_BATCH_PARAMS: BatchParams;
|
|
16
|
+
export declare const BATCH_PARAMS: {
|
|
17
|
+
[x: number]: BatchParams;
|
|
18
|
+
};
|
|
19
|
+
export declare const NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES: ChainId[];
|
|
20
|
+
export declare function constructSameGasErrorFailureOverridesMap<T extends FailureOverrides>(gasErrorFailureOverrides: T, additionalNetworks?: ChainId[]): {
|
|
21
|
+
[chainId: number]: T;
|
|
22
|
+
};
|
|
23
|
+
export declare const DEFAULT_GAS_ERROR_FAILURE_OVERRIDES: FailureOverrides;
|
|
24
|
+
export declare const GAS_ERROR_FAILURE_OVERRIDES: {
|
|
25
|
+
[x: number]: FailureOverrides;
|
|
26
|
+
};
|
|
27
|
+
export declare const NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES: ChainId[];
|
|
28
|
+
export declare function constructSameSuccessRateFailureOverridesMap<T extends FailureOverrides>(successRateFailureOverrides: T, additionalNetworks?: ChainId[]): {
|
|
29
|
+
[chainId: number]: T;
|
|
30
|
+
};
|
|
31
|
+
export declare const DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES: FailureOverrides;
|
|
32
|
+
export declare const SUCCESS_RATE_FAILURE_OVERRIDES: {
|
|
33
|
+
[x: number]: FailureOverrides;
|
|
34
|
+
};
|
|
35
|
+
export declare const NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS: ChainId[];
|
|
36
|
+
export declare function constructSameBlockNumberConfigsMap<T extends BlockNumberConfig>(blockNumberConfigs: T, additionalNetworks?: ChainId[]): {
|
|
37
|
+
[chainId: number]: T;
|
|
38
|
+
};
|
|
39
|
+
export declare const DEFAULT_BLOCK_NUMBER_CONFIGS: BlockNumberConfig;
|
|
40
|
+
export declare const BLOCK_NUMBER_CONFIGS: {
|
|
41
|
+
[x: number]: BlockNumberConfig;
|
|
42
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ChainId } from '@ring-protocol/sdk-core';
|
|
2
|
+
export const NETWORKS_WITH_SAME_RETRY_OPTIONS = Object.values(ChainId);
|
|
3
|
+
export function constructSameRetryOptionsMap(retryOptions, additionalNetworks = []) {
|
|
4
|
+
return NETWORKS_WITH_SAME_RETRY_OPTIONS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
5
|
+
memo[chainId] = retryOptions;
|
|
6
|
+
return memo;
|
|
7
|
+
}, {});
|
|
8
|
+
}
|
|
9
|
+
export const DEFAULT_RETRY_OPTIONS = {
|
|
10
|
+
retries: 2,
|
|
11
|
+
minTimeout: 100,
|
|
12
|
+
maxTimeout: 1000,
|
|
13
|
+
};
|
|
14
|
+
export const RETRY_OPTIONS = {
|
|
15
|
+
...constructSameRetryOptionsMap(DEFAULT_RETRY_OPTIONS),
|
|
16
|
+
};
|
|
17
|
+
export const NETWORKS_WITH_SAME_BATCH_PARAMS = Object.values(ChainId);
|
|
18
|
+
export function constructSameBatchParamsMap(batchParams, additionalNetworks = []) {
|
|
19
|
+
return NETWORKS_WITH_SAME_BATCH_PARAMS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
20
|
+
memo[chainId] = batchParams;
|
|
21
|
+
return memo;
|
|
22
|
+
}, {});
|
|
23
|
+
}
|
|
24
|
+
export const DEFAULT_BATCH_PARAMS = {
|
|
25
|
+
multicallChunk: 210,
|
|
26
|
+
gasLimitPerCall: 705000,
|
|
27
|
+
quoteMinSuccessRate: 0.15,
|
|
28
|
+
};
|
|
29
|
+
export const BATCH_PARAMS = {
|
|
30
|
+
...constructSameBatchParamsMap(DEFAULT_BATCH_PARAMS),
|
|
31
|
+
};
|
|
32
|
+
export const NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES = Object.values(ChainId);
|
|
33
|
+
export function constructSameGasErrorFailureOverridesMap(gasErrorFailureOverrides, additionalNetworks = []) {
|
|
34
|
+
return NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
35
|
+
memo[chainId] = gasErrorFailureOverrides;
|
|
36
|
+
return memo;
|
|
37
|
+
}, {});
|
|
38
|
+
}
|
|
39
|
+
export const DEFAULT_GAS_ERROR_FAILURE_OVERRIDES = {
|
|
40
|
+
gasLimitOverride: 2000000,
|
|
41
|
+
multicallChunk: 70,
|
|
42
|
+
};
|
|
43
|
+
export const GAS_ERROR_FAILURE_OVERRIDES = {
|
|
44
|
+
...constructSameGasErrorFailureOverridesMap(DEFAULT_GAS_ERROR_FAILURE_OVERRIDES),
|
|
45
|
+
};
|
|
46
|
+
export const NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES = Object.values(ChainId);
|
|
47
|
+
export function constructSameSuccessRateFailureOverridesMap(successRateFailureOverrides, additionalNetworks = []) {
|
|
48
|
+
return NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
49
|
+
memo[chainId] = successRateFailureOverrides;
|
|
50
|
+
return memo;
|
|
51
|
+
}, {});
|
|
52
|
+
}
|
|
53
|
+
export const DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES = {
|
|
54
|
+
gasLimitOverride: 1300000,
|
|
55
|
+
multicallChunk: 110,
|
|
56
|
+
};
|
|
57
|
+
export const SUCCESS_RATE_FAILURE_OVERRIDES = {
|
|
58
|
+
...constructSameSuccessRateFailureOverridesMap(DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES),
|
|
59
|
+
};
|
|
60
|
+
export const NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = Object.values(ChainId);
|
|
61
|
+
export function constructSameBlockNumberConfigsMap(blockNumberConfigs, additionalNetworks = []) {
|
|
62
|
+
return NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
63
|
+
memo[chainId] = blockNumberConfigs;
|
|
64
|
+
return memo;
|
|
65
|
+
}, {});
|
|
66
|
+
}
|
|
67
|
+
export const DEFAULT_BLOCK_NUMBER_CONFIGS = {
|
|
68
|
+
baseBlockOffset: 0,
|
|
69
|
+
rollback: { enabled: false },
|
|
70
|
+
};
|
|
71
|
+
export const BLOCK_NUMBER_CONFIGS = {
|
|
72
|
+
...constructSameBlockNumberConfigsMap(DEFAULT_BLOCK_NUMBER_CONFIGS),
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvb25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVNsRCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUMzRCxPQUFPLENBQ0ssQ0FBQztBQUVmLE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsWUFBZSxFQUNmLHFCQUFnQyxFQUFFO0lBRWxDLE9BQU8sZ0NBQWdDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUV0RSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFzQjtJQUN0RCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLElBQUk7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixHQUFHLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO0NBQ3ZELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUMxRCxPQUFPLENBQ0ssQ0FBQztBQUVmLE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsV0FBYyxFQUNkLHFCQUFnQyxFQUFFO0lBRWxDLE9BQU8sK0JBQStCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUVyRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtR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
|