@xspswap/smart-order-router 1.1.6 → 1.1.7
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/build/main/providers/caching/route/model/cached-routes.d.ts +3 -2
- package/build/main/providers/caching/route/model/cached-routes.js +4 -4
- package/build/main/providers/caching/route/route-caching-provider.d.ts +2 -1
- package/build/main/providers/caching/route/route-caching-provider.js +6 -11
- package/build/main/providers/caching-gas-provider.d.ts +1 -1
- package/build/main/providers/caching-gas-provider.js +1 -1
- package/build/main/providers/caching-token-list-provider.d.ts +2 -1
- package/build/main/providers/caching-token-list-provider.js +2 -1
- package/build/main/providers/caching-token-provider.d.ts +2 -1
- package/build/main/providers/caching-token-provider.js +5 -6
- package/build/main/providers/eth-estimate-gas-provider.d.ts +1 -1
- package/build/main/providers/eth-estimate-gas-provider.js +1 -1
- package/build/main/providers/multicall-uniswap-provider.d.ts +1 -1
- package/build/main/providers/multicall-uniswap-provider.js +3 -3
- package/build/main/providers/on-chain-gas-price-provider.d.ts +1 -1
- package/build/main/providers/on-chain-quote-provider.d.ts +1 -1
- package/build/main/providers/on-chain-quote-provider.js +13 -24
- package/build/main/providers/simulation-provider.d.ts +2 -2
- package/build/main/providers/simulation-provider.js +6 -6
- package/build/main/providers/swap-router-provider.d.ts +2 -1
- package/build/main/providers/swap-router-provider.js +2 -3
- package/build/main/providers/tenderly-simulation-provider.d.ts +1 -1
- package/build/main/providers/tenderly-simulation-provider.js +7 -8
- package/build/main/providers/token-provider.d.ts +2 -3
- package/build/main/providers/token-provider.js +30 -32
- package/build/main/providers/token-validator-provider.d.ts +2 -1
- package/build/main/providers/token-validator-provider.js +2 -3
- package/build/main/providers/uri-subgraph-provider.d.ts +1 -1
- package/build/main/providers/uri-subgraph-provider.js +1 -1
- package/build/main/providers/v2/caching-pool-provider.d.ts +3 -5
- package/build/main/providers/v2/caching-pool-provider.js +3 -5
- package/build/main/providers/v2/caching-subgraph-provider.d.ts +1 -1
- package/build/main/providers/v2/pool-provider.d.ts +4 -13
- package/build/main/providers/v2/pool-provider.js +10 -12
- package/build/main/providers/v2/quote-provider.js +2 -2
- package/build/main/providers/v2/static-subgraph-provider.d.ts +2 -1
- package/build/main/providers/v2/static-subgraph-provider.js +7 -7
- package/build/main/providers/v2/subgraph-provider.d.ts +2 -1
- package/build/main/providers/v2/subgraph-provider.js +1 -1
- package/build/main/providers/v3/caching-pool-provider.d.ts +3 -5
- package/build/main/providers/v3/caching-pool-provider.js +3 -5
- package/build/main/providers/v3/caching-subgraph-provider.d.ts +1 -1
- package/build/main/providers/v3/pool-provider.d.ts +3 -5
- package/build/main/providers/v3/pool-provider.js +8 -14
- package/build/main/providers/v3/static-subgraph-provider.d.ts +2 -1
- package/build/main/providers/v3/static-subgraph-provider.js +25 -37
- package/build/main/providers/v3/subgraph-provider.d.ts +2 -1
- package/build/main/providers/v3/subgraph-provider.js +2 -2
- package/build/main/routers/alpha-router/alpha-router.d.ts +6 -25
- package/build/main/routers/alpha-router/alpha-router.js +38 -100
- package/build/main/routers/alpha-router/config.d.ts +1 -1
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +7 -9
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.js +8 -8
- package/build/main/routers/alpha-router/functions/best-swap-route.d.ts +2 -1
- package/build/main/routers/alpha-router/functions/best-swap-route.js +1 -1
- package/build/main/routers/alpha-router/functions/compute-all-routes.d.ts +3 -4
- package/build/main/routers/alpha-router/functions/compute-all-routes.js +6 -6
- package/build/main/routers/alpha-router/functions/get-candidate-pools.d.ts +5 -7
- package/build/main/routers/alpha-router/functions/get-candidate-pools.js +17 -19
- package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +2 -1
- package/build/main/routers/alpha-router/gas-models/gas-model.js +4 -4
- package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +4 -4
- package/build/main/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +12 -13
- package/build/main/routers/alpha-router/gas-models/v3/gas-costs.d.ts +1 -1
- package/build/main/routers/alpha-router/gas-models/v3/gas-costs.js +11 -11
- package/build/main/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +5 -4
- package/build/main/routers/alpha-router/quoters/base-quoter.d.ts +3 -5
- package/build/main/routers/alpha-router/quoters/base-quoter.js +2 -3
- package/build/main/routers/alpha-router/quoters/mixed-quoter.d.ts +3 -4
- package/build/main/routers/alpha-router/quoters/mixed-quoter.js +14 -80
- package/build/main/routers/alpha-router/quoters/v2-quoter.d.ts +3 -4
- package/build/main/routers/alpha-router/quoters/v2-quoter.js +4 -9
- package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +4 -5
- package/build/main/routers/alpha-router/quoters/v3-quoter.js +10 -9
- package/build/main/routers/legacy-router/bases.d.ts +2 -1
- package/build/main/routers/legacy-router/bases.js +6 -7
- package/build/main/routers/legacy-router/legacy-router.d.ts +2 -1
- package/build/main/routers/legacy-router/legacy-router.js +5 -5
- package/build/main/routers/router.d.ts +4 -7
- package/build/main/routers/router.js +8 -8
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/main/util/addresses.d.ts +21 -0
- package/build/main/util/addresses.js +59 -6
- package/build/main/util/chains.d.ts +11 -2
- package/build/main/util/chains.js +37 -18
- package/build/main/util/gas-factory-helpers.d.ts +3 -2
- package/build/main/util/gas-factory-helpers.js +6 -10
- package/build/main/util/methodParameters.d.ts +2 -2
- package/build/main/util/methodParameters.js +5 -5
- package/build/main/util/protocols.d.ts +0 -2
- package/build/main/util/protocols.js +2 -14
- package/build/main/util/routes.js +10 -19
- package/build/module/providers/caching/route/model/cached-routes.d.ts +3 -2
- package/build/module/providers/caching/route/model/cached-routes.js +4 -4
- package/build/module/providers/caching/route/route-caching-provider.d.ts +2 -1
- package/build/module/providers/caching/route/route-caching-provider.js +7 -12
- package/build/module/providers/caching-gas-provider.d.ts +1 -1
- package/build/module/providers/caching-gas-provider.js +1 -1
- package/build/module/providers/caching-token-list-provider.d.ts +2 -1
- package/build/module/providers/caching-token-list-provider.js +2 -1
- package/build/module/providers/caching-token-provider.d.ts +2 -1
- package/build/module/providers/caching-token-provider.js +5 -6
- package/build/module/providers/eth-estimate-gas-provider.d.ts +1 -1
- package/build/module/providers/eth-estimate-gas-provider.js +1 -1
- package/build/module/providers/multicall-uniswap-provider.d.ts +1 -1
- package/build/module/providers/multicall-uniswap-provider.js +3 -3
- package/build/module/providers/on-chain-gas-price-provider.d.ts +1 -1
- package/build/module/providers/on-chain-quote-provider.d.ts +1 -1
- package/build/module/providers/on-chain-quote-provider.js +16 -27
- package/build/module/providers/simulation-provider.d.ts +2 -2
- package/build/module/providers/simulation-provider.js +6 -6
- package/build/module/providers/swap-router-provider.d.ts +2 -1
- package/build/module/providers/swap-router-provider.js +2 -3
- package/build/module/providers/tenderly-simulation-provider.d.ts +1 -1
- package/build/module/providers/tenderly-simulation-provider.js +7 -8
- package/build/module/providers/token-provider.d.ts +2 -3
- package/build/module/providers/token-provider.js +10 -12
- package/build/module/providers/token-validator-provider.d.ts +2 -1
- package/build/module/providers/token-validator-provider.js +3 -4
- package/build/module/providers/uri-subgraph-provider.d.ts +1 -1
- package/build/module/providers/uri-subgraph-provider.js +1 -1
- package/build/module/providers/v2/caching-pool-provider.d.ts +3 -5
- package/build/module/providers/v2/caching-pool-provider.js +3 -5
- package/build/module/providers/v2/caching-subgraph-provider.d.ts +1 -1
- package/build/module/providers/v2/pool-provider.d.ts +4 -13
- package/build/module/providers/v2/pool-provider.js +10 -12
- package/build/module/providers/v2/quote-provider.js +2 -2
- package/build/module/providers/v2/static-subgraph-provider.d.ts +2 -1
- package/build/module/providers/v2/static-subgraph-provider.js +5 -5
- package/build/module/providers/v2/subgraph-provider.d.ts +2 -1
- package/build/module/providers/v2/subgraph-provider.js +1 -1
- package/build/module/providers/v3/caching-pool-provider.d.ts +3 -5
- package/build/module/providers/v3/caching-pool-provider.js +3 -5
- package/build/module/providers/v3/caching-subgraph-provider.d.ts +1 -1
- package/build/module/providers/v3/pool-provider.d.ts +3 -5
- package/build/module/providers/v3/pool-provider.js +8 -14
- package/build/module/providers/v3/static-subgraph-provider.d.ts +2 -1
- package/build/module/providers/v3/static-subgraph-provider.js +24 -36
- package/build/module/providers/v3/subgraph-provider.d.ts +2 -1
- package/build/module/providers/v3/subgraph-provider.js +2 -2
- package/build/module/routers/alpha-router/alpha-router.d.ts +6 -25
- package/build/module/routers/alpha-router/alpha-router.js +40 -102
- package/build/module/routers/alpha-router/config.d.ts +1 -1
- package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +7 -9
- package/build/module/routers/alpha-router/entities/route-with-valid-quote.js +8 -8
- package/build/module/routers/alpha-router/functions/best-swap-route.d.ts +2 -1
- package/build/module/routers/alpha-router/functions/best-swap-route.js +1 -1
- package/build/module/routers/alpha-router/functions/compute-all-routes.d.ts +3 -4
- package/build/module/routers/alpha-router/functions/compute-all-routes.js +6 -6
- package/build/module/routers/alpha-router/functions/get-candidate-pools.d.ts +5 -7
- package/build/module/routers/alpha-router/functions/get-candidate-pools.js +19 -21
- package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +2 -1
- package/build/module/routers/alpha-router/gas-models/gas-model.js +3 -3
- package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js +4 -4
- package/build/module/routers/alpha-router/gas-models/v2/v2-heuristic-gas-model.js +13 -14
- package/build/module/routers/alpha-router/gas-models/v3/gas-costs.d.ts +1 -1
- package/build/module/routers/alpha-router/gas-models/v3/gas-costs.js +8 -8
- package/build/module/routers/alpha-router/gas-models/v3/v3-heuristic-gas-model.js +6 -5
- package/build/module/routers/alpha-router/quoters/base-quoter.d.ts +3 -5
- package/build/module/routers/alpha-router/quoters/base-quoter.js +2 -3
- package/build/module/routers/alpha-router/quoters/mixed-quoter.d.ts +3 -4
- package/build/module/routers/alpha-router/quoters/mixed-quoter.js +15 -81
- package/build/module/routers/alpha-router/quoters/v2-quoter.d.ts +3 -4
- package/build/module/routers/alpha-router/quoters/v2-quoter.js +4 -9
- package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +4 -5
- package/build/module/routers/alpha-router/quoters/v3-quoter.js +10 -9
- package/build/module/routers/legacy-router/bases.d.ts +2 -1
- package/build/module/routers/legacy-router/bases.js +7 -8
- package/build/module/routers/legacy-router/legacy-router.d.ts +2 -1
- package/build/module/routers/legacy-router/legacy-router.js +6 -6
- package/build/module/routers/router.d.ts +4 -7
- package/build/module/routers/router.js +8 -8
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/build/module/util/addresses.d.ts +21 -0
- package/build/module/util/addresses.js +66 -3
- package/build/module/util/chains.d.ts +11 -2
- package/build/module/util/chains.js +32 -13
- package/build/module/util/gas-factory-helpers.d.ts +3 -2
- package/build/module/util/gas-factory-helpers.js +8 -12
- package/build/module/util/methodParameters.d.ts +2 -2
- package/build/module/util/methodParameters.js +7 -7
- package/build/module/util/protocols.d.ts +0 -2
- package/build/module/util/protocols.js +1 -11
- package/build/module/util/routes.js +11 -20
- package/package.json +1 -1
- package/build/main/providers/v2-fathom/constants.d.ts +0 -2
- package/build/main/providers/v2-fathom/constants.js +0 -6
- package/build/main/providers/v2-fathom/static-subgraph-provider.d.ts +0 -22
- package/build/main/providers/v2-fathom/static-subgraph-provider.js +0 -169
- package/build/main/providers/v2-fathom/subgraph-provider.d.ts +0 -34
- package/build/main/providers/v2-fathom/subgraph-provider.js +0 -130
- package/build/main/providers/v2-fathom/utils.d.ts +0 -2
- package/build/main/providers/v2-fathom/utils.js +0 -14
- package/build/main/providers/v3/static-subgraph-provider-v3-uni.d.ts +0 -29
- package/build/main/providers/v3/static-subgraph-provider-v3-uni.js +0 -209
- package/build/module/providers/v2-fathom/constants.d.ts +0 -2
- package/build/module/providers/v2-fathom/constants.js +0 -3
- package/build/module/providers/v2-fathom/static-subgraph-provider.d.ts +0 -22
- package/build/module/providers/v2-fathom/static-subgraph-provider.js +0 -162
- package/build/module/providers/v2-fathom/subgraph-provider.d.ts +0 -34
- package/build/module/providers/v2-fathom/subgraph-provider.js +0 -131
- package/build/module/providers/v2-fathom/utils.d.ts +0 -2
- package/build/module/providers/v2-fathom/utils.js +0 -10
- package/build/module/providers/v3/static-subgraph-provider-v3-uni.d.ts +0 -29
- package/build/module/providers/v3/static-subgraph-provider-v3-uni.js +0 -202
|
@@ -7,6 +7,7 @@ exports.V3HeuristicGasModelFactory = void 0;
|
|
|
7
7
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
8
8
|
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
9
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const __1 = require("../../../..");
|
|
10
11
|
const amounts_1 = require("../../../../util/amounts");
|
|
11
12
|
const gas_factory_helpers_1 = require("../../../../util/gas-factory-helpers");
|
|
12
13
|
const log_1 = require("../../../../util/log");
|
|
@@ -40,7 +41,7 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
40
41
|
let l1Used = bignumber_1.BigNumber.from(0);
|
|
41
42
|
let l1FeeInWei = bignumber_1.BigNumber.from(0);
|
|
42
43
|
// wrap fee to native currency
|
|
43
|
-
const nativeCurrency =
|
|
44
|
+
const nativeCurrency = __1.WRAPPED_NATIVE_CURRENCY[chainId];
|
|
44
45
|
const costNativeCurrency = amounts_1.CurrencyAmount.fromRawAmount(nativeCurrency, l1FeeInWei.toString());
|
|
45
46
|
// convert fee into usd
|
|
46
47
|
const nativeTokenPrice = usdPool.token0.address == nativeCurrency.address
|
|
@@ -73,7 +74,7 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
73
74
|
// If our quote token is WETH, we don't need to convert our gas use to be in terms
|
|
74
75
|
// of the quote token in order to produce a gas adjusted amount.
|
|
75
76
|
// We do return a gas use in USD however, so we still convert to usd.
|
|
76
|
-
const nativeCurrency =
|
|
77
|
+
const nativeCurrency = __1.WRAPPED_NATIVE_CURRENCY[chainId];
|
|
77
78
|
if (quoteToken.equals(nativeCurrency)) {
|
|
78
79
|
const estimateGasCost = (routeWithValidQuote) => {
|
|
79
80
|
const { totalGasCostNativeCurrency, baseGasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -209,7 +210,7 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
209
210
|
.add(tickGasUse)
|
|
210
211
|
.add(uninitializedTickGasUse);
|
|
211
212
|
const baseGasCostWei = gasPriceWei.mul(baseGasUse);
|
|
212
|
-
const wrappedCurrency =
|
|
213
|
+
const wrappedCurrency = __1.WRAPPED_NATIVE_CURRENCY[chainId];
|
|
213
214
|
const totalGasCostNativeCurrency = amounts_1.CurrencyAmount.fromRawAmount(wrappedCurrency, baseGasCostWei.toString());
|
|
214
215
|
return {
|
|
215
216
|
totalGasCostNativeCurrency,
|
|
@@ -219,4 +220,4 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
exports.V3HeuristicGasModelFactory = V3HeuristicGasModelFactory;
|
|
222
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjMtaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL3YzL3YzLWhldXJpc3RpYy1nYXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFrRDtBQUVsRCxvREFBdUI7QUFFdkIsbUNBQXNEO0FBRXRELHNEQUEwRDtBQUMxRCw4RUFHOEM7QUFDOUMsOENBQTJDO0FBRTNDLDRDQUlzQjtBQUV0QiwyQ0FLcUI7QUFFckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxtQ0FBdUI7SUFDckU7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQ3pCLE9BQU8sRUFDUCxXQUFXLEVBQ1gsY0FBYyxFQUFFLFlBQVksRUFDNUIsV0FBVyxFQUNYLFVBQVUsR0FFbUI7UUFDN0IsTUFBTSxPQUFPLEdBQVMsTUFBTSxJQUFBLGtEQUE0QixFQUN0RCxPQUFPLEVBQ1AsWUFBWSxDQUNiLENBQUM7UUFFRixNQUFNLGtCQUFrQixHQUFHLEtBQUssSUFJN0IsRUFBRTtZQUNILElBQUksTUFBTSxHQUFHLHFCQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksVUFBVSxHQUFHLHFCQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5DLDhCQUE4QjtZQUM5QixNQUFNLGNBQWMsR0FBRywyQkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RCxNQUFNLGtCQUFrQixHQUFHLHdCQUFjLENBQUMsYUFBYSxDQUNyRCxjQUFjLEVBQ2QsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUN0QixDQUFDO1lBRUYsdUJBQXVCO1lBQ3ZCLE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8s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
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import {
|
|
3
|
-
import { ChainId, Currency, Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
2
|
+
import { Currency, Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
4
3
|
import { Pair } from '@x-swap-protocol/v2-sdk';
|
|
5
4
|
import { Pool } from '@x-swap-protocol/v3-sdk';
|
|
6
5
|
import { ITokenListProvider, ITokenProvider, ITokenValidatorProvider, TokenValidationResult } from '../../../providers';
|
|
7
|
-
import { CurrencyAmount } from '../../../util';
|
|
6
|
+
import { ChainId, CurrencyAmount } from '../../../util';
|
|
8
7
|
import { MixedRoute, V2Route, V3Route } from '../../router';
|
|
9
8
|
import { AlphaRouterConfig } from '../alpha-router';
|
|
10
9
|
import { RouteWithValidQuote } from '../entities/route-with-valid-quote';
|
|
@@ -23,8 +22,7 @@ export declare abstract class BaseQuoter<Route extends V2Route | V3Route | Mixed
|
|
|
23
22
|
protected chainId: ChainId;
|
|
24
23
|
protected blockedTokenListProvider?: ITokenListProvider;
|
|
25
24
|
protected tokenValidatorProvider?: ITokenValidatorProvider;
|
|
26
|
-
|
|
27
|
-
constructor(tokenProvider: ITokenProvider, chainId: ChainId, protocol: Protocol, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
25
|
+
constructor(tokenProvider: ITokenProvider, chainId: ChainId, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
28
26
|
/**
|
|
29
27
|
* Protected method in charge of fetching the routes for the tokenIn/tokenOut pair.
|
|
30
28
|
*
|
|
@@ -14,10 +14,9 @@ const util_1 = require("../../../util");
|
|
|
14
14
|
* @template Route
|
|
15
15
|
*/
|
|
16
16
|
class BaseQuoter {
|
|
17
|
-
constructor(tokenProvider, chainId,
|
|
17
|
+
constructor(tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
18
18
|
this.tokenProvider = tokenProvider;
|
|
19
19
|
this.chainId = chainId;
|
|
20
|
-
this.protocol = protocol;
|
|
21
20
|
this.blockedTokenListProvider = blockedTokenListProvider;
|
|
22
21
|
this.tokenValidatorProvider = tokenValidatorProvider;
|
|
23
22
|
}
|
|
@@ -60,4 +59,4 @@ class BaseQuoter {
|
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
61
|
exports.BaseQuoter = BaseQuoter;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdW90ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcm91dGVycy9hbHBoYS1yb3V0ZXIvcXVvdGVycy9iYXNlLXF1b3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFJQSxvREFBdUI7QUFRdkIsd0NBQTJFO0FBUzNFOzs7Ozs7R0FNRztBQUNILE1BQXNCLFVBQVU7SUFNOUIsWUFDRSxhQUE2QixFQUM3QixPQUFnQixFQUNoQix3QkFBNkMsRUFDN0Msc0JBQWdEO1FBRWhELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFDdkQsQ0FBQztJQThDRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxtQkFBbUIsQ0FDeEIsT0FBYyxFQUNkLFFBQWUsRUFDZixPQUF5QixFQUN6QixRQUFrQixFQUNsQixVQUFpQixFQUNqQixTQUFvQixFQUNwQixhQUFnQyxFQUNoQyxRQUF5QyxFQUN6QyxXQUF1QjtRQUV2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUNyRSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUNuQixZQUFZLENBQUMsTUFBTSxFQUNuQixPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsYUFBYSxFQUNiLFlBQVksQ0FBQyxjQUFjLEVBQzNCLFFBQVEsRUFDUixXQUFXLENBQ1osQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLEtBQUssQ0FBQywwQkFBMEIsQ0FDeEMsS0FBVSxFQUNWLFdBR1k7UUFFWixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxVQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQztRQUU3RCxNQUFNLE1BQU0sR0FBRyxnQkFBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV0RSxNQUFNLHNCQUFzQixHQUMxQixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxhQUFhLEdBQUcsZ0JBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDbEUsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDbEUsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBRUYsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNqRSxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWpFLElBQUksYUFBYSxJQUFJLGFBQWEsRUFBRTtnQkFDbEMsVUFBRyxDQUFDLElBQUksQ0FDTixpQkFBaUIsSUFBQSxtQkFBWSxFQUFDLElBQUksQ0FBQyw4QkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUNkLEtBQUssZ0JBQWdCLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLEVBQUUsQ0FDcEUsQ0FBQzthQUNIO1lBRUQsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQWpKRCxnQ0FpSkMifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
2
2
|
import { IOnChainQuoteProvider, ITokenListProvider, ITokenProvider, ITokenValidatorProvider, IV2PoolProvider, IV2SubgraphProvider, IV3PoolProvider, IV3SubgraphProvider } from '../../../providers';
|
|
3
|
-
import { CurrencyAmount } from '../../../util';
|
|
3
|
+
import { ChainId, CurrencyAmount } from '../../../util';
|
|
4
4
|
import { MixedRoute } from '../../router';
|
|
5
5
|
import { AlphaRouterConfig } from '../alpha-router';
|
|
6
6
|
import { MixedRouteWithValidQuote } from '../entities';
|
|
@@ -11,11 +11,10 @@ import { GetQuotesResult, GetRoutesResult } from './model';
|
|
|
11
11
|
export declare class MixedQuoter extends BaseQuoter<MixedRoute> {
|
|
12
12
|
protected v3SubgraphProvider: IV3SubgraphProvider;
|
|
13
13
|
protected v3PoolProvider: IV3PoolProvider;
|
|
14
|
-
protected v3UniPoolProvider: IV3PoolProvider;
|
|
15
14
|
protected v2SubgraphProvider: IV2SubgraphProvider;
|
|
16
15
|
protected v2PoolProvider: IV2PoolProvider;
|
|
17
16
|
protected onChainQuoteProvider: IOnChainQuoteProvider;
|
|
18
|
-
constructor(v3SubgraphProvider: IV3SubgraphProvider, v3PoolProvider: IV3PoolProvider,
|
|
17
|
+
constructor(v3SubgraphProvider: IV3SubgraphProvider, v3PoolProvider: IV3PoolProvider, v2SubgraphProvider: IV2SubgraphProvider, v2PoolProvider: IV2PoolProvider, onChainQuoteProvider: IOnChainQuoteProvider, tokenProvider: ITokenProvider, chainId: ChainId, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
19
18
|
protected getRoutes(tokenIn: Token, tokenOut: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig): Promise<GetRoutesResult<MixedRoute>>;
|
|
20
19
|
getQuotes(routes: MixedRoute[], amounts: CurrencyAmount[], percents: number[], quoteToken: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig, candidatePools?: CandidatePoolsBySelectionCriteria, gasModel?: IGasModel<MixedRouteWithValidQuote>): Promise<GetQuotesResult>;
|
|
21
20
|
}
|
|
@@ -4,18 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MixedQuoter = void 0;
|
|
7
|
-
const router_sdk_1 = require("@x-swap-protocol/router-sdk");
|
|
8
7
|
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
9
8
|
const v3_sdk_1 = require("@x-swap-protocol/v3-sdk");
|
|
10
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
11
10
|
const providers_1 = require("../../../providers");
|
|
12
|
-
const static_subgraph_provider_1 = require("../../../providers/v2-fathom/static-subgraph-provider");
|
|
13
|
-
const static_subgraph_provider_v3_uni_1 = require("../../../providers/v3/static-subgraph-provider-v3-uni");
|
|
14
11
|
const util_1 = require("../../../util");
|
|
15
12
|
const entities_1 = require("../entities");
|
|
16
13
|
const compute_all_routes_1 = require("../functions/compute-all-routes");
|
|
17
14
|
const base_quoter_1 = require("./base-quoter");
|
|
18
|
-
const hasUniV3Pool = (route) => route.pools.some((pool) => pool instanceof v3_sdk_1.Pool && pool.factory);
|
|
19
15
|
let paths = [];
|
|
20
16
|
const recFinder = (path, used, lastToken, dest, hops) => {
|
|
21
17
|
const hop = path.length;
|
|
@@ -24,37 +20,11 @@ const recFinder = (path, used, lastToken, dest, hops) => {
|
|
|
24
20
|
return;
|
|
25
21
|
}
|
|
26
22
|
const additionalV3 = providers_1.V3_XDC_ADDITIONAL_BASES[lastToken.address];
|
|
27
|
-
const additionalV3Uni = static_subgraph_provider_v3_uni_1.Uni_V3_XDC_ADDITIONAL_BASES[lastToken.address];
|
|
28
23
|
const additionalV2 = providers_1.V2_XDC_ADDITIONAL_BASES[lastToken.address];
|
|
29
|
-
const additionalV2Fathom = static_subgraph_provider_1.FATHOM_V2_XDC_ADDITIONAL_BASES[lastToken.address];
|
|
30
24
|
if (additionalV3) {
|
|
31
25
|
for (const ad of additionalV3) {
|
|
32
26
|
const adToken = ad;
|
|
33
|
-
const newPair = [
|
|
34
|
-
lastToken,
|
|
35
|
-
...adToken,
|
|
36
|
-
router_sdk_1.Protocol.V3,
|
|
37
|
-
];
|
|
38
|
-
const newPath = [...path, newPair];
|
|
39
|
-
if (adToken[0].address === dest.address) {
|
|
40
|
-
paths.push(newPath);
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
// const id = `${adToken[0].address}-${dest.address}-${adToken[1]}`
|
|
44
|
-
const id = adToken[0].address;
|
|
45
|
-
if (!used[id]) {
|
|
46
|
-
recFinder(newPath, Object.assign(Object.assign({}, used), { [id]: true }), adToken[0], dest, hops);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (additionalV3Uni) {
|
|
51
|
-
for (const ad of additionalV3Uni) {
|
|
52
|
-
const adToken = ad;
|
|
53
|
-
const newPair = [
|
|
54
|
-
lastToken,
|
|
55
|
-
...adToken,
|
|
56
|
-
router_sdk_1.Protocol.UNI_V3,
|
|
57
|
-
];
|
|
27
|
+
const newPair = [lastToken, ...adToken];
|
|
58
28
|
const newPath = [...path, newPair];
|
|
59
29
|
if (adToken[0].address === dest.address) {
|
|
60
30
|
paths.push(newPath);
|
|
@@ -83,30 +53,13 @@ const recFinder = (path, used, lastToken, dest, hops) => {
|
|
|
83
53
|
}
|
|
84
54
|
}
|
|
85
55
|
}
|
|
86
|
-
if (additionalV2Fathom) {
|
|
87
|
-
for (const ad of additionalV2Fathom) {
|
|
88
|
-
const adToken = ad;
|
|
89
|
-
const newPair = [lastToken, adToken];
|
|
90
|
-
const newPath = [...path, newPair];
|
|
91
|
-
if (adToken.address === dest.address) {
|
|
92
|
-
paths.push(newPath);
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
// const id = `${adToken.address}-${dest.address}`
|
|
96
|
-
const id = adToken.address;
|
|
97
|
-
if (!used[id]) {
|
|
98
|
-
recFinder(newPath, Object.assign(Object.assign({}, used), { [id]: true }), adToken, dest, hops);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
56
|
}
|
|
103
57
|
};
|
|
104
58
|
class MixedQuoter extends base_quoter_1.BaseQuoter {
|
|
105
|
-
constructor(v3SubgraphProvider, v3PoolProvider,
|
|
106
|
-
super(tokenProvider, chainId,
|
|
59
|
+
constructor(v3SubgraphProvider, v3PoolProvider, v2SubgraphProvider, v2PoolProvider, onChainQuoteProvider, tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
60
|
+
super(tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider);
|
|
107
61
|
this.v3SubgraphProvider = v3SubgraphProvider;
|
|
108
62
|
this.v3PoolProvider = v3PoolProvider;
|
|
109
|
-
this.v3UniPoolProvider = v3UniPoolProvider;
|
|
110
63
|
this.v2SubgraphProvider = v2SubgraphProvider;
|
|
111
64
|
this.v2PoolProvider = v2PoolProvider;
|
|
112
65
|
this.onChainQuoteProvider = onChainQuoteProvider;
|
|
@@ -184,8 +137,7 @@ class MixedQuoter extends base_quoter_1.BaseQuoter {
|
|
|
184
137
|
paths.forEach((path) => {
|
|
185
138
|
path.forEach((pool) => {
|
|
186
139
|
if (pool[2]) {
|
|
187
|
-
const
|
|
188
|
-
const id = `${protocol}-${pool[0].address}-${pool[1].address}-${pool[2]}`;
|
|
140
|
+
const id = `${pool[0].address}-${pool[1].address}-${pool[2]}`;
|
|
189
141
|
uniquePools[id] = pool;
|
|
190
142
|
}
|
|
191
143
|
else {
|
|
@@ -196,34 +148,20 @@ class MixedQuoter extends base_quoter_1.BaseQuoter {
|
|
|
196
148
|
});
|
|
197
149
|
const directV3 = tokenIn && tokenOut
|
|
198
150
|
? [
|
|
199
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.LOWEST
|
|
200
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.LOW
|
|
201
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.MEDIUM
|
|
202
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.HIGH
|
|
203
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.LOWEST, router_sdk_1.Protocol.UNI_V3],
|
|
204
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.LOW, router_sdk_1.Protocol.UNI_V3],
|
|
205
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.MEDIUM, router_sdk_1.Protocol.UNI_V3],
|
|
206
|
-
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.HIGH, router_sdk_1.Protocol.UNI_V3],
|
|
151
|
+
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.LOWEST],
|
|
152
|
+
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.LOW],
|
|
153
|
+
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.MEDIUM],
|
|
154
|
+
[tokenIn, tokenOut, v3_sdk_1.FeeAmount.HIGH],
|
|
207
155
|
]
|
|
208
156
|
: [];
|
|
209
157
|
const poolsPaths = [...Object.values(uniquePools), ...directV3];
|
|
210
|
-
const xswapV3PoolsPaths = poolsPaths
|
|
211
|
-
.filter((pool) => pool[3] === router_sdk_1.Protocol.V3)
|
|
212
|
-
.map((pool) => [pool[0], pool[1], pool[2]]);
|
|
213
|
-
const uniV3PoolsPaths = poolsPaths
|
|
214
|
-
.filter((pool) => pool[3] === router_sdk_1.Protocol.UNI_V3)
|
|
215
|
-
.map((pool) => [pool[0], pool[1], pool[2]]);
|
|
216
158
|
const directV2 = tokenIn && tokenOut ? [[tokenIn, tokenOut]] : [];
|
|
217
159
|
const pairsPaths = [...Object.values(uniquePairs), ...directV2];
|
|
218
|
-
const [
|
|
219
|
-
this.v3PoolProvider.getPools(
|
|
220
|
-
this.v3UniPoolProvider.getPools(uniV3PoolsPaths),
|
|
160
|
+
const [poolAccessor, pairAccessor] = await Promise.all([
|
|
161
|
+
this.v3PoolProvider.getPools(poolsPaths),
|
|
221
162
|
this.v2PoolProvider.getPools(pairsPaths),
|
|
222
163
|
]);
|
|
223
|
-
const pools =
|
|
224
|
-
...xswapPoolAccessor.getAllPools(),
|
|
225
|
-
...uniPoolAccessor.getAllPools(),
|
|
226
|
-
];
|
|
164
|
+
const pools = poolAccessor.getAllPools();
|
|
227
165
|
const pairs = pairAccessor.getAllPools();
|
|
228
166
|
const poolsAndPairs = [...pairs, ...pools];
|
|
229
167
|
const { maxSwapsPerPath } = routingConfig;
|
|
@@ -244,13 +182,9 @@ class MixedQuoter extends base_quoter_1.BaseQuoter {
|
|
|
244
182
|
const quoteFn = this.onChainQuoteProvider.getQuotesManyExactIn.bind(this.onChainQuoteProvider);
|
|
245
183
|
const beforeQuotes = Date.now();
|
|
246
184
|
util_1.log.info(`Getting quotes for mixed for ${routes.length} routes with ${amounts.length} amounts per route.`);
|
|
247
|
-
const
|
|
248
|
-
const quoteResults = await Promise.all(routeGroups
|
|
249
|
-
.filter((routeGroup) => routeGroup.length > 0)
|
|
250
|
-
.map((routeGroup) => quoteFn(amounts, routeGroup, {
|
|
185
|
+
const { routesWithQuotes } = await quoteFn(amounts, routes, {
|
|
251
186
|
blockNumber: routingConfig.blockNumber,
|
|
252
|
-
})
|
|
253
|
-
const routesWithQuotes = lodash_1.default.flatMap(quoteResults, (quoteResult) => quoteResult.routesWithQuotes);
|
|
187
|
+
});
|
|
254
188
|
util_1.metric.putMetric('MixedQuotesLoad', Date.now() - beforeQuotes, util_1.MetricLoggerUnit.Milliseconds);
|
|
255
189
|
util_1.metric.putMetric('MixedQuotesFetched', (0, lodash_1.default)(routesWithQuotes)
|
|
256
190
|
.map(([, quotes]) => quotes.length)
|
|
@@ -296,4 +230,4 @@ class MixedQuoter extends base_quoter_1.BaseQuoter {
|
|
|
296
230
|
}
|
|
297
231
|
}
|
|
298
232
|
exports.MixedQuoter = MixedQuoter;
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4ZWQtcXVvdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL3F1b3RlcnMvbWl4ZWQtcXVvdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDREQUF1RDtBQUN2RCx3REFBc0U7QUFFdEUsb0RBQTBEO0FBQzFELG9EQUF1QjtBQUV2QixrREFXNEI7QUFDNUIsb0dBQXVHO0FBQ3ZHLDJHQUFvRztBQUNwRyx3Q0FNdUI7QUFHdkIsMENBQXVEO0FBQ3ZELHdFQUF3RTtBQUl4RSwrQ0FBMkM7QUFLM0MsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFpQixFQUFXLEVBQUUsQ0FDbEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksWUFBWSxhQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBRW5FLElBQUksS0FBSyxHQUFzQixFQUFFLENBQUM7QUFFbEMsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsSUFBcUIsRUFDckIsSUFBb0MsRUFDcEMsU0FBZ0IsRUFDaEIsSUFBVyxFQUNYLElBQVksRUFDWixFQUFFO0lBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUV4QixJQUFJLEdBQUcsR0FBRyxJQUFJLEVBQUU7UUFDZCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTztTQUNSO1FBQ0QsTUFBTSxZQUFZLEdBQUcsbUNBQXVCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLDZEQUEyQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RSxNQUFNLFlBQVksR0FBRyxtQ0FBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBa0IsR0FDdEIseURBQThCLENBQUMsU0FBUyxDQUFD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
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4ZWQtcXVvdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL3F1b3RlcnMvbWl4ZWQtcXVvdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdEQUE2RDtBQUM3RCxvREFBMEQ7QUFFMUQsb0RBQXVCO0FBRXZCLGtEQVc0QjtBQUM1Qix3Q0FPdUI7QUFHdkIsMENBQXVEO0FBQ3ZELHdFQUF3RTtBQUl4RSwrQ0FBMkM7QUFHM0MsSUFBSSxLQUFLLEdBQXFELEVBQUUsQ0FBQztBQUVqRSxNQUFNLFNBQVMsR0FBRyxDQUNoQixJQUFvRCxFQUNwRCxJQUFvQyxFQUNwQyxTQUFnQixFQUNoQixJQUFXLEVBQ1gsSUFBWSxFQUNaLEVBQUU7SUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRXhCLElBQUksR0FBRyxHQUFHLElBQUksRUFBRTtRQUNkLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFDRCxNQUFNLFlBQVksR0FBRyxtQ0FBdUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxZQUFZLEdBQUcsbUNBQXVCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLElBQUksWUFBWSxFQUFFO1lBQ2hCLEtBQUssTUFBTSxFQUFFLElBQUksWUFBWSxFQUFFO2dCQUM3QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sT0FBTyxHQUE4QixDQUFDLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO2dCQUNuRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDdkMsS0FBSyxDQUFDLElB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
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import {
|
|
3
|
-
import { ChainId, Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
2
|
+
import { Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
4
3
|
import { ITokenListProvider, ITokenProvider, ITokenValidatorProvider, IV2PoolProvider, IV2QuoteProvider, IV2SubgraphProvider } from '../../../providers';
|
|
5
|
-
import { CurrencyAmount } from '../../../util';
|
|
4
|
+
import { ChainId, CurrencyAmount } from '../../../util';
|
|
6
5
|
import { V2Route } from '../../router';
|
|
7
6
|
import { AlphaRouterConfig } from '../alpha-router';
|
|
8
7
|
import { V2RouteWithValidQuote } from '../entities';
|
|
@@ -16,7 +15,7 @@ export declare class V2Quoter extends BaseQuoter<V2Route> {
|
|
|
16
15
|
protected v2PoolProvider: IV2PoolProvider;
|
|
17
16
|
protected v2QuoteProvider: IV2QuoteProvider;
|
|
18
17
|
protected v2GasModelFactory: IV2GasModelFactory;
|
|
19
|
-
constructor(v2SubgraphProvider: IV2SubgraphProvider, v2PoolProvider: IV2PoolProvider, v2QuoteProvider: IV2QuoteProvider, v2GasModelFactory: IV2GasModelFactory, tokenProvider: ITokenProvider, chainId: ChainId,
|
|
18
|
+
constructor(v2SubgraphProvider: IV2SubgraphProvider, v2PoolProvider: IV2PoolProvider, v2QuoteProvider: IV2QuoteProvider, v2GasModelFactory: IV2GasModelFactory, tokenProvider: ITokenProvider, chainId: ChainId, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
20
19
|
protected getRoutes(tokenIn: Token, tokenOut: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig): Promise<GetRoutesResult<V2Route>>;
|
|
21
20
|
getQuotes(routes: V2Route[], amounts: CurrencyAmount[], percents: number[], quoteToken: Token, tradeType: TradeType, _routingConfig: AlphaRouterConfig, candidatePools?: CandidatePoolsBySelectionCriteria, _gasModel?: IGasModel<V2RouteWithValidQuote>, gasPriceWei?: BigNumber): Promise<GetQuotesResult>;
|
|
22
21
|
}
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.V2Quoter = void 0;
|
|
7
|
-
const router_sdk_1 = require("@x-swap-protocol/router-sdk");
|
|
8
7
|
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
9
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
9
|
const providers_1 = require("../../../providers");
|
|
@@ -14,13 +13,12 @@ const compute_all_routes_1 = require("../functions/compute-all-routes");
|
|
|
14
13
|
const get_candidate_pools_1 = require("../functions/get-candidate-pools");
|
|
15
14
|
const base_quoter_1 = require("./base-quoter");
|
|
16
15
|
class V2Quoter extends base_quoter_1.BaseQuoter {
|
|
17
|
-
constructor(v2SubgraphProvider, v2PoolProvider, v2QuoteProvider, v2GasModelFactory, tokenProvider, chainId,
|
|
18
|
-
super(tokenProvider, chainId,
|
|
16
|
+
constructor(v2SubgraphProvider, v2PoolProvider, v2QuoteProvider, v2GasModelFactory, tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
17
|
+
super(tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider);
|
|
19
18
|
this.v2SubgraphProvider = v2SubgraphProvider;
|
|
20
19
|
this.v2PoolProvider = v2PoolProvider;
|
|
21
20
|
this.v2QuoteProvider = v2QuoteProvider;
|
|
22
21
|
this.v2GasModelFactory = v2GasModelFactory;
|
|
23
|
-
this.protocol = protocol;
|
|
24
22
|
}
|
|
25
23
|
async getRoutes(tokenIn, tokenOut, tradeType, routingConfig) {
|
|
26
24
|
// Fetch all the pools that we will consider routing via. There are thousands
|
|
@@ -36,9 +34,7 @@ class V2Quoter extends base_quoter_1.BaseQuoter {
|
|
|
36
34
|
subgraphProvider: this.v2SubgraphProvider,
|
|
37
35
|
routingConfig,
|
|
38
36
|
chainId: this.chainId,
|
|
39
|
-
protocol: this.protocol,
|
|
40
37
|
});
|
|
41
|
-
// Returns xswap or fathom
|
|
42
38
|
const poolsRaw = poolAccessor.getAllPools();
|
|
43
39
|
// Drop any pools that contain tokens that can not be transferred according to the token validator.
|
|
44
40
|
const pools = await this.applyTokenValidatorToPools(poolsRaw, (token, tokenValidation) => {
|
|
@@ -58,7 +54,7 @@ class V2Quoter extends base_quoter_1.BaseQuoter {
|
|
|
58
54
|
});
|
|
59
55
|
// Given all our candidate pools, compute all the possible ways to route from tokenIn to tokenOut.
|
|
60
56
|
const { maxSwapsPerPath } = routingConfig;
|
|
61
|
-
const routes = (0, compute_all_routes_1.computeAllV2Routes)(tokenIn, tokenOut, pools, maxSwapsPerPath
|
|
57
|
+
const routes = (0, compute_all_routes_1.computeAllV2Routes)(tokenIn, tokenOut, pools, maxSwapsPerPath);
|
|
62
58
|
return {
|
|
63
59
|
routes,
|
|
64
60
|
candidatePools,
|
|
@@ -112,7 +108,6 @@ class V2Quoter extends base_quoter_1.BaseQuoter {
|
|
|
112
108
|
quoteToken,
|
|
113
109
|
tradeType,
|
|
114
110
|
v2PoolProvider: this.v2PoolProvider,
|
|
115
|
-
protocol: this.protocol === router_sdk_1.Protocol.V2 ? router_sdk_1.Protocol.V2 : router_sdk_1.Protocol.FATHOM,
|
|
116
111
|
});
|
|
117
112
|
routesWithValidQuotes.push(routeWithValidQuote);
|
|
118
113
|
}
|
|
@@ -124,4 +119,4 @@ class V2Quoter extends base_quoter_1.BaseQuoter {
|
|
|
124
119
|
}
|
|
125
120
|
}
|
|
126
121
|
exports.V2Quoter = V2Quoter;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjItcXVvdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL3F1b3RlcnMvdjItcXVvdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHdEQUF1RTtBQUN2RSxvREFBdUI7QUFFdkIsa0RBUTRCO0FBQzVCLHdDQU91QjtBQUd2QiwwQ0FBb0Q7QUFDcEQsd0VBQXFFO0FBQ3JFLDBFQUcwQztBQUcxQywrQ0FBMkM7QUFJM0MsTUFBYSxRQUFTLFNBQVEsd0JBQW1CO0lBTS9DLFlBQ0Usa0JBQXVDLEVBQ3ZDLGNBQStCLEVBQy9CLGVBQWlDLEVBQ2pDLGlCQUFxQyxFQUNyQyxhQUE2QixFQUM3QixPQUFnQixFQUNoQix3QkFBNkMsRUFDN0Msc0JBQWdEO1FBRWhELEtBQUssQ0FDSCxhQUFhLEVBQ2IsT0FBTyxFQUNQLHdCQUF3QixFQUN4QixzQkFBc0IsQ0FDdkIsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDN0MsQ0FBQztJQUVTLEtBQUssQ0FBQyxTQUFTLENBQ3ZCLE9BQWMsRUFDZCxRQUFlLEVBQ2YsU0FBb0IsRUFDcEIsYUFBZ0M7UUFFaEMsNkVBQTZFO1FBQzdFLDhFQUE4RTtRQUM5RSx5QkFBeUI7UUFDekIsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQW1CLEVBQUM7WUFDakUsT0FBTztZQUNQLFFBQVE7WUFDUixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUN2RCxZQUFZLEVBQUUsSUFBSSxDQUFDLGNB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
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChainId, Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
1
|
+
import { Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
3
2
|
import { IOnChainQuoteProvider, ITokenListProvider, ITokenProvider, ITokenValidatorProvider, IV3PoolProvider, IV3SubgraphProvider } from '../../../providers';
|
|
4
|
-
import { CurrencyAmount } from '../../../util';
|
|
3
|
+
import { ChainId, CurrencyAmount } from '../../../util';
|
|
5
4
|
import { V3Route } from '../../router';
|
|
6
5
|
import { AlphaRouterConfig } from '../alpha-router';
|
|
7
6
|
import { V3RouteWithValidQuote } from '../entities';
|
|
@@ -14,7 +13,7 @@ export declare class V3Quoter extends BaseQuoter<V3Route> {
|
|
|
14
13
|
protected v3SubgraphProvider: IV3SubgraphProvider;
|
|
15
14
|
protected v3PoolProvider: IV3PoolProvider;
|
|
16
15
|
protected onChainQuoteProvider: IOnChainQuoteProvider;
|
|
17
|
-
constructor(v3SubgraphProvider: IV3SubgraphProvider, v3PoolProvider: IV3PoolProvider, onChainQuoteProvider: IOnChainQuoteProvider, tokenProvider: ITokenProvider, chainId: ChainId,
|
|
16
|
+
constructor(v3SubgraphProvider: IV3SubgraphProvider, v3PoolProvider: IV3PoolProvider, onChainQuoteProvider: IOnChainQuoteProvider, tokenProvider: ITokenProvider, chainId: ChainId, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
18
17
|
protected getRoutes(tokenIn: Token, tokenOut: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig): Promise<GetRoutesResult<V3Route>>;
|
|
19
|
-
getQuotes(
|
|
18
|
+
getQuotes(routes: V3Route[], amounts: CurrencyAmount[], percents: number[], quoteToken: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig, candidatePools?: CandidatePoolsBySelectionCriteria, gasModel?: IGasModel<V3RouteWithValidQuote>): Promise<GetQuotesResult>;
|
|
20
19
|
}
|
|
@@ -4,7 +4,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.V3Quoter = void 0;
|
|
7
|
-
const router_sdk_1 = require("@x-swap-protocol/router-sdk");
|
|
8
7
|
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
9
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
9
|
const providers_1 = require("../../../providers");
|
|
@@ -14,8 +13,8 @@ const compute_all_routes_1 = require("../functions/compute-all-routes");
|
|
|
14
13
|
const get_candidate_pools_1 = require("../functions/get-candidate-pools");
|
|
15
14
|
const base_quoter_1 = require("./base-quoter");
|
|
16
15
|
class V3Quoter extends base_quoter_1.BaseQuoter {
|
|
17
|
-
constructor(v3SubgraphProvider, v3PoolProvider, onChainQuoteProvider, tokenProvider, chainId,
|
|
18
|
-
super(tokenProvider, chainId,
|
|
16
|
+
constructor(v3SubgraphProvider, v3PoolProvider, onChainQuoteProvider, tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
17
|
+
super(tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider);
|
|
19
18
|
this.v3SubgraphProvider = v3SubgraphProvider;
|
|
20
19
|
this.v3PoolProvider = v3PoolProvider;
|
|
21
20
|
this.onChainQuoteProvider = onChainQuoteProvider;
|
|
@@ -34,8 +33,12 @@ class V3Quoter extends base_quoter_1.BaseQuoter {
|
|
|
34
33
|
subgraphProvider: this.v3SubgraphProvider,
|
|
35
34
|
routingConfig,
|
|
36
35
|
chainId: this.chainId,
|
|
37
|
-
protocol: this.protocol === router_sdk_1.Protocol.V3 ? router_sdk_1.Protocol.V3 : router_sdk_1.Protocol.UNI_V3,
|
|
38
36
|
});
|
|
37
|
+
// console.log(
|
|
38
|
+
// poolAccessor,
|
|
39
|
+
// '-------',
|
|
40
|
+
// JSON.stringify(candidatePools.selections, null, 2)
|
|
41
|
+
// );
|
|
39
42
|
const poolsRaw = poolAccessor.getAllPools();
|
|
40
43
|
// Drop any pools that contain fee on transfer tokens (not supported by v3) or have issues with being transferred.
|
|
41
44
|
const pools = await this.applyTokenValidatorToPools(poolsRaw, (token, tokenValidation) => {
|
|
@@ -57,14 +60,13 @@ class V3Quoter extends base_quoter_1.BaseQuoter {
|
|
|
57
60
|
});
|
|
58
61
|
// Given all our candidate pools, compute all the possible ways to route from tokenIn to tokenOut.
|
|
59
62
|
const { maxSwapsPerPath } = routingConfig;
|
|
60
|
-
const routes = (0, compute_all_routes_1.computeAllV3Routes)(tokenIn, tokenOut, pools, maxSwapsPerPath
|
|
63
|
+
const routes = (0, compute_all_routes_1.computeAllV3Routes)(tokenIn, tokenOut, pools, maxSwapsPerPath);
|
|
61
64
|
return {
|
|
62
65
|
routes,
|
|
63
66
|
candidatePools,
|
|
64
67
|
};
|
|
65
68
|
}
|
|
66
|
-
async getQuotes(
|
|
67
|
-
const routes = _routes.filter((route) => route.protocol === this.protocol);
|
|
69
|
+
async getQuotes(routes, amounts, percents, quoteToken, tradeType, routingConfig, candidatePools, gasModel) {
|
|
68
70
|
util_1.log.info('Starting to get V3 quotes');
|
|
69
71
|
if (gasModel === undefined) {
|
|
70
72
|
throw new Error('GasModel for V3RouteWithValidQuote is required to getQuotes');
|
|
@@ -114,7 +116,6 @@ class V3Quoter extends base_quoter_1.BaseQuoter {
|
|
|
114
116
|
quoteToken,
|
|
115
117
|
tradeType,
|
|
116
118
|
v3PoolProvider: this.v3PoolProvider,
|
|
117
|
-
protocol: this.protocol === router_sdk_1.Protocol.V3 ? router_sdk_1.Protocol.V3 : router_sdk_1.Protocol.UNI_V3,
|
|
118
119
|
});
|
|
119
120
|
routesWithValidQuotes.push(routeWithValidQuote);
|
|
120
121
|
}
|
|
@@ -126,4 +127,4 @@ class V3Quoter extends base_quoter_1.BaseQuoter {
|
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
exports.V3Quoter = V3Quoter;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjMtcXVvdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL3F1b3RlcnMvdjMtcXVvdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHdEQUF1RTtBQUN2RSxvREFBdUI7QUFFdkIsa0RBUTRCO0FBQzVCLHdDQU91QjtBQUd2QiwwQ0FBb0Q7QUFDcEQsd0VBQXFFO0FBQ3JFLDBFQUcwQztBQUcxQywrQ0FBMkM7QUFJM0MsTUFBYSxRQUFTLFNBQVEsd0JBQW1CO0lBSy9DLFlBQ0Usa0JBQXVDLEVBQ3ZDLGNBQStCLEVBQy9CLG9CQUEyQyxFQUMzQyxhQUE2QixFQUM3QixPQUFnQixFQUNoQix3QkFBNkMsRUFDN0Msc0JBQWdEO1FBRWhELEtBQUssQ0FDSCxhQUFhLEVBQ2IsT0FBTyxFQUNQLHdCQUF3QixFQUN4QixzQkFBc0IsQ0FDdkIsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7SUFDbkQsQ0FBQztJQUVTLEtBQUssQ0FBQyxTQUFTLENBQ3ZCLE9BQWMsRUFDZCxRQUFlLEVBQ2YsU0FBb0IsRUFDcEIsYUFBZ0M7UUFFaEMsNkVBQTZFO1FBQzdFLDhFQUE4RTtRQUM5RSx5QkFBeUI7UUFDekIsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLElBQUEseUNBQW1CLEVBQUM7WUFDakUsT0FBTztZQUNQLFFBQVE7WUFDUixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUN2RCxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDakMsU0FBUyxFQUFFLFNBQVM7WUFDcEIsZ0JBQWdCLEVBQUUsSUFBSSxD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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Token } from '@x-swap-protocol/sdk-core';
|
|
2
2
|
import { ITokenProvider } from '../../providers/token-provider';
|
|
3
|
+
import { ChainId } from '../../util/chains';
|
|
3
4
|
type ChainTokenList = {
|
|
4
5
|
readonly [chainId in ChainId]: Token[];
|
|
5
6
|
};
|