@fanx-protocol/smart-order-router 0.0.1
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 +273 -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 +89 -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 +88 -0
- package/build/main/providers/caching/route/route-caching-provider.js +72 -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 +37 -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 +108 -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 +19 -0
- package/build/main/providers/eth-estimate-gas-provider.js +94 -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/gas-price-provider.d.ts +10 -0
- package/build/main/providers/gas-price-provider.js +10 -0
- package/build/main/providers/index.d.ts +38 -0
- package/build/main/providers/index.js +55 -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-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 +36 -0
- package/build/main/providers/on-chain-quote-provider.d.ts +258 -0
- package/build/main/providers/on-chain-quote-provider.js +693 -0
- package/build/main/providers/pool-provider.d.ts +44 -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 +43 -0
- package/build/main/providers/simulation-provider.js +136 -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 +51 -0
- package/build/main/providers/subgraph-provider.js +120 -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/token-fee-fetcher.d.ts +31 -0
- package/build/main/providers/token-fee-fetcher.js +108 -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 +38 -0
- package/build/main/providers/token-provider.js +175 -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 +20 -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 +138 -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 +75 -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 +36 -0
- package/build/main/providers/v2/subgraph-provider.js +174 -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 +89 -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 +46 -0
- package/build/main/providers/v3/subgraph-provider.js +54 -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/routers/alpha-router/alpha-router.d.ts +347 -0
- package/build/main/routers/alpha-router/alpha-router.js +1219 -0
- package/build/main/routers/alpha-router/config.d.ts +4 -0
- package/build/main/routers/alpha-router/config.js +40 -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 +167 -0
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +166 -0
- package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +22 -0
- package/build/main/routers/alpha-router/functions/best-swap-route.js +534 -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 +9 -0
- package/build/main/routers/alpha-router/functions/compute-all-routes.js +104 -0
- package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +100 -0
- package/build/main/routers/alpha-router/functions/get-candidate-pools.js +1008 -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 +90 -0
- package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +106 -0
- package/build/main/routers/alpha-router/gas-models/gas-model.js +68 -0
- package/build/main/routers/alpha-router/gas-models/index.d.ts +2 -0
- package/build/main/routers/alpha-router/gas-models/index.js +19 -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/tick-based-heuristic-gas-model.d.ts +15 -0
- package/build/main/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +185 -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/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 +76 -0
- package/build/main/routers/alpha-router/quoters/base-quoter.js +76 -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 +28 -0
- package/build/main/routers/alpha-router/quoters/mixed-quoter.js +154 -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/v2-quoter.d.ts +24 -0
- package/build/main/routers/alpha-router/quoters/v2-quoter.js +140 -0
- package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
- package/build/main/routers/alpha-router/quoters/v3-quoter.js +117 -0
- package/build/main/routers/index.d.ts +3 -0
- package/build/main/routers/index.js +20 -0
- package/build/main/routers/router.d.ts +186 -0
- package/build/main/routers/router.js +55 -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/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/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 +24 -0
- package/build/main/util/addresses.js +76 -0
- package/build/main/util/amounts.d.ts +9 -0
- package/build/main/util/amounts.js +73 -0
- package/build/main/util/chains.d.ts +31 -0
- package/build/main/util/chains.js +97 -0
- package/build/main/util/gas-factory-helpers.d.ts +33 -0
- package/build/main/util/gas-factory-helpers.js +463 -0
- package/build/main/util/index.d.ts +7 -0
- package/build/main/util/index.js +24 -0
- package/build/main/util/l2FeeChains.d.ts +2 -0
- package/build/main/util/l2FeeChains.js +13 -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 +183 -0
- package/build/main/util/metric.d.ts +48 -0
- package/build/main/util/metric.js +59 -0
- package/build/main/util/onchainQuoteProviderConfigs.d.ts +42 -0
- package/build/main/util/onchainQuoteProviderConfigs.js +74 -0
- package/build/main/util/protocols.d.ts +2 -0
- package/build/main/util/protocols.js +20 -0
- package/build/main/util/routes.d.ts +11 -0
- package/build/main/util/routes.js +149 -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 +85 -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 +88 -0
- package/build/module/providers/caching/route/route-caching-provider.js +68 -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 +33 -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 +101 -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 +19 -0
- package/build/module/providers/eth-estimate-gas-provider.js +102 -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/gas-price-provider.d.ts +10 -0
- package/build/module/providers/gas-price-provider.js +6 -0
- package/build/module/providers/index.d.ts +38 -0
- package/build/module/providers/index.js +39 -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-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 +32 -0
- package/build/module/providers/on-chain-quote-provider.d.ts +258 -0
- package/build/module/providers/on-chain-quote-provider.js +687 -0
- package/build/module/providers/pool-provider.d.ts +44 -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 +43 -0
- package/build/module/providers/simulation-provider.js +138 -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 +51 -0
- package/build/module/providers/subgraph-provider.js +113 -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/token-fee-fetcher.d.ts +31 -0
- package/build/module/providers/token-fee-fetcher.js +104 -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 +38 -0
- package/build/module/providers/token-provider.js +164 -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 +20 -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 +131 -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 +68 -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 +36 -0
- package/build/module/providers/v2/subgraph-provider.js +167 -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 +82 -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 +46 -0
- package/build/module/providers/v3/subgraph-provider.js +50 -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/routers/alpha-router/alpha-router.d.ts +347 -0
- package/build/module/routers/alpha-router/alpha-router.js +1229 -0
- package/build/module/routers/alpha-router/config.d.ts +4 -0
- package/build/module/routers/alpha-router/config.js +36 -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 +167 -0
- package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +157 -0
- package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +22 -0
- package/build/module/routers/alpha-router/functions/best-swap-route.js +526 -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 +9 -0
- package/build/module/routers/alpha-router/functions/compute-all-routes.js +97 -0
- package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +100 -0
- package/build/module/routers/alpha-router/functions/get-candidate-pools.js +998 -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 +79 -0
- package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +106 -0
- package/build/module/routers/alpha-router/gas-models/gas-model.js +102 -0
- package/build/module/routers/alpha-router/gas-models/index.d.ts +2 -0
- package/build/module/routers/alpha-router/gas-models/index.js +3 -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/tick-based-heuristic-gas-model.d.ts +15 -0
- package/build/module/routers/alpha-router/gas-models/tick-based-heuristic-gas-model.js +181 -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/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 +76 -0
- package/build/module/routers/alpha-router/quoters/base-quoter.js +69 -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 +28 -0
- package/build/module/routers/alpha-router/quoters/mixed-quoter.js +152 -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/v2-quoter.d.ts +24 -0
- package/build/module/routers/alpha-router/quoters/v2-quoter.js +137 -0
- package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +19 -0
- package/build/module/routers/alpha-router/quoters/v3-quoter.js +110 -0
- package/build/module/routers/index.d.ts +3 -0
- package/build/module/routers/index.js +4 -0
- package/build/module/routers/router.d.ts +186 -0
- package/build/module/routers/router.js +47 -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/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/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 +24 -0
- package/build/module/util/addresses.js +69 -0
- package/build/module/util/amounts.d.ts +9 -0
- package/build/module/util/amounts.js +62 -0
- package/build/module/util/chains.d.ts +31 -0
- package/build/module/util/chains.js +89 -0
- package/build/module/util/gas-factory-helpers.d.ts +33 -0
- package/build/module/util/gas-factory-helpers.js +446 -0
- package/build/module/util/index.d.ts +7 -0
- package/build/module/util/index.js +8 -0
- package/build/module/util/l2FeeChains.d.ts +2 -0
- package/build/module/util/l2FeeChains.js +10 -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 +181 -0
- package/build/module/util/metric.d.ts +48 -0
- package/build/module/util/metric.js +53 -0
- package/build/module/util/onchainQuoteProviderConfigs.d.ts +42 -0
- package/build/module/util/onchainQuoteProviderConfigs.js +76 -0
- package/build/module/util/protocols.d.ts +2 -0
- package/build/module/util/protocols.js +16 -0
- package/build/module/util/routes.d.ts +11 -0
- package/build/module/util/routes.js +137 -0
- package/build/module/util/unsupported-tokens.d.ts +37 -0
- package/build/module/util/unsupported-tokens.js +1116 -0
- package/package.json +133 -0
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUlwQixNQUFNLFVBQVU7SUFBaEI7UUFDVSxrQkFBYSxHQUNuQixpRkFBaUYsQ0FBQztRQXlCcEYsUUFBRyxHQUFHLElBQUksQ0FBQztJQW9HYixDQUFDO0lBNUhDLFNBQVMsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsY0FBYyxDQUFDLFlBQWdDO1FBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxLQUFLLENBQUMsUUFBZ0IsRUFBRSxPQUFpQjtRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxpQkFBaUI7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBR0QsS0FBSyxDQUFDLE1BQVk7UUFDaEIsT0FBTztJQUNULENBQUM7SUFJRCxNQUFNLENBQUMsS0FBVyxFQUFFLE1BQVk7UUFDOUIsT0FBTztJQUNULENBQUM7SUFPRCxLQUFLLENBQUMsR0FBRyxLQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELEtBQUssQ0FBQyxHQUFHLEtBQVU7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsSUFBSSxDQUFDLEdBQUcsS0FBVTtRQUNoQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxJQUFJLENBQUMsR0FBRyxLQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUtELEtBQUssQ0FBQyxHQUFHLEtBQVU7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsS0FBSyxDQUFDLEdB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
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Trade } from '@fanx-protocol/router-sdk';
|
|
2
|
+
import { ChainId, Currency, TradeType } from '@fanx-protocol/sdk-core';
|
|
3
|
+
import { MethodParameters, RouteWithValidQuote, SwapOptions } from '..';
|
|
4
|
+
export declare function buildTrade<TTradeType extends TradeType>(tokenInCurrency: Currency, tokenOutCurrency: Currency, 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,181 @@
|
|
|
1
|
+
import { MixedRouteSDK, Protocol, SwapRouter as SwapRouter02, Trade, } from '@fanx-protocol/router-sdk';
|
|
2
|
+
import { TradeType } from '@fanx-protocol/sdk-core';
|
|
3
|
+
import { SwapRouter as UniversalRouter, UNIVERSAL_ROUTER_ADDRESS, } from '@fanx-protocol/universal-router-sdk';
|
|
4
|
+
import { Route as V2RouteRaw } from '@fanx-protocol/v2-sdk';
|
|
5
|
+
import { Route as V3RouteRaw } from '@fanx-protocol/v3-sdk';
|
|
6
|
+
// import { Route as V4RouteRaw } from '@fanx-protocol/v4-sdk';
|
|
7
|
+
import _ from 'lodash';
|
|
8
|
+
import { CurrencyAmount, SwapType, SWAP_ROUTER_02_ADDRESSES, } from '..';
|
|
9
|
+
export function buildTrade(tokenInCurrency, tokenOutCurrency, tradeType, routeAmounts) {
|
|
10
|
+
/// Removed partition because of new mixedRoutes
|
|
11
|
+
// const v4RouteAmounts = _.filter(
|
|
12
|
+
// routeAmounts,
|
|
13
|
+
// (routeAmount) => routeAmount.protocol === Protocol.V4
|
|
14
|
+
// );
|
|
15
|
+
// const v4RouteAmounts: any[] = [];
|
|
16
|
+
const v3RouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.V3);
|
|
17
|
+
const v2RouteAmounts = _.filter(routeAmounts, (routeAmount) => routeAmount.protocol === Protocol.V2);
|
|
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<
|
|
21
|
+
// V4RouteWithValidQuote,
|
|
22
|
+
// {
|
|
23
|
+
// routev4: V4RouteRaw<Currency, Currency>;
|
|
24
|
+
// inputAmount: CurrencyAmount;
|
|
25
|
+
// outputAmount: CurrencyAmount;
|
|
26
|
+
// }
|
|
27
|
+
// >(
|
|
28
|
+
// v4RouteAmounts as V4RouteWithValidQuote[],
|
|
29
|
+
// (routeAmount: V4RouteWithValidQuote) => {
|
|
30
|
+
// const { route, amount, quote } = routeAmount;
|
|
31
|
+
// // The route, amount and quote are all in terms of wrapped tokens.
|
|
32
|
+
// // When constructing the Trade object the inputAmount/outputAmount must
|
|
33
|
+
// // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
34
|
+
// if (tradeType == TradeType.EXACT_INPUT) {
|
|
35
|
+
// const amountCurrency = CurrencyAmount.fromFractionalAmount(
|
|
36
|
+
// tokenInCurrency,
|
|
37
|
+
// amount.numerator,
|
|
38
|
+
// amount.denominator
|
|
39
|
+
// );
|
|
40
|
+
// const quoteCurrency = CurrencyAmount.fromFractionalAmount(
|
|
41
|
+
// tokenOutCurrency,
|
|
42
|
+
// quote.numerator,
|
|
43
|
+
// quote.denominator
|
|
44
|
+
// );
|
|
45
|
+
// const routeRaw = new V4RouteRaw(
|
|
46
|
+
// route.pools,
|
|
47
|
+
// amountCurrency.currency,
|
|
48
|
+
// quoteCurrency.currency
|
|
49
|
+
// );
|
|
50
|
+
// return {
|
|
51
|
+
// routev4: routeRaw,
|
|
52
|
+
// inputAmount: amountCurrency,
|
|
53
|
+
// outputAmount: quoteCurrency,
|
|
54
|
+
// };
|
|
55
|
+
// } else {
|
|
56
|
+
// const quoteCurrency = CurrencyAmount.fromFractionalAmount(
|
|
57
|
+
// tokenInCurrency,
|
|
58
|
+
// quote.numerator,
|
|
59
|
+
// quote.denominator
|
|
60
|
+
// );
|
|
61
|
+
// const amountCurrency = CurrencyAmount.fromFractionalAmount(
|
|
62
|
+
// tokenOutCurrency,
|
|
63
|
+
// amount.numerator,
|
|
64
|
+
// amount.denominator
|
|
65
|
+
// );
|
|
66
|
+
// const routeCurrency = new V4RouteRaw(
|
|
67
|
+
// route.pools,
|
|
68
|
+
// quoteCurrency.currency,
|
|
69
|
+
// amountCurrency.currency
|
|
70
|
+
// );
|
|
71
|
+
// return {
|
|
72
|
+
// routev4: routeCurrency,
|
|
73
|
+
// inputAmount: quoteCurrency,
|
|
74
|
+
// outputAmount: amountCurrency,
|
|
75
|
+
// };
|
|
76
|
+
// }
|
|
77
|
+
// }
|
|
78
|
+
// );
|
|
79
|
+
// const v4Routes: any[] = [];
|
|
80
|
+
const v3Routes = _.map(v3RouteAmounts, (routeAmount) => {
|
|
81
|
+
const { route, amount, quote } = routeAmount;
|
|
82
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
83
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
84
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
85
|
+
if (tradeType == TradeType.EXACT_INPUT) {
|
|
86
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
87
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
88
|
+
const routeRaw = new V3RouteRaw(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
89
|
+
return {
|
|
90
|
+
routev3: routeRaw,
|
|
91
|
+
inputAmount: amountCurrency,
|
|
92
|
+
outputAmount: quoteCurrency,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
97
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
98
|
+
const routeCurrency = new V3RouteRaw(route.pools, quoteCurrency.currency, amountCurrency.currency);
|
|
99
|
+
return {
|
|
100
|
+
routev3: routeCurrency,
|
|
101
|
+
inputAmount: quoteCurrency,
|
|
102
|
+
outputAmount: amountCurrency,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
const v2Routes = _.map(v2RouteAmounts, (routeAmount) => {
|
|
107
|
+
const { route, amount, quote } = routeAmount;
|
|
108
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
109
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
110
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
111
|
+
if (tradeType == TradeType.EXACT_INPUT) {
|
|
112
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
113
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
114
|
+
const routeV2SDK = new V2RouteRaw(route.pairs, amountCurrency.currency, quoteCurrency.currency);
|
|
115
|
+
return {
|
|
116
|
+
routev2: routeV2SDK,
|
|
117
|
+
inputAmount: amountCurrency,
|
|
118
|
+
outputAmount: quoteCurrency,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
123
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
124
|
+
const routeV2SDK = new V2RouteRaw(route.pairs, quoteCurrency.currency, amountCurrency.currency);
|
|
125
|
+
return {
|
|
126
|
+
routev2: routeV2SDK,
|
|
127
|
+
inputAmount: quoteCurrency,
|
|
128
|
+
outputAmount: amountCurrency,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
const mixedRoutes = _.map(mixedRouteAmounts, (routeAmount) => {
|
|
133
|
+
const { route, amount, quote } = routeAmount;
|
|
134
|
+
if (tradeType != TradeType.EXACT_INPUT) {
|
|
135
|
+
throw new Error('Mixed routes are only supported for exact input trades');
|
|
136
|
+
}
|
|
137
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
138
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
139
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
140
|
+
const amountCurrency = CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
141
|
+
const quoteCurrency = CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
142
|
+
const routeRaw = new MixedRouteSDK(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
143
|
+
return {
|
|
144
|
+
mixedRoute: routeRaw,
|
|
145
|
+
inputAmount: amountCurrency,
|
|
146
|
+
outputAmount: quoteCurrency,
|
|
147
|
+
};
|
|
148
|
+
});
|
|
149
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
150
|
+
// @ts-ignore
|
|
151
|
+
const trade = new Trade({
|
|
152
|
+
v2Routes,
|
|
153
|
+
v3Routes,
|
|
154
|
+
// v4Routes,
|
|
155
|
+
mixedRoutes,
|
|
156
|
+
tradeType,
|
|
157
|
+
});
|
|
158
|
+
return trade;
|
|
159
|
+
}
|
|
160
|
+
export function buildSwapMethodParameters(trade, swapConfig, chainId) {
|
|
161
|
+
if (swapConfig.type == SwapType.UNIVERSAL_ROUTER) {
|
|
162
|
+
return {
|
|
163
|
+
...UniversalRouter.swapERC20CallParameters(trade, swapConfig),
|
|
164
|
+
to: UNIVERSAL_ROUTER_ADDRESS(swapConfig.version, chainId),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
else if (swapConfig.type == SwapType.SWAP_ROUTER_02) {
|
|
168
|
+
const { recipient, slippageTolerance, deadline, inputTokenPermit } = swapConfig;
|
|
169
|
+
return {
|
|
170
|
+
...SwapRouter02.swapCallParameters(trade, {
|
|
171
|
+
recipient,
|
|
172
|
+
slippageTolerance,
|
|
173
|
+
deadlineOrPreviousBlockhash: deadline,
|
|
174
|
+
inputTokenPermit,
|
|
175
|
+
}),
|
|
176
|
+
to: SWAP_ROUTER_02_ADDRESSES(chainId),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
throw new Error(`Unsupported swap type ${swapConfig}`);
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kUGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL21ldGhvZFBhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixRQUFRLEVBQ1IsVUFBVSxJQUFJLFlBQVksRUFDMUIsS0FBSyxHQUNOLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFxQixTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsVUFBVSxJQUFJLGVBQWUsRUFDN0Isd0JBQXdCLEdBQ3pCLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssSUFBSSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxJQUFJLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELCtEQUErRDtBQUMvRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUNMLGNBQWMsRUFLZCxRQUFRLEVBQ1Isd0JBQXdCLEdBR3pCLE1BQU0sSUFBSSxDQUFDO0FBRVosTUFBTSxVQUFVLFVBQVUsQ0FDeEIsZUFBeUIsRUFDekIsZ0JBQTBCLEVBQzFCLFNBQXFCLEVBQ3JCLFlBQW1DO0lBRW5DLGdEQUFnRDtJQUNoRCxtQ0FBbUM7SUFDbkMsa0JBQWtCO0lBQ2xCLDBEQUEwRDtJQUMxRCxLQUFLO0lBQ0wsb0NBQW9DO0lBQ3BDLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQzdCLFlBQVksRUFDWixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUN0RCxDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDN0IsWUFBWSxFQUNaLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxL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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,42 @@
|
|
|
1
|
+
import { ChainId } from '@fanx-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,76 @@
|
|
|
1
|
+
import { ChainId } from '@fanx-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 = [
|
|
47
|
+
// ChainId.POLYGON,
|
|
48
|
+
];
|
|
49
|
+
export function constructSameSuccessRateFailureOverridesMap(successRateFailureOverrides, additionalNetworks = []) {
|
|
50
|
+
return NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
51
|
+
memo[chainId] = successRateFailureOverrides;
|
|
52
|
+
return memo;
|
|
53
|
+
}, {});
|
|
54
|
+
}
|
|
55
|
+
export const DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES = {
|
|
56
|
+
gasLimitOverride: 1300000,
|
|
57
|
+
multicallChunk: 110,
|
|
58
|
+
};
|
|
59
|
+
export const SUCCESS_RATE_FAILURE_OVERRIDES = {
|
|
60
|
+
...constructSameSuccessRateFailureOverridesMap(DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES),
|
|
61
|
+
};
|
|
62
|
+
export const NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = Object.values(ChainId);
|
|
63
|
+
export function constructSameBlockNumberConfigsMap(blockNumberConfigs, additionalNetworks = []) {
|
|
64
|
+
return NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
65
|
+
memo[chainId] = blockNumberConfigs;
|
|
66
|
+
return memo;
|
|
67
|
+
}, {});
|
|
68
|
+
}
|
|
69
|
+
export const DEFAULT_BLOCK_NUMBER_CONFIGS = {
|
|
70
|
+
baseBlockOffset: 0,
|
|
71
|
+
rollback: { enabled: false },
|
|
72
|
+
};
|
|
73
|
+
export const BLOCK_NUMBER_CONFIGS = {
|
|
74
|
+
...constructSameBlockNumberConfigsMap(DEFAULT_BLOCK_NUMBER_CONFIGS),
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvb25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVNsRCxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUMzRCxPQUFPLENBQ0ssQ0FBQztBQUVmLE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsWUFBZSxFQUNmLHFCQUFnQyxFQUFFO0lBRWxDLE9BQU8sZ0NBQWdDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUV0RSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFzQjtJQUN0RCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLElBQUk7Q0FDakIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixHQUFHLDRCQUE0QixDQUFDLHFCQUFxQixDQUFDO0NBQ3ZELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUMxRCxPQUFPLENBQ0ssQ0FBQztBQUVmLE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsV0FBYyxFQUNkLHFCQUFnQyxFQUFFO0lBRWxDLE9BQU8sK0JBQStCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUVyRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtR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
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Protocol } from '@fanx-protocol/router-sdk';
|
|
2
|
+
export const TO_PROTOCOL = (protocol) => {
|
|
3
|
+
switch (protocol.toLowerCase()) {
|
|
4
|
+
// case 'v4':
|
|
5
|
+
// return Protocol.V4;
|
|
6
|
+
case 'v3':
|
|
7
|
+
return Protocol.V3;
|
|
8
|
+
case 'v2':
|
|
9
|
+
return Protocol.V2;
|
|
10
|
+
case 'mixed':
|
|
11
|
+
return Protocol.MIXED;
|
|
12
|
+
default:
|
|
13
|
+
throw new Error(`Unknown protocol: {id}`);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvdG9jb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFZLEVBQUU7SUFDeEQsUUFBUSxRQUFRLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDOUIsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixLQUFLLElBQUk7WUFDUCxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckIsS0FBSyxJQUFJO1lBQ1AsT0FBTyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3JCLEtBQUssT0FBTztZQUNWLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQztRQUN4QjtZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUM3QztBQUNILENBQUMsQ0FBQyJ9
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Currency } from '@fanx-protocol/sdk-core';
|
|
2
|
+
import { AlphaRouterConfig, RouteWithValidQuote } from '../routers/alpha-router';
|
|
3
|
+
import { SupportedRoutes } from '../routers/router';
|
|
4
|
+
import { TPool } from '@fanx-protocol/router-sdk/dist/utils/TPool';
|
|
5
|
+
import { CachedRoutes } from '../providers';
|
|
6
|
+
export declare const routeToTokens: (route: SupportedRoutes) => Currency[];
|
|
7
|
+
export declare const routeToPools: (route: SupportedRoutes) => TPool[];
|
|
8
|
+
export declare const poolToString: (pool: TPool) => string;
|
|
9
|
+
export declare const routeToString: (route: SupportedRoutes) => string;
|
|
10
|
+
export declare const routeAmountsToString: (routeAmounts: RouteWithValidQuote[]) => string;
|
|
11
|
+
export declare function shouldWipeoutCachedRoutes(cachedRoutes?: CachedRoutes, routingConfig?: AlphaRouterConfig): boolean;
|