@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,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildSwapMethodParameters = exports.buildTrade = void 0;
|
|
7
|
+
const router_sdk_1 = require("@fanx-protocol/router-sdk");
|
|
8
|
+
const sdk_core_1 = require("@fanx-protocol/sdk-core");
|
|
9
|
+
const universal_router_sdk_1 = require("@fanx-protocol/universal-router-sdk");
|
|
10
|
+
const v2_sdk_1 = require("@fanx-protocol/v2-sdk");
|
|
11
|
+
const v3_sdk_1 = require("@fanx-protocol/v3-sdk");
|
|
12
|
+
// import { Route as V4RouteRaw } from '@fanx-protocol/v4-sdk';
|
|
13
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
14
|
+
const __1 = require("..");
|
|
15
|
+
function buildTrade(tokenInCurrency, tokenOutCurrency, tradeType, routeAmounts) {
|
|
16
|
+
/// Removed partition because of new mixedRoutes
|
|
17
|
+
// const v4RouteAmounts = _.filter(
|
|
18
|
+
// routeAmounts,
|
|
19
|
+
// (routeAmount) => routeAmount.protocol === Protocol.V4
|
|
20
|
+
// );
|
|
21
|
+
// const v4RouteAmounts: any[] = [];
|
|
22
|
+
const v3RouteAmounts = lodash_1.default.filter(routeAmounts, (routeAmount) => routeAmount.protocol === router_sdk_1.Protocol.V3);
|
|
23
|
+
const v2RouteAmounts = lodash_1.default.filter(routeAmounts, (routeAmount) => routeAmount.protocol === router_sdk_1.Protocol.V2);
|
|
24
|
+
const mixedRouteAmounts = lodash_1.default.filter(routeAmounts, (routeAmount) => routeAmount.protocol === router_sdk_1.Protocol.MIXED);
|
|
25
|
+
// TODO: ROUTE-248 - refactor route objects for the trade object composition
|
|
26
|
+
// const v4Routes = _.map<
|
|
27
|
+
// V4RouteWithValidQuote,
|
|
28
|
+
// {
|
|
29
|
+
// routev4: V4RouteRaw<Currency, Currency>;
|
|
30
|
+
// inputAmount: CurrencyAmount;
|
|
31
|
+
// outputAmount: CurrencyAmount;
|
|
32
|
+
// }
|
|
33
|
+
// >(
|
|
34
|
+
// v4RouteAmounts as V4RouteWithValidQuote[],
|
|
35
|
+
// (routeAmount: V4RouteWithValidQuote) => {
|
|
36
|
+
// const { route, amount, quote } = routeAmount;
|
|
37
|
+
// // The route, amount and quote are all in terms of wrapped tokens.
|
|
38
|
+
// // When constructing the Trade object the inputAmount/outputAmount must
|
|
39
|
+
// // use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
40
|
+
// if (tradeType == TradeType.EXACT_INPUT) {
|
|
41
|
+
// const amountCurrency = CurrencyAmount.fromFractionalAmount(
|
|
42
|
+
// tokenInCurrency,
|
|
43
|
+
// amount.numerator,
|
|
44
|
+
// amount.denominator
|
|
45
|
+
// );
|
|
46
|
+
// const quoteCurrency = CurrencyAmount.fromFractionalAmount(
|
|
47
|
+
// tokenOutCurrency,
|
|
48
|
+
// quote.numerator,
|
|
49
|
+
// quote.denominator
|
|
50
|
+
// );
|
|
51
|
+
// const routeRaw = new V4RouteRaw(
|
|
52
|
+
// route.pools,
|
|
53
|
+
// amountCurrency.currency,
|
|
54
|
+
// quoteCurrency.currency
|
|
55
|
+
// );
|
|
56
|
+
// return {
|
|
57
|
+
// routev4: routeRaw,
|
|
58
|
+
// inputAmount: amountCurrency,
|
|
59
|
+
// outputAmount: quoteCurrency,
|
|
60
|
+
// };
|
|
61
|
+
// } else {
|
|
62
|
+
// const quoteCurrency = CurrencyAmount.fromFractionalAmount(
|
|
63
|
+
// tokenInCurrency,
|
|
64
|
+
// quote.numerator,
|
|
65
|
+
// quote.denominator
|
|
66
|
+
// );
|
|
67
|
+
// const amountCurrency = CurrencyAmount.fromFractionalAmount(
|
|
68
|
+
// tokenOutCurrency,
|
|
69
|
+
// amount.numerator,
|
|
70
|
+
// amount.denominator
|
|
71
|
+
// );
|
|
72
|
+
// const routeCurrency = new V4RouteRaw(
|
|
73
|
+
// route.pools,
|
|
74
|
+
// quoteCurrency.currency,
|
|
75
|
+
// amountCurrency.currency
|
|
76
|
+
// );
|
|
77
|
+
// return {
|
|
78
|
+
// routev4: routeCurrency,
|
|
79
|
+
// inputAmount: quoteCurrency,
|
|
80
|
+
// outputAmount: amountCurrency,
|
|
81
|
+
// };
|
|
82
|
+
// }
|
|
83
|
+
// }
|
|
84
|
+
// );
|
|
85
|
+
// const v4Routes: any[] = [];
|
|
86
|
+
const v3Routes = lodash_1.default.map(v3RouteAmounts, (routeAmount) => {
|
|
87
|
+
const { route, amount, quote } = routeAmount;
|
|
88
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
89
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
90
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
91
|
+
if (tradeType == sdk_core_1.TradeType.EXACT_INPUT) {
|
|
92
|
+
const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
93
|
+
const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
94
|
+
const routeRaw = new v3_sdk_1.Route(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
95
|
+
return {
|
|
96
|
+
routev3: routeRaw,
|
|
97
|
+
inputAmount: amountCurrency,
|
|
98
|
+
outputAmount: quoteCurrency,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
103
|
+
const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
104
|
+
const routeCurrency = new v3_sdk_1.Route(route.pools, quoteCurrency.currency, amountCurrency.currency);
|
|
105
|
+
return {
|
|
106
|
+
routev3: routeCurrency,
|
|
107
|
+
inputAmount: quoteCurrency,
|
|
108
|
+
outputAmount: amountCurrency,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
const v2Routes = lodash_1.default.map(v2RouteAmounts, (routeAmount) => {
|
|
113
|
+
const { route, amount, quote } = routeAmount;
|
|
114
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
115
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
116
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
117
|
+
if (tradeType == sdk_core_1.TradeType.EXACT_INPUT) {
|
|
118
|
+
const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
119
|
+
const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
120
|
+
const routeV2SDK = new v2_sdk_1.Route(route.pairs, amountCurrency.currency, quoteCurrency.currency);
|
|
121
|
+
return {
|
|
122
|
+
routev2: routeV2SDK,
|
|
123
|
+
inputAmount: amountCurrency,
|
|
124
|
+
outputAmount: quoteCurrency,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, quote.numerator, quote.denominator);
|
|
129
|
+
const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, amount.numerator, amount.denominator);
|
|
130
|
+
const routeV2SDK = new v2_sdk_1.Route(route.pairs, quoteCurrency.currency, amountCurrency.currency);
|
|
131
|
+
return {
|
|
132
|
+
routev2: routeV2SDK,
|
|
133
|
+
inputAmount: quoteCurrency,
|
|
134
|
+
outputAmount: amountCurrency,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
const mixedRoutes = lodash_1.default.map(mixedRouteAmounts, (routeAmount) => {
|
|
139
|
+
const { route, amount, quote } = routeAmount;
|
|
140
|
+
if (tradeType != sdk_core_1.TradeType.EXACT_INPUT) {
|
|
141
|
+
throw new Error('Mixed routes are only supported for exact input trades');
|
|
142
|
+
}
|
|
143
|
+
// The route, amount and quote are all in terms of wrapped tokens.
|
|
144
|
+
// When constructing the Trade object the inputAmount/outputAmount must
|
|
145
|
+
// use native currencies if specified by the user. This is so that the Trade knows to wrap/unwrap.
|
|
146
|
+
const amountCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenInCurrency, amount.numerator, amount.denominator);
|
|
147
|
+
const quoteCurrency = __1.CurrencyAmount.fromFractionalAmount(tokenOutCurrency, quote.numerator, quote.denominator);
|
|
148
|
+
const routeRaw = new router_sdk_1.MixedRouteSDK(route.pools, amountCurrency.currency, quoteCurrency.currency);
|
|
149
|
+
return {
|
|
150
|
+
mixedRoute: routeRaw,
|
|
151
|
+
inputAmount: amountCurrency,
|
|
152
|
+
outputAmount: quoteCurrency,
|
|
153
|
+
};
|
|
154
|
+
});
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
156
|
+
// @ts-ignore
|
|
157
|
+
const trade = new router_sdk_1.Trade({
|
|
158
|
+
v2Routes,
|
|
159
|
+
v3Routes,
|
|
160
|
+
// v4Routes,
|
|
161
|
+
mixedRoutes,
|
|
162
|
+
tradeType,
|
|
163
|
+
});
|
|
164
|
+
return trade;
|
|
165
|
+
}
|
|
166
|
+
exports.buildTrade = buildTrade;
|
|
167
|
+
function buildSwapMethodParameters(trade, swapConfig, chainId) {
|
|
168
|
+
if (swapConfig.type == __1.SwapType.UNIVERSAL_ROUTER) {
|
|
169
|
+
return Object.assign(Object.assign({}, universal_router_sdk_1.SwapRouter.swapERC20CallParameters(trade, swapConfig)), { to: (0, universal_router_sdk_1.UNIVERSAL_ROUTER_ADDRESS)(swapConfig.version, chainId) });
|
|
170
|
+
}
|
|
171
|
+
else if (swapConfig.type == __1.SwapType.SWAP_ROUTER_02) {
|
|
172
|
+
const { recipient, slippageTolerance, deadline, inputTokenPermit } = swapConfig;
|
|
173
|
+
return Object.assign(Object.assign({}, router_sdk_1.SwapRouter.swapCallParameters(trade, {
|
|
174
|
+
recipient,
|
|
175
|
+
slippageTolerance,
|
|
176
|
+
deadlineOrPreviousBlockhash: deadline,
|
|
177
|
+
inputTokenPermit,
|
|
178
|
+
})), { to: (0, __1.SWAP_ROUTER_02_ADDRESSES)(chainId) });
|
|
179
|
+
}
|
|
180
|
+
throw new Error(`Unsupported swap type ${swapConfig}`);
|
|
181
|
+
}
|
|
182
|
+
exports.buildSwapMethodParameters = buildSwapMethodParameters;
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0aG9kUGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL21ldGhvZFBhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBS21DO0FBQ25DLHNEQUF1RTtBQUN2RSw4RUFHNkM7QUFDN0Msa0RBQTREO0FBQzVELGtEQUE0RDtBQUM1RCwrREFBK0Q7QUFDL0Qsb0RBQXVCO0FBRXZCLDBCQVVZO0FBRVosU0FBZ0IsVUFBVSxDQUN4QixlQUF5QixFQUN6QixnQkFBMEIsRUFDMUIsU0FBcUIsRUFDckIsWUFBbUM7SUFFbkMsZ0RBQWdEO0lBQ2hELG1DQUFtQztJQUNuQyxrQkFBa0I7SUFDbEIsMERBQTBEO0lBQzFELEtBQUs7SUFDTCxvQ0FBb0M7SUFDcEMsTUFBTSxjQUFjLEdBQUcsZ0JBQUMsQ0FBQyxNQUFNLENBQzdCLFlBQVksRUFDWixDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxxQkFBUSxDQUFDLEVBQUUsQ0FDdEQsQ0FBQztJQUNGLE1BQU0sY0FBYyxHQUFHLGdCQUFDLENBQUMsTUFBTSxDQUM3QixZQUFZLEVBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUsscUJBQVEsQ0FBQyxFQUFFLENBQ3RELENBQUM7SUFDRixNQUFNLGlCQUFpQixHQUFHLGdCQUFDLENBQUMsTUFBTSxDQUNoQyxZQUFZLEVBQ1osQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEtBQUsscUJBQVEsQ0FBQyxLQUFLLENBQ3pELENBQUM7SUFFRiw0RUFBNEU7SUFDNUUsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixNQUFNO0lBQ04sK0NBQStDO0lBQy9DLG1DQUFtQztJQUNuQyxvQ0FBb0M7SUFDcEMsTUFBTTtJQUNOLEtBQUs7SUFDTCwrQ0FBK0M7SUFDL0MsOENBQThDO0lBQzlDLG9EQUFv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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,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setGlobalMetric = exports.metric = exports.MetricLogger = exports.IMetric = exports.MetricLoggerUnit = void 0;
|
|
4
|
+
const log_1 = require("./log");
|
|
5
|
+
var MetricLoggerUnit;
|
|
6
|
+
(function (MetricLoggerUnit) {
|
|
7
|
+
MetricLoggerUnit["Seconds"] = "Seconds";
|
|
8
|
+
MetricLoggerUnit["Microseconds"] = "Microseconds";
|
|
9
|
+
MetricLoggerUnit["Milliseconds"] = "Milliseconds";
|
|
10
|
+
MetricLoggerUnit["Bytes"] = "Bytes";
|
|
11
|
+
MetricLoggerUnit["Kilobytes"] = "Kilobytes";
|
|
12
|
+
MetricLoggerUnit["Megabytes"] = "Megabytes";
|
|
13
|
+
MetricLoggerUnit["Gigabytes"] = "Gigabytes";
|
|
14
|
+
MetricLoggerUnit["Terabytes"] = "Terabytes";
|
|
15
|
+
MetricLoggerUnit["Bits"] = "Bits";
|
|
16
|
+
MetricLoggerUnit["Kilobits"] = "Kilobits";
|
|
17
|
+
MetricLoggerUnit["Megabits"] = "Megabits";
|
|
18
|
+
MetricLoggerUnit["Gigabits"] = "Gigabits";
|
|
19
|
+
MetricLoggerUnit["Terabits"] = "Terabits";
|
|
20
|
+
MetricLoggerUnit["Percent"] = "Percent";
|
|
21
|
+
MetricLoggerUnit["Count"] = "Count";
|
|
22
|
+
MetricLoggerUnit["BytesPerSecond"] = "Bytes/Second";
|
|
23
|
+
MetricLoggerUnit["KilobytesPerSecond"] = "Kilobytes/Second";
|
|
24
|
+
MetricLoggerUnit["MegabytesPerSecond"] = "Megabytes/Second";
|
|
25
|
+
MetricLoggerUnit["GigabytesPerSecond"] = "Gigabytes/Second";
|
|
26
|
+
MetricLoggerUnit["TerabytesPerSecond"] = "Terabytes/Second";
|
|
27
|
+
MetricLoggerUnit["BitsPerSecond"] = "Bits/Second";
|
|
28
|
+
MetricLoggerUnit["KilobitsPerSecond"] = "Kilobits/Second";
|
|
29
|
+
MetricLoggerUnit["MegabitsPerSecond"] = "Megabits/Second";
|
|
30
|
+
MetricLoggerUnit["GigabitsPerSecond"] = "Gigabits/Second";
|
|
31
|
+
MetricLoggerUnit["TerabitsPerSecond"] = "Terabits/Second";
|
|
32
|
+
MetricLoggerUnit["CountPerSecond"] = "Count/Second";
|
|
33
|
+
MetricLoggerUnit["None"] = "None";
|
|
34
|
+
})(MetricLoggerUnit = exports.MetricLoggerUnit || (exports.MetricLoggerUnit = {}));
|
|
35
|
+
class IMetric {
|
|
36
|
+
}
|
|
37
|
+
exports.IMetric = IMetric;
|
|
38
|
+
class MetricLogger extends IMetric {
|
|
39
|
+
constructor(context) {
|
|
40
|
+
super();
|
|
41
|
+
this.log = log_1.log.child(context || {});
|
|
42
|
+
}
|
|
43
|
+
setProperty(key, value) {
|
|
44
|
+
this.log = this.log.child({ [key]: value });
|
|
45
|
+
}
|
|
46
|
+
putDimensions(dimensions) {
|
|
47
|
+
this.log = this.log.child(dimensions);
|
|
48
|
+
}
|
|
49
|
+
putMetric(key, value, unit) {
|
|
50
|
+
this.log.info({ key, value, unit }, `[Metric]: ${key}: ${value} | ${unit ? unit : ''}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.MetricLogger = MetricLogger;
|
|
54
|
+
exports.metric = new MetricLogger();
|
|
55
|
+
const setGlobalMetric = (_metric) => {
|
|
56
|
+
exports.metric = _metric;
|
|
57
|
+
};
|
|
58
|
+
exports.setGlobalMetric = setGlobalMetric;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvbWV0cmljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtCQUE0QjtBQUU1QixJQUFZLGdCQTRCWDtBQTVCRCxXQUFZLGdCQUFnQjtJQUMxQix1Q0FBbUIsQ0FBQTtJQUNuQixpREFBNkIsQ0FBQTtJQUM3QixpREFBNkIsQ0FBQTtJQUM3QixtQ0FBZSxDQUFBO0lBQ2YsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsaUNBQWEsQ0FBQTtJQUNiLHlDQUFxQixDQUFBO0lBQ3JCLHlDQUFxQixDQUFBO0lBQ3JCLHlDQUFxQixDQUFBO0lBQ3JCLHlDQUFxQixDQUFBO0lBQ3JCLHVDQUFtQixDQUFBO0lBQ25CLG1DQUFlLENBQUE7SUFDZixtREFBK0IsQ0FBQTtJQUMvQiwyREFBdUMsQ0FBQTtJQUN2QywyREFBdUMsQ0FBQTtJQUN2QywyREFBdUMsQ0FBQTtJQUN2QywyREFBdUMsQ0FBQTtJQUN2QyxpREFBNkIsQ0FBQTtJQUM3Qix5REFBcUMsQ0FBQTtJQUNyQyx5REFBcUMsQ0FBQTtJQUNyQyx5REFBcUMsQ0FBQTtJQUNyQyx5REFBcUMsQ0FBQTtJQUNyQyxtREFBK0IsQ0FBQTtJQUMvQixpQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQTVCVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQTRCM0I7QUFFRCxNQUFzQixPQUFPO0NBTTVCO0FBTkQsMEJBTUM7QUFPRCxNQUFhLFlBQWEsU0FBUSxPQUFPO0lBR3ZDLFlBQVksT0FBdUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLFNBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQWM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFVBQWtDO1FBQ3JELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLElBQXVCO1FBQ2xFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNYLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFDcEIsYUFBYSxHQUFHLEtBQUssS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbkQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRCRCxvQ0FzQkM7QUFFVSxRQUFBLE1BQU0sR0FBWSxJQUFJLFlBQVksRUFBRSxDQUFDO0FBRXpDLE1BQU0sZUFBZSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO0lBQ2xELGNBQU0sR0FBRyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRlcsUUFBQSxlQUFlLG1CQUUxQiJ9
|
|
@@ -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,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BLOCK_NUMBER_CONFIGS = exports.DEFAULT_BLOCK_NUMBER_CONFIGS = exports.constructSameBlockNumberConfigsMap = exports.NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = exports.SUCCESS_RATE_FAILURE_OVERRIDES = exports.DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES = exports.constructSameSuccessRateFailureOverridesMap = exports.NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES = exports.GAS_ERROR_FAILURE_OVERRIDES = exports.DEFAULT_GAS_ERROR_FAILURE_OVERRIDES = exports.constructSameGasErrorFailureOverridesMap = exports.NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES = exports.BATCH_PARAMS = exports.DEFAULT_BATCH_PARAMS = exports.constructSameBatchParamsMap = exports.NETWORKS_WITH_SAME_BATCH_PARAMS = exports.RETRY_OPTIONS = exports.DEFAULT_RETRY_OPTIONS = exports.constructSameRetryOptionsMap = exports.NETWORKS_WITH_SAME_RETRY_OPTIONS = void 0;
|
|
4
|
+
const sdk_core_1 = require("@fanx-protocol/sdk-core");
|
|
5
|
+
exports.NETWORKS_WITH_SAME_RETRY_OPTIONS = Object.values(sdk_core_1.ChainId);
|
|
6
|
+
function constructSameRetryOptionsMap(retryOptions, additionalNetworks = []) {
|
|
7
|
+
return exports.NETWORKS_WITH_SAME_RETRY_OPTIONS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
8
|
+
memo[chainId] = retryOptions;
|
|
9
|
+
return memo;
|
|
10
|
+
}, {});
|
|
11
|
+
}
|
|
12
|
+
exports.constructSameRetryOptionsMap = constructSameRetryOptionsMap;
|
|
13
|
+
exports.DEFAULT_RETRY_OPTIONS = {
|
|
14
|
+
retries: 2,
|
|
15
|
+
minTimeout: 100,
|
|
16
|
+
maxTimeout: 1000,
|
|
17
|
+
};
|
|
18
|
+
exports.RETRY_OPTIONS = Object.assign({}, constructSameRetryOptionsMap(exports.DEFAULT_RETRY_OPTIONS));
|
|
19
|
+
exports.NETWORKS_WITH_SAME_BATCH_PARAMS = Object.values(sdk_core_1.ChainId);
|
|
20
|
+
function constructSameBatchParamsMap(batchParams, additionalNetworks = []) {
|
|
21
|
+
return exports.NETWORKS_WITH_SAME_BATCH_PARAMS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
22
|
+
memo[chainId] = batchParams;
|
|
23
|
+
return memo;
|
|
24
|
+
}, {});
|
|
25
|
+
}
|
|
26
|
+
exports.constructSameBatchParamsMap = constructSameBatchParamsMap;
|
|
27
|
+
exports.DEFAULT_BATCH_PARAMS = {
|
|
28
|
+
multicallChunk: 210,
|
|
29
|
+
gasLimitPerCall: 705000,
|
|
30
|
+
quoteMinSuccessRate: 0.15,
|
|
31
|
+
};
|
|
32
|
+
exports.BATCH_PARAMS = Object.assign({}, constructSameBatchParamsMap(exports.DEFAULT_BATCH_PARAMS));
|
|
33
|
+
exports.NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES = Object.values(sdk_core_1.ChainId);
|
|
34
|
+
function constructSameGasErrorFailureOverridesMap(gasErrorFailureOverrides, additionalNetworks = []) {
|
|
35
|
+
return exports.NETWORKS_WITH_SAME_GAS_ERROR_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
36
|
+
memo[chainId] = gasErrorFailureOverrides;
|
|
37
|
+
return memo;
|
|
38
|
+
}, {});
|
|
39
|
+
}
|
|
40
|
+
exports.constructSameGasErrorFailureOverridesMap = constructSameGasErrorFailureOverridesMap;
|
|
41
|
+
exports.DEFAULT_GAS_ERROR_FAILURE_OVERRIDES = {
|
|
42
|
+
gasLimitOverride: 2000000,
|
|
43
|
+
multicallChunk: 70,
|
|
44
|
+
};
|
|
45
|
+
exports.GAS_ERROR_FAILURE_OVERRIDES = Object.assign({}, constructSameGasErrorFailureOverridesMap(exports.DEFAULT_GAS_ERROR_FAILURE_OVERRIDES));
|
|
46
|
+
exports.NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES = [
|
|
47
|
+
// ChainId.POLYGON,
|
|
48
|
+
];
|
|
49
|
+
function constructSameSuccessRateFailureOverridesMap(successRateFailureOverrides, additionalNetworks = []) {
|
|
50
|
+
return exports.NETWORKS_WITH_SAME_SUCCESS_RATE_FAILURE_OVERRIDES.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
51
|
+
memo[chainId] = successRateFailureOverrides;
|
|
52
|
+
return memo;
|
|
53
|
+
}, {});
|
|
54
|
+
}
|
|
55
|
+
exports.constructSameSuccessRateFailureOverridesMap = constructSameSuccessRateFailureOverridesMap;
|
|
56
|
+
exports.DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES = {
|
|
57
|
+
gasLimitOverride: 1300000,
|
|
58
|
+
multicallChunk: 110,
|
|
59
|
+
};
|
|
60
|
+
exports.SUCCESS_RATE_FAILURE_OVERRIDES = Object.assign({}, constructSameSuccessRateFailureOverridesMap(exports.DEFAULT_SUCCESS_RATE_FAILURE_OVERRIDES));
|
|
61
|
+
exports.NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS = Object.values(sdk_core_1.ChainId);
|
|
62
|
+
function constructSameBlockNumberConfigsMap(blockNumberConfigs, additionalNetworks = []) {
|
|
63
|
+
return exports.NETWORKS_WITH_SAME_BLOCK_NUMBER_CONFIGS.concat(additionalNetworks).reduce((memo, chainId) => {
|
|
64
|
+
memo[chainId] = blockNumberConfigs;
|
|
65
|
+
return memo;
|
|
66
|
+
}, {});
|
|
67
|
+
}
|
|
68
|
+
exports.constructSameBlockNumberConfigsMap = constructSameBlockNumberConfigsMap;
|
|
69
|
+
exports.DEFAULT_BLOCK_NUMBER_CONFIGS = {
|
|
70
|
+
baseBlockOffset: 0,
|
|
71
|
+
rollback: { enabled: false },
|
|
72
|
+
};
|
|
73
|
+
exports.BLOCK_NUMBER_CONFIGS = Object.assign({}, constructSameBlockNumberConfigsMap(exports.DEFAULT_BLOCK_NUMBER_CONFIGS));
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvb25jaGFpblF1b3RlUHJvdmlkZXJDb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFrRDtBQVNyQyxRQUFBLGdDQUFnQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzNELGtCQUFPLENBQ0ssQ0FBQztBQUVmLFNBQWdCLDRCQUE0QixDQUMxQyxZQUFlLEVBQ2YscUJBQWdDLEVBQUU7SUFFbEMsT0FBTyx3Q0FBZ0MsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBRXRFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBVkQsb0VBVUM7QUFFWSxRQUFBLHFCQUFxQixHQUFzQjtJQUN0RCxPQUFPLEVBQUUsQ0FBQztJQUNWLFVBQVUsRUFBRSxHQUFHO0lBQ2YsVUFBVSxFQUFFLElBQUk7Q0FDakIsQ0FBQztBQUVXLFFBQUEsYUFBYSxxQkFDckIsNEJBQTRCLENBQUMsNkJBQXFCLENBQUMsRUFDdEQ7QUFFVyxRQUFBLCtCQUErQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQzFELGtCQUFPLENBQ0ssQ0FBQztBQUVmLFNBQWdCLDJCQUEyQixDQUN6QyxXQUFjLEVBQ2QscUJBQWdDLEVBQUU7SUFFbEMsT0FBTyx1Q0FBK0IsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBRXJFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxXQUFXLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUs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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TO_PROTOCOL = void 0;
|
|
4
|
+
const router_sdk_1 = require("@fanx-protocol/router-sdk");
|
|
5
|
+
const TO_PROTOCOL = (protocol) => {
|
|
6
|
+
switch (protocol.toLowerCase()) {
|
|
7
|
+
// case 'v4':
|
|
8
|
+
// return Protocol.V4;
|
|
9
|
+
case 'v3':
|
|
10
|
+
return router_sdk_1.Protocol.V3;
|
|
11
|
+
case 'v2':
|
|
12
|
+
return router_sdk_1.Protocol.V2;
|
|
13
|
+
case 'mixed':
|
|
14
|
+
return router_sdk_1.Protocol.MIXED;
|
|
15
|
+
default:
|
|
16
|
+
throw new Error(`Unknown protocol: {id}`);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.TO_PROTOCOL = TO_PROTOCOL;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcHJvdG9jb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFxRDtBQUU5QyxNQUFNLFdBQVcsR0FBRyxDQUFDLFFBQWdCLEVBQVksRUFBRTtJQUN4RCxRQUFRLFFBQVEsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM5QixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLEtBQUssSUFBSTtZQUNQLE9BQU8scUJBQVEsQ0FBQyxFQUFFLENBQUM7UUFDckIsS0FBSyxJQUFJO1lBQ1AsT0FBTyxxQkFBUSxDQUFDLEVBQUUsQ0FBQztRQUNyQixLQUFLLE9BQU87WUFDVixPQUFPLHFCQUFRLENBQUMsS0FBSyxDQUFDO1FBQ3hCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0tBQzdDO0FBQ0gsQ0FBQyxDQUFDO0FBYlcsUUFBQSxXQUFXLGVBYXRCIn0=
|
|
@@ -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;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.shouldWipeoutCachedRoutes = exports.routeAmountsToString = exports.routeToString = exports.poolToString = exports.routeToPools = exports.routeToTokens = void 0;
|
|
7
|
+
const router_sdk_1 = require("@fanx-protocol/router-sdk");
|
|
8
|
+
const sdk_core_1 = require("@fanx-protocol/sdk-core");
|
|
9
|
+
const v2_sdk_1 = require("@fanx-protocol/v2-sdk");
|
|
10
|
+
const v3_sdk_1 = require("@fanx-protocol/v3-sdk");
|
|
11
|
+
// import { Pool as V4Pool } from '@fanx-protocol/v4-sdk';
|
|
12
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
13
|
+
const addresses_1 = require("./addresses");
|
|
14
|
+
const _1 = require(".");
|
|
15
|
+
const routeToTokens = (route) => {
|
|
16
|
+
switch (route.protocol) {
|
|
17
|
+
// case Protocol.V4:
|
|
18
|
+
// return route.currencyPath;
|
|
19
|
+
case router_sdk_1.Protocol.V3:
|
|
20
|
+
return route.tokenPath;
|
|
21
|
+
case router_sdk_1.Protocol.V2:
|
|
22
|
+
case router_sdk_1.Protocol.MIXED:
|
|
23
|
+
return route.path;
|
|
24
|
+
default:
|
|
25
|
+
throw new Error(`Unsupported route ${JSON.stringify(route)}`);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.routeToTokens = routeToTokens;
|
|
29
|
+
const routeToPools = (route) => {
|
|
30
|
+
switch (route.protocol) {
|
|
31
|
+
// case Protocol.V4:
|
|
32
|
+
case router_sdk_1.Protocol.V3:
|
|
33
|
+
case router_sdk_1.Protocol.MIXED:
|
|
34
|
+
return route.pools;
|
|
35
|
+
case router_sdk_1.Protocol.V2:
|
|
36
|
+
return route.pairs;
|
|
37
|
+
default:
|
|
38
|
+
throw new Error(`Unsupported route ${JSON.stringify(route)}`);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.routeToPools = routeToPools;
|
|
42
|
+
const poolToString = (pool) => {
|
|
43
|
+
// if (pool instanceof V4Pool) {
|
|
44
|
+
// return ` -- ${pool.fee / 10000}% [${V4Pool.getPoolId(
|
|
45
|
+
// pool.token0,
|
|
46
|
+
// pool.token1,
|
|
47
|
+
// pool.fee,
|
|
48
|
+
// 0,
|
|
49
|
+
// ADDRESS_ZERO
|
|
50
|
+
// )}]`;
|
|
51
|
+
// } else
|
|
52
|
+
if (pool instanceof v3_sdk_1.Pool) {
|
|
53
|
+
return ` -- ${pool.fee / 10000}% [${v3_sdk_1.Pool.getAddress(pool.token0, pool.token1, pool.fee, undefined, addresses_1.V3_CORE_FACTORY_ADDRESSES[pool.chainId])}]`;
|
|
54
|
+
}
|
|
55
|
+
else if (pool instanceof v2_sdk_1.Pair) {
|
|
56
|
+
return ` -- [${v2_sdk_1.Pair.getAddress(pool.token0, pool.token1)}]`;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw new Error(`Unsupported pool ${JSON.stringify(pool)}`);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
exports.poolToString = poolToString;
|
|
63
|
+
const routeToString = (route) => {
|
|
64
|
+
const routeStr = [];
|
|
65
|
+
const tokens = (0, exports.routeToTokens)(route);
|
|
66
|
+
const tokenPath = lodash_1.default.map(tokens, (token) => `${token.symbol}`);
|
|
67
|
+
const pools = (0, exports.routeToPools)(route);
|
|
68
|
+
const poolFeePath = lodash_1.default.map(pools, (pool) => {
|
|
69
|
+
if (pool instanceof v2_sdk_1.Pair) {
|
|
70
|
+
return ` -- [${v2_sdk_1.Pair.getAddress(pool.token0, pool.token1)}]`;
|
|
71
|
+
}
|
|
72
|
+
else if (pool instanceof v3_sdk_1.Pool) {
|
|
73
|
+
return ` -- ${pool.fee / 10000}% [${v3_sdk_1.Pool.getAddress(pool.token0, pool.token1, pool.fee, undefined, addresses_1.V3_CORE_FACTORY_ADDRESSES[pool.chainId])}]`;
|
|
74
|
+
// } else if (pool instanceof V4Pool) {
|
|
75
|
+
// return ` -- ${pool.fee / 10000}% [${V4Pool.getPoolId(
|
|
76
|
+
// pool.token0,
|
|
77
|
+
// pool.token1,
|
|
78
|
+
// pool.fee,
|
|
79
|
+
// 0,
|
|
80
|
+
// ADDRESS_ZERO
|
|
81
|
+
// )}]`;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
throw new Error(`Unsupported pool ${JSON.stringify(pool)}`);
|
|
85
|
+
}
|
|
86
|
+
return `${(0, exports.poolToString)(pool)} --> `;
|
|
87
|
+
});
|
|
88
|
+
for (let i = 0; i < tokenPath.length; i++) {
|
|
89
|
+
routeStr.push(tokenPath[i]);
|
|
90
|
+
if (i < poolFeePath.length) {
|
|
91
|
+
routeStr.push(poolFeePath[i]);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return routeStr.join('');
|
|
95
|
+
};
|
|
96
|
+
exports.routeToString = routeToString;
|
|
97
|
+
const routeAmountsToString = (routeAmounts) => {
|
|
98
|
+
const total = lodash_1.default.reduce(routeAmounts, (total, cur) => {
|
|
99
|
+
return total.add(cur.amount);
|
|
100
|
+
}, _1.CurrencyAmount.fromRawAmount(routeAmounts[0].amount.currency, 0));
|
|
101
|
+
const routeStrings = lodash_1.default.map(routeAmounts, ({ protocol, route, amount }) => {
|
|
102
|
+
const portion = amount.divide(total);
|
|
103
|
+
const percent = new sdk_core_1.Percent(portion.numerator, portion.denominator);
|
|
104
|
+
/// @dev special case for MIXED routes we want to show user friendly V2+V3 instead
|
|
105
|
+
return `[${protocol == router_sdk_1.Protocol.MIXED ? 'V2 + V3' : protocol}] ${percent.toFixed(2)}% = ${(0, exports.routeToString)(route)}`;
|
|
106
|
+
});
|
|
107
|
+
return lodash_1.default.join(routeStrings, ', ');
|
|
108
|
+
};
|
|
109
|
+
exports.routeAmountsToString = routeAmountsToString;
|
|
110
|
+
function shouldWipeoutCachedRoutes(cachedRoutes, routingConfig) {
|
|
111
|
+
// In case of optimisticCachedRoutes, we don't want to wipe out the cache
|
|
112
|
+
// This is because the upstream client will indicate that it's a perf sensitive (likely online) request,
|
|
113
|
+
// such that we should still use the cached routes.
|
|
114
|
+
// In case of routing-api,
|
|
115
|
+
// when intent=quote, optimisticCachedRoutes will be true, it means it's an online quote request, and we should use the cached routes.
|
|
116
|
+
// when intent=caching, optimisticCachedRoutes will be false, it means it's an async routing lambda invocation for the benefit of
|
|
117
|
+
// non-perf-sensitive, so that we can nullify the retrieved cached routes, if certain condition meets.
|
|
118
|
+
if (routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.optimisticCachedRoutes) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
const containsExcludedProtocolPools = cachedRoutes === null || cachedRoutes === void 0 ? void 0 : cachedRoutes.routes.find((route) => {
|
|
122
|
+
switch (route.protocol) {
|
|
123
|
+
case router_sdk_1.Protocol.MIXED:
|
|
124
|
+
return (route.route.pools.filter((pool) => {
|
|
125
|
+
return poolIsInExcludedProtocols(pool, routingConfig === null || routingConfig === void 0 ? void 0 : routingConfig.excludedProtocolsFromMixed);
|
|
126
|
+
}).length > 0);
|
|
127
|
+
default:
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
return containsExcludedProtocolPools !== undefined;
|
|
132
|
+
}
|
|
133
|
+
exports.shouldWipeoutCachedRoutes = shouldWipeoutCachedRoutes;
|
|
134
|
+
function poolIsInExcludedProtocols(pool, excludedProtocolsFromMixed) {
|
|
135
|
+
var _a, _b;
|
|
136
|
+
// if (pool instanceof V4Pool) {
|
|
137
|
+
// return excludedProtocolsFromMixed?.includes(Protocol.V4) ?? false;
|
|
138
|
+
// } else
|
|
139
|
+
if (pool instanceof v3_sdk_1.Pool) {
|
|
140
|
+
return (_a = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(router_sdk_1.Protocol.V3)) !== null && _a !== void 0 ? _a : false;
|
|
141
|
+
}
|
|
142
|
+
else if (pool instanceof v2_sdk_1.Pair) {
|
|
143
|
+
return (_b = excludedProtocolsFromMixed === null || excludedProtocolsFromMixed === void 0 ? void 0 : excludedProtocolsFromMixed.includes(router_sdk_1.Protocol.V2)) !== null && _b !== void 0 ? _b : false;
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFxRDtBQUNyRCxzREFBNEQ7QUFDNUQsa0RBQTZDO0FBQzdDLGtEQUF1RDtBQUN2RCwwREFBMEQ7QUFDMUQsb0RBQXVCO0FBUXZCLDJDQUF3RDtBQUd4RCx3QkFBbUM7QUFHNUIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFzQixFQUFjLEVBQUU7SUFDbEUsUUFBUSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ3RCLG9CQUFvQjtRQUNwQiwrQkFBK0I7UUFDL0IsS0FBSyxxQkFBUSxDQUFDLEVBQUU7WUFDZCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDekIsS0FBSyxxQkFBUSxDQUFDLEVBQUUsQ0FBQztRQUNqQixLQUFLLHFCQUFRLENBQUMsS0FBSztZQUNqQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDcEI7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqRTtBQUNILENBQUMsQ0FBQztBQVpXLFFBQUEsYUFBYSxpQkFZeEI7QUFFSyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQXNCLEVBQVcsRUFBRTtJQUM5RCxRQUFRLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDdEIsb0JBQW9CO1FBQ3BCLEtBQUsscUJBQVEsQ0FBQyxFQUFFLENBQUM7UUFDakIsS0FBSyxxQkFBUSxDQUFDLEtBQUs7WUFDakIsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCLEtBQUsscUJBQVEsQ0FBQyxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3JCO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxD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
|