@xspswap/smart-order-router 1.1.4 → 1.1.6
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 +2 -3
- package/build/main/providers/caching/route/model/cached-routes.js +4 -4
- package/build/main/providers/caching/route/route-caching-provider.d.ts +1 -2
- package/build/main/providers/caching/route/route-caching-provider.js +11 -6
- 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 +1 -2
- package/build/main/providers/caching-token-list-provider.js +1 -2
- package/build/main/providers/caching-token-provider.d.ts +1 -2
- package/build/main/providers/caching-token-provider.js +7 -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 +24 -13
- 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 +1 -2
- package/build/main/providers/swap-router-provider.js +3 -2
- package/build/main/providers/tenderly-simulation-provider.d.ts +1 -1
- package/build/main/providers/tenderly-simulation-provider.js +8 -7
- package/build/main/providers/token-provider.d.ts +9 -14
- package/build/main/providers/token-provider.js +32 -46
- package/build/main/providers/token-validator-provider.d.ts +1 -2
- package/build/main/providers/token-validator-provider.js +3 -2
- 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 +5 -3
- package/build/main/providers/v2/caching-pool-provider.js +5 -3
- package/build/main/providers/v2/caching-subgraph-provider.d.ts +1 -1
- package/build/main/providers/v2/pool-provider.d.ts +13 -4
- package/build/main/providers/v2/pool-provider.js +12 -10
- package/build/main/providers/v2/quote-provider.js +2 -2
- package/build/main/providers/v2/static-subgraph-provider.d.ts +1 -2
- package/build/main/providers/v2/static-subgraph-provider.js +9 -21
- package/build/main/providers/v2/subgraph-provider.d.ts +1 -2
- package/build/main/providers/v2/subgraph-provider.js +1 -1
- package/build/main/providers/v2-fathom/constants.d.ts +2 -0
- package/build/main/providers/v2-fathom/constants.js +6 -0
- package/build/main/providers/v2-fathom/static-subgraph-provider.d.ts +22 -0
- package/build/main/providers/v2-fathom/static-subgraph-provider.js +169 -0
- package/build/main/providers/v2-fathom/subgraph-provider.d.ts +34 -0
- package/build/main/providers/v2-fathom/subgraph-provider.js +130 -0
- package/build/main/providers/v2-fathom/utils.d.ts +2 -0
- package/build/main/providers/v2-fathom/utils.js +14 -0
- package/build/main/providers/v3/caching-pool-provider.d.ts +5 -3
- package/build/main/providers/v3/caching-pool-provider.js +5 -3
- package/build/main/providers/v3/caching-subgraph-provider.d.ts +1 -1
- package/build/main/providers/v3/pool-provider.d.ts +5 -3
- package/build/main/providers/v3/pool-provider.js +14 -8
- package/build/main/providers/v3/static-subgraph-provider-v3-uni.d.ts +29 -0
- package/build/main/providers/v3/static-subgraph-provider-v3-uni.js +209 -0
- package/build/main/providers/v3/static-subgraph-provider.d.ts +1 -2
- package/build/main/providers/v3/static-subgraph-provider.js +43 -91
- package/build/main/providers/v3/subgraph-provider.d.ts +1 -2
- package/build/main/providers/v3/subgraph-provider.js +2 -2
- package/build/main/routers/alpha-router/alpha-router.d.ts +25 -6
- package/build/main/routers/alpha-router/alpha-router.js +100 -38
- package/build/main/routers/alpha-router/config.d.ts +1 -1
- package/build/main/routers/alpha-router/entities/route-with-valid-quote.d.ts +9 -7
- 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 +1 -2
- 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 +4 -3
- 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 +7 -5
- package/build/main/routers/alpha-router/functions/get-candidate-pools.js +19 -17
- package/build/main/routers/alpha-router/gas-models/gas-model.d.ts +1 -2
- 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 +13 -12
- 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 +4 -5
- package/build/main/routers/alpha-router/quoters/base-quoter.d.ts +5 -3
- package/build/main/routers/alpha-router/quoters/base-quoter.js +3 -2
- package/build/main/routers/alpha-router/quoters/mixed-quoter.d.ts +4 -3
- package/build/main/routers/alpha-router/quoters/mixed-quoter.js +80 -14
- package/build/main/routers/alpha-router/quoters/v2-quoter.d.ts +4 -3
- package/build/main/routers/alpha-router/quoters/v2-quoter.js +9 -4
- package/build/main/routers/alpha-router/quoters/v3-quoter.d.ts +5 -4
- package/build/main/routers/alpha-router/quoters/v3-quoter.js +9 -10
- package/build/main/routers/legacy-router/bases.d.ts +1 -2
- package/build/main/routers/legacy-router/bases.js +7 -6
- package/build/main/routers/legacy-router/legacy-router.d.ts +1 -2
- package/build/main/routers/legacy-router/legacy-router.js +5 -5
- package/build/main/routers/router.d.ts +7 -4
- package/build/main/routers/router.js +8 -8
- package/build/main/tsconfig.tsbuildinfo +1 -1
- package/build/main/util/addresses.d.ts +0 -21
- package/build/main/util/addresses.js +6 -59
- package/build/main/util/chains.d.ts +2 -11
- package/build/main/util/chains.js +18 -37
- package/build/main/util/gas-factory-helpers.d.ts +2 -3
- package/build/main/util/gas-factory-helpers.js +10 -6
- package/build/main/util/methodParameters.d.ts +2 -2
- package/build/main/util/methodParameters.js +5 -5
- package/build/main/util/protocols.d.ts +2 -0
- package/build/main/util/protocols.js +14 -2
- package/build/main/util/routes.js +19 -10
- package/build/module/providers/caching/route/model/cached-routes.d.ts +2 -3
- package/build/module/providers/caching/route/model/cached-routes.js +4 -4
- package/build/module/providers/caching/route/route-caching-provider.d.ts +1 -2
- package/build/module/providers/caching/route/route-caching-provider.js +12 -7
- 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 +1 -2
- package/build/module/providers/caching-token-list-provider.js +1 -2
- package/build/module/providers/caching-token-provider.d.ts +1 -2
- package/build/module/providers/caching-token-provider.js +8 -7
- 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 +27 -16
- 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 +1 -2
- package/build/module/providers/swap-router-provider.js +3 -2
- package/build/module/providers/tenderly-simulation-provider.d.ts +1 -1
- package/build/module/providers/tenderly-simulation-provider.js +8 -7
- package/build/module/providers/token-provider.d.ts +9 -14
- package/build/module/providers/token-provider.js +20 -33
- package/build/module/providers/token-validator-provider.d.ts +1 -2
- package/build/module/providers/token-validator-provider.js +4 -3
- 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 +5 -3
- package/build/module/providers/v2/caching-pool-provider.js +5 -3
- package/build/module/providers/v2/caching-subgraph-provider.d.ts +1 -1
- package/build/module/providers/v2/pool-provider.d.ts +13 -4
- package/build/module/providers/v2/pool-provider.js +12 -10
- package/build/module/providers/v2/quote-provider.js +2 -2
- package/build/module/providers/v2/static-subgraph-provider.d.ts +1 -2
- package/build/module/providers/v2/static-subgraph-provider.js +8 -20
- package/build/module/providers/v2/subgraph-provider.d.ts +1 -2
- package/build/module/providers/v2/subgraph-provider.js +1 -1
- package/build/module/providers/v2-fathom/constants.d.ts +2 -0
- package/build/module/providers/v2-fathom/constants.js +3 -0
- package/build/module/providers/v2-fathom/static-subgraph-provider.d.ts +22 -0
- package/build/module/providers/v2-fathom/static-subgraph-provider.js +162 -0
- package/build/module/providers/v2-fathom/subgraph-provider.d.ts +34 -0
- package/build/module/providers/v2-fathom/subgraph-provider.js +131 -0
- package/build/module/providers/v2-fathom/utils.d.ts +2 -0
- package/build/module/providers/v2-fathom/utils.js +10 -0
- package/build/module/providers/v3/caching-pool-provider.d.ts +5 -3
- package/build/module/providers/v3/caching-pool-provider.js +5 -3
- package/build/module/providers/v3/caching-subgraph-provider.d.ts +1 -1
- package/build/module/providers/v3/pool-provider.d.ts +5 -3
- package/build/module/providers/v3/pool-provider.js +14 -8
- package/build/module/providers/v3/static-subgraph-provider-v3-uni.d.ts +29 -0
- package/build/module/providers/v3/static-subgraph-provider-v3-uni.js +202 -0
- package/build/module/providers/v3/static-subgraph-provider.d.ts +1 -2
- package/build/module/providers/v3/static-subgraph-provider.js +42 -90
- package/build/module/providers/v3/subgraph-provider.d.ts +1 -2
- package/build/module/providers/v3/subgraph-provider.js +2 -2
- package/build/module/routers/alpha-router/alpha-router.d.ts +25 -6
- package/build/module/routers/alpha-router/alpha-router.js +102 -40
- package/build/module/routers/alpha-router/config.d.ts +1 -1
- package/build/module/routers/alpha-router/entities/route-with-valid-quote.d.ts +9 -7
- 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 +1 -2
- 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 +4 -3
- 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 +7 -5
- package/build/module/routers/alpha-router/functions/get-candidate-pools.js +21 -19
- package/build/module/routers/alpha-router/gas-models/gas-model.d.ts +1 -2
- 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 +14 -13
- 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 +5 -6
- package/build/module/routers/alpha-router/quoters/base-quoter.d.ts +5 -3
- package/build/module/routers/alpha-router/quoters/base-quoter.js +3 -2
- package/build/module/routers/alpha-router/quoters/mixed-quoter.d.ts +4 -3
- package/build/module/routers/alpha-router/quoters/mixed-quoter.js +81 -15
- package/build/module/routers/alpha-router/quoters/v2-quoter.d.ts +4 -3
- package/build/module/routers/alpha-router/quoters/v2-quoter.js +9 -4
- package/build/module/routers/alpha-router/quoters/v3-quoter.d.ts +5 -4
- package/build/module/routers/alpha-router/quoters/v3-quoter.js +9 -10
- package/build/module/routers/legacy-router/bases.d.ts +1 -2
- package/build/module/routers/legacy-router/bases.js +8 -7
- package/build/module/routers/legacy-router/legacy-router.d.ts +1 -2
- package/build/module/routers/legacy-router/legacy-router.js +6 -6
- package/build/module/routers/router.d.ts +7 -4
- package/build/module/routers/router.js +8 -8
- package/build/module/tsconfig.module.tsbuildinfo +1 -1
- package/build/module/util/addresses.d.ts +0 -21
- package/build/module/util/addresses.js +3 -66
- package/build/module/util/chains.d.ts +2 -11
- package/build/module/util/chains.js +13 -32
- package/build/module/util/gas-factory-helpers.d.ts +2 -3
- package/build/module/util/gas-factory-helpers.js +12 -8
- package/build/module/util/methodParameters.d.ts +2 -2
- package/build/module/util/methodParameters.js +7 -7
- package/build/module/util/protocols.d.ts +2 -0
- package/build/module/util/protocols.js +11 -1
- package/build/module/util/routes.js +20 -11
- package/package.json +1 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import { Token } from '@x-swap-protocol/sdk-core';
|
|
2
|
+
import { ChainId, Token } from '@x-swap-protocol/sdk-core';
|
|
3
3
|
import { IV2PoolProvider } from '../../../providers/v2/pool-provider';
|
|
4
4
|
import { ArbitrumGasData, IL2GasDataProvider, OptimismGasData } from '../../../providers/v3/gas-data-provider';
|
|
5
5
|
import { IV3PoolProvider } from '../../../providers/v3/pool-provider';
|
|
6
6
|
import { CurrencyAmount } from '../../../util/amounts';
|
|
7
|
-
import { ChainId } from '../../../util/chains';
|
|
8
7
|
import { MixedRouteWithValidQuote, RouteWithValidQuote, V2RouteWithValidQuote, V3RouteWithValidQuote } from '../entities/route-with-valid-quote';
|
|
9
8
|
export declare const usdGasTokensByChain: {
|
|
10
9
|
[chainId in ChainId]?: Token[];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IOnChainGasModelFactory = exports.IV2GasModelFactory = exports.usdGasTokensByChain = void 0;
|
|
4
|
+
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
4
5
|
const token_provider_1 = require("../../../providers/token-provider");
|
|
5
|
-
const chains_1 = require("../../../util/chains");
|
|
6
6
|
exports.usdGasTokensByChain = {
|
|
7
7
|
// [ChainId.POLYGON]: [USDC_POLYGON],
|
|
8
|
-
[
|
|
9
|
-
[
|
|
8
|
+
[sdk_core_1.ChainId.APOTHEM]: [token_provider_1.DAI_XDC_APOTHEM, token_provider_1.USDC_XDC_APOTHEM, token_provider_1.USDT_XDC_APOTHEM],
|
|
9
|
+
[sdk_core_1.ChainId.XDC]: [token_provider_1.USDT_XDC],
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* Factory for building gas models that can be used with any route to generate
|
|
@@ -36,4 +36,4 @@ exports.IV2GasModelFactory = IV2GasModelFactory;
|
|
|
36
36
|
class IOnChainGasModelFactory {
|
|
37
37
|
}
|
|
38
38
|
exports.IOnChainGasModelFactory = IOnChainGasModelFactory;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL2dhcy1tb2RlbHMvZ2FzLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUEyRDtBQUUzRCxzRUFLMkM7QUFnQjlCLFFBQUEsbUJBQW1CLEdBQXVDO0lBQ3JFLHFDQUFxQztJQUNyQyxDQUFDLGtCQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQ0FBZSxFQUFFLGlDQUFnQixFQUFFLGlDQUFnQixDQUFDO0lBQ3hFLENBQUMsa0JBQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLHlCQUFRLENBQUM7Q0FDMUIsQ0FBQztBQW9ERjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBc0Isa0JBQWtCO0NBT3ZDO0FBUEQsZ0RBT0M7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBc0IsdUJBQXVCO0NBWTVDO0FBWkQsMERBWUMifQ==
|
package/build/main/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js
CHANGED
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.MixedRouteHeuristicGasModelFactory = void 0;
|
|
7
7
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
8
8
|
const router_sdk_1 = require("@x-swap-protocol/router-sdk");
|
|
9
|
+
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
9
10
|
const v2_sdk_1 = require("@x-swap-protocol/v2-sdk");
|
|
10
11
|
const v3_sdk_1 = require("@x-swap-protocol/v3-sdk");
|
|
11
12
|
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
-
const __1 = require("../../../..");
|
|
13
13
|
const util_1 = require("../../../../util");
|
|
14
14
|
const amounts_1 = require("../../../../util/amounts");
|
|
15
15
|
const gas_factory_helpers_1 = require("../../../../util/gas-factory-helpers");
|
|
@@ -43,7 +43,7 @@ class MixedRouteHeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFac
|
|
|
43
43
|
// If our quote token is WETH, we don't need to convert our gas use to be in terms
|
|
44
44
|
// of the quote token in order to produce a gas adjusted amount.
|
|
45
45
|
// We do return a gas use in USD however, so we still convert to usd.
|
|
46
|
-
const nativeCurrency =
|
|
46
|
+
const nativeCurrency = sdk_core_1.WETH9[chainId];
|
|
47
47
|
if (quoteToken.equals(nativeCurrency)) {
|
|
48
48
|
const estimateGasCost = (routeWithValidQuote) => {
|
|
49
49
|
const { totalGasCostNativeCurrency, baseGasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -158,7 +158,7 @@ class MixedRouteHeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFac
|
|
|
158
158
|
// base estimate gas used based on chainId estimates for hops and ticks gas useage
|
|
159
159
|
baseGasUse = baseGasUse.add(tickGasUse).add(uninitializedTickGasUse);
|
|
160
160
|
const baseGasCostWei = gasPriceWei.mul(baseGasUse);
|
|
161
|
-
const wrappedCurrency =
|
|
161
|
+
const wrappedCurrency = sdk_core_1.WETH9[chainId];
|
|
162
162
|
const totalGasCostNativeCurrency = amounts_1.CurrencyAmount.fromRawAmount(wrappedCurrency, baseGasCostWei.toString());
|
|
163
163
|
return {
|
|
164
164
|
totalGasCostNativeCurrency,
|
|
@@ -168,4 +168,4 @@ class MixedRouteHeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFac
|
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
exports.MixedRouteHeuristicGasModelFactory = MixedRouteHeuristicGasModelFactory;
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4ZWQtcm91dGUtaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL21peGVkUm91dGUvbWl4ZWQtcm91dGUtaGV1cmlzdGljLWdhcy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3REFBcUQ7QUFDckQsNERBQTRFO0FBQzVFLHdEQUEyRDtBQUMzRCxvREFBK0M7QUFDL0Msb0RBQStDO0FBQy9DLG9EQUF1QjtBQUV2QiwyQ0FBdUM7QUFDdkMsc0RBQTBEO0FBQzFELDhFQUk4QztBQUU5Qyw0Q0FJc0I7QUFDdEIseUVBR3NDO0FBQ3RDLCtDQUt5QjtBQUV6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFhLGtDQUFtQyxTQUFRLG1DQUF1QjtJQUM3RTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFDekIsT0FBTyxFQUNQLFdBQVcsRUFDWCxjQUFjLEVBQUUsY0FBYyxFQUM5QixVQUFVLEVBQ1YsY0FBYyxFQUFFLGNBQWMsR0FDRTtRQUdoQyxNQUFNLE9BQU8sR0FBUyxNQUFNLElBQUEsa0RBQTRCLEVBQ3RELE9BQU8sRUFDUCxjQUFjLENBQ2YsQ0FBQztRQUVGLGtGQUFrRjtRQUNsRixnRUFBZ0U7UUFDaEUscUVBQXFFO1FBQ3JFLE1BQU0sY0FBYyxHQUFHLGdCQUFLLENBQUMsT0FBTyxDQUFFLENBQUM7UUFDdkMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3JDLE1BQU0sZUFBZSxHQUFHLENBQ3RCLG1CQUE2QyxFQUs3QyxFQUFFO2dCQUNGLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUNqRSxtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9B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
|
|
@@ -5,14 +5,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.V2HeuristicGasModelFactory = exports.COST_PER_EXTRA_HOP = exports.BASE_SWAP_COST = void 0;
|
|
7
7
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
8
|
+
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
8
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
10
|
const util_1 = require("../../../../util");
|
|
10
11
|
const amounts_1 = require("../../../../util/amounts");
|
|
11
12
|
const gas_model_1 = require("../gas-model");
|
|
12
13
|
// Constant cost for doing any swap regardless of pools.
|
|
13
|
-
exports.BASE_SWAP_COST = bignumber_1.BigNumber.from(
|
|
14
|
+
exports.BASE_SWAP_COST = bignumber_1.BigNumber.from(100000); // Reduced for low gas networks
|
|
14
15
|
// Constant per extra hop in the route.
|
|
15
|
-
exports.COST_PER_EXTRA_HOP = bignumber_1.BigNumber.from(
|
|
16
|
+
exports.COST_PER_EXTRA_HOP = bignumber_1.BigNumber.from(35000); // Reduced for low gas networks
|
|
16
17
|
/**
|
|
17
18
|
* Computes a gas estimate for a V2 swap using heuristics.
|
|
18
19
|
* Considers number of hops in the route and the typical base cost for a swap.
|
|
@@ -35,12 +36,12 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
35
36
|
super();
|
|
36
37
|
}
|
|
37
38
|
async buildGasModel({ chainId, gasPriceWei, poolProvider, token, }) {
|
|
38
|
-
if (token.equals(
|
|
39
|
+
if (token.equals(sdk_core_1.WETH9[chainId])) {
|
|
39
40
|
const usdPool = await this.getHighestLiquidityUSDPool(chainId, poolProvider);
|
|
40
41
|
return {
|
|
41
42
|
estimateGasCost: (routeWithValidQuote) => {
|
|
42
43
|
const { gasCostInEth, gasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
43
|
-
const ethToken0 = usdPool.token0.address ==
|
|
44
|
+
const ethToken0 = usdPool.token0.address == sdk_core_1.WETH9[chainId].address;
|
|
44
45
|
const ethTokenPrice = ethToken0
|
|
45
46
|
? usdPool.token0Price
|
|
46
47
|
: usdPool.token1Price;
|
|
@@ -62,7 +63,7 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
62
63
|
const usdPool = await this.getHighestLiquidityUSDPool(chainId, poolProvider);
|
|
63
64
|
return {
|
|
64
65
|
estimateGasCost: (routeWithValidQuote) => {
|
|
65
|
-
const usdToken = usdPool.token0.address ==
|
|
66
|
+
const usdToken = usdPool.token0.address == sdk_core_1.WETH9[chainId].address
|
|
66
67
|
? usdPool.token1
|
|
67
68
|
: usdPool.token0;
|
|
68
69
|
const { gasCostInEth, gasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -73,7 +74,7 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
73
74
|
gasCostInUSD: amounts_1.CurrencyAmount.fromRawAmount(usdToken, 0),
|
|
74
75
|
};
|
|
75
76
|
}
|
|
76
|
-
const ethToken0 = ethPool.token0.address ==
|
|
77
|
+
const ethToken0 = ethPool.token0.address == sdk_core_1.WETH9[chainId].address;
|
|
77
78
|
const ethTokenPrice = ethToken0
|
|
78
79
|
? ethPool.token0Price
|
|
79
80
|
: ethPool.token1Price;
|
|
@@ -89,7 +90,7 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
89
90
|
}, 'Debug eth price token issue');
|
|
90
91
|
throw err;
|
|
91
92
|
}
|
|
92
|
-
const ethToken0USDPool = usdPool.token0.address ==
|
|
93
|
+
const ethToken0USDPool = usdPool.token0.address == sdk_core_1.WETH9[chainId].address;
|
|
93
94
|
const ethTokenPriceUSDPool = ethToken0USDPool
|
|
94
95
|
? usdPool.token0Price
|
|
95
96
|
: usdPool.token1Price;
|
|
@@ -117,12 +118,12 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
117
118
|
const hops = routeWithValidQuote.route.pairs.length;
|
|
118
119
|
const gasUse = exports.BASE_SWAP_COST.add(exports.COST_PER_EXTRA_HOP.mul(hops - 1));
|
|
119
120
|
const totalGasCostWei = gasPriceWei.mul(gasUse);
|
|
120
|
-
const weth =
|
|
121
|
+
const weth = sdk_core_1.WETH9[chainId];
|
|
121
122
|
const gasCostInEth = amounts_1.CurrencyAmount.fromRawAmount(weth, totalGasCostWei.toString());
|
|
122
123
|
return { gasCostInEth, gasUse };
|
|
123
124
|
}
|
|
124
125
|
async getEthPool(chainId, token, poolProvider) {
|
|
125
|
-
const weth =
|
|
126
|
+
const weth = sdk_core_1.WETH9[chainId];
|
|
126
127
|
const poolAccessor = await poolProvider.getPools([[weth, token]]);
|
|
127
128
|
const pool = poolAccessor.getPool(weth, token);
|
|
128
129
|
if (!pool || pool.reserve0.equalTo(0) || pool.reserve1.equalTo(0)) {
|
|
@@ -143,7 +144,7 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
143
144
|
}
|
|
144
145
|
const usdPools = lodash_1.default.map(usdTokens, (usdToken) => [
|
|
145
146
|
usdToken,
|
|
146
|
-
|
|
147
|
+
sdk_core_1.WETH9[chainId],
|
|
147
148
|
]);
|
|
148
149
|
const poolAccessor = await poolProvider.getPools(usdPools);
|
|
149
150
|
const poolsRaw = poolAccessor.getAllPools();
|
|
@@ -153,7 +154,7 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
153
154
|
throw new Error(`Can't find USD/WETH pool for computing gas costs.`);
|
|
154
155
|
}
|
|
155
156
|
const maxPool = lodash_1.default.maxBy(pools, (pool) => {
|
|
156
|
-
if (pool.token0.equals(
|
|
157
|
+
if (pool.token0.equals(sdk_core_1.WETH9[chainId])) {
|
|
157
158
|
return parseFloat(pool.reserve0.toSignificant(2));
|
|
158
159
|
}
|
|
159
160
|
else {
|
|
@@ -164,4 +165,4 @@ class V2HeuristicGasModelFactory extends gas_model_1.IV2GasModelFactory {
|
|
|
164
165
|
}
|
|
165
166
|
}
|
|
166
167
|
exports.V2HeuristicGasModelFactory = V2HeuristicGasModelFactory;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjItaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL3YyL3YyLWhldXJpc3RpYy1nYXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFrRTtBQUVsRSxvREFBdUI7QUFHdkIsMkNBQXVDO0FBQ3ZDLHNEQUEwRDtBQUUxRCw0Q0FLc0I7QUFFdEIsd0RBQXdEO0FBQzNDLFFBQUEsY0FBYyxHQUFHLHFCQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsK0JBQStCO0FBRXJGLHVDQUF1QztBQUMxQixRQUFBLGtCQUFrQixHQUFHLHFCQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsK0JBQStCO0FBRXhGOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSw4QkFBa0I7SUFDaEU7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQ3pCLE9BQU8sRUFDUCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FDc0I7UUFDM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFLLENBQUMsT0FBTyxDQUFFLENBQUMsRUFBRTtZQUNqQyxNQUFNLE9BQU8sR0FBUyxNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FDekQsT0FBTyxFQUNQLFlBQVksQ0FDYixDQUFDO1lBRUYsT0FBTztnQkFDTCxlQUFlLEVBQUUsQ0FBQyxtQkFBMEMsRUFBRSxFQUFFO29CQUM5RCxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQy9DLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsT0FBTyxDQUNSLENBQUM7b0JBRUYsTUFBTSxTQUFTLEdB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import { ChainId } from '
|
|
2
|
+
import { ChainId } from '@x-swap-protocol/sdk-core';
|
|
3
3
|
export declare const COST_PER_UNINIT_TICK: BigNumber;
|
|
4
4
|
export declare const BASE_SWAP_COST: (id: ChainId) => BigNumber;
|
|
5
5
|
export declare const COST_PER_INIT_TICK: (id: ChainId) => BigNumber;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.COST_PER_HOP = exports.COST_PER_INIT_TICK = exports.BASE_SWAP_COST = exports.COST_PER_UNINIT_TICK = void 0;
|
|
4
4
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
5
|
-
const
|
|
5
|
+
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
|
|
6
6
|
// Cost for crossing an uninitialized tick.
|
|
7
7
|
exports.COST_PER_UNINIT_TICK = bignumber_1.BigNumber.from(0);
|
|
8
8
|
//l2 execution fee on optimism is roughly the same as mainnet
|
|
@@ -11,9 +11,9 @@ const BASE_SWAP_COST = (id) => {
|
|
|
11
11
|
// case ChainId.MAINNET:
|
|
12
12
|
// case ChainId.BSC:
|
|
13
13
|
// return BigNumber.from(2000);
|
|
14
|
-
case
|
|
15
|
-
case
|
|
16
|
-
return bignumber_1.BigNumber.from(
|
|
14
|
+
case sdk_core_1.ChainId.XDC:
|
|
15
|
+
case sdk_core_1.ChainId.APOTHEM:
|
|
16
|
+
return bignumber_1.BigNumber.from(1500);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
exports.BASE_SWAP_COST = BASE_SWAP_COST;
|
|
@@ -23,9 +23,9 @@ const COST_PER_INIT_TICK = (id) => {
|
|
|
23
23
|
// case ChainId.BSC:
|
|
24
24
|
// case ChainId.POLYGON:
|
|
25
25
|
// return BigNumber.from(31000);
|
|
26
|
-
case
|
|
27
|
-
case
|
|
28
|
-
return bignumber_1.BigNumber.from(
|
|
26
|
+
case sdk_core_1.ChainId.XDC:
|
|
27
|
+
case sdk_core_1.ChainId.APOTHEM:
|
|
28
|
+
return bignumber_1.BigNumber.from(24000);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
exports.COST_PER_INIT_TICK = COST_PER_INIT_TICK;
|
|
@@ -34,10 +34,10 @@ const COST_PER_HOP = (id) => {
|
|
|
34
34
|
// case ChainId.MAINNET:
|
|
35
35
|
// case ChainId.BSC:
|
|
36
36
|
// return BigNumber.from(80000);
|
|
37
|
-
case
|
|
38
|
-
case
|
|
39
|
-
return bignumber_1.BigNumber.from(
|
|
37
|
+
case sdk_core_1.ChainId.XDC:
|
|
38
|
+
case sdk_core_1.ChainId.APOTHEM:
|
|
39
|
+
return bignumber_1.BigNumber.from(60000);
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
exports.COST_PER_HOP = COST_PER_HOP;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzLWNvc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL2dhcy1tb2RlbHMvdjMvZ2FzLWNvc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUFxRDtBQUNyRCx3REFBb0Q7QUFFcEQsMkNBQTJDO0FBQzlCLFFBQUEsb0JBQW9CLEdBQUcscUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFdEQsNkRBQTZEO0FBQ3RELE1BQU0sY0FBYyxHQUFHLENBQUMsRUFBVyxFQUFhLEVBQUU7SUFDdkQsUUFBUSxFQUFFLEVBQUU7UUFDVix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGlDQUFpQztRQUNqQyxLQUFLLGtCQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2pCLEtBQUssa0JBQU8sQ0FBQyxPQUFPO1lBQ2xCLE9BQU8scUJBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDL0I7QUFDSCxDQUFDLENBQUM7QUFUVyxRQUFBLGNBQWMsa0JBU3pCO0FBQ0ssTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEVBQVcsRUFBYSxFQUFFO0lBQzNELFFBQVEsRUFBRSxFQUFFO1FBQ1Ysd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsa0NBQWtDO1FBQ2xDLEtBQUssa0JBQU8sQ0FBQyxHQUFHLENBQUM7UUFDakIsS0FBSyxrQkFBTyxDQUFDLE9BQU87WUFDbEIsT0FBTyxxQkFBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoQztBQUNILENBQUMsQ0FBQztBQVZXLFFBQUEsa0JBQWtCLHNCQVU3QjtBQUVLLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBVyxFQUFhLEVBQUU7SUFDckQsUUFBUSxFQUFFLEVBQUU7UUFDVix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGtDQUFrQztRQUNsQyxLQUFLLGtCQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2pCLEtBQUssa0JBQU8sQ0FBQyxPQUFPO1lBQ2xCLE9BQU8scUJBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEM7QUFDSCxDQUFDLENBQUM7QUFUVyxRQUFBLFlBQVksZ0JBU3ZCIn0=
|
|
@@ -7,7 +7,6 @@ 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("../../../..");
|
|
11
10
|
const amounts_1 = require("../../../../util/amounts");
|
|
12
11
|
const gas_factory_helpers_1 = require("../../../../util/gas-factory-helpers");
|
|
13
12
|
const log_1 = require("../../../../util/log");
|
|
@@ -41,7 +40,7 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
41
40
|
let l1Used = bignumber_1.BigNumber.from(0);
|
|
42
41
|
let l1FeeInWei = bignumber_1.BigNumber.from(0);
|
|
43
42
|
// wrap fee to native currency
|
|
44
|
-
const nativeCurrency =
|
|
43
|
+
const nativeCurrency = sdk_core_1.WETH9[chainId];
|
|
45
44
|
const costNativeCurrency = amounts_1.CurrencyAmount.fromRawAmount(nativeCurrency, l1FeeInWei.toString());
|
|
46
45
|
// convert fee into usd
|
|
47
46
|
const nativeTokenPrice = usdPool.token0.address == nativeCurrency.address
|
|
@@ -74,7 +73,7 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
74
73
|
// If our quote token is WETH, we don't need to convert our gas use to be in terms
|
|
75
74
|
// of the quote token in order to produce a gas adjusted amount.
|
|
76
75
|
// We do return a gas use in USD however, so we still convert to usd.
|
|
77
|
-
const nativeCurrency =
|
|
76
|
+
const nativeCurrency = sdk_core_1.WETH9[chainId];
|
|
78
77
|
if (quoteToken.equals(nativeCurrency)) {
|
|
79
78
|
const estimateGasCost = (routeWithValidQuote) => {
|
|
80
79
|
const { totalGasCostNativeCurrency, baseGasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -210,7 +209,7 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
210
209
|
.add(tickGasUse)
|
|
211
210
|
.add(uninitializedTickGasUse);
|
|
212
211
|
const baseGasCostWei = gasPriceWei.mul(baseGasUse);
|
|
213
|
-
const wrappedCurrency =
|
|
212
|
+
const wrappedCurrency = sdk_core_1.WETH9[chainId];
|
|
214
213
|
const totalGasCostNativeCurrency = amounts_1.CurrencyAmount.fromRawAmount(wrappedCurrency, baseGasCostWei.toString());
|
|
215
214
|
return {
|
|
216
215
|
totalGasCostNativeCurrency,
|
|
@@ -220,4 +219,4 @@ class V3HeuristicGasModelFactory extends gas_model_1.IOnChainGasModelFactory {
|
|
|
220
219
|
}
|
|
221
220
|
}
|
|
222
221
|
exports.V3HeuristicGasModelFactory = V3HeuristicGasModelFactory;
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjMtaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL3YzL3YzLWhldXJpc3RpYy1nYXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQXFEO0FBQ3JELHdEQUFrRTtBQUVsRSxvREFBdUI7QUFFdkIsc0RBQTBEO0FBQzFELDhFQUc4QztBQUM5Qyw4Q0FBMkM7QUFFM0MsNENBSXNCO0FBRXRCLDJDQUtxQjtBQUVyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLG1DQUF1QjtJQUNyRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFDekIsT0FBTyxFQUNQLFdBQVcsRUFDWCxjQUFjLEVBQUUsWUFBWSxFQUM1QixXQUFXLEVBQ1gsVUFBVSxHQUVtQjtRQUM3QixNQUFNLE9BQU8sR0FBUyxNQUFNLElBQUEsa0RBQTRCLEVBQ3RELE9BQU8sRUFDUCxZQUFZLENBQ2IsQ0FBQztRQUVGLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxJQUk3QixFQUFFO1lBQ0gsSUFBSSxNQUFNLEdBQUcscUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxVQUFVLEdBQUcscUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbkMsOEJBQThCO1lBQzlCLE1BQU0sY0FBYyxHQUFHLGdCQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsTUFBTSxrQkFBa0IsR0FBRyx3QkFBYyxDQUFDLGFBQWEsQ0FDckQsY0FBYyxFQUNkLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FDdEIsQ0FBQztZQUVGLHVCQUF1QjtZQUN2QixNQUFNLGdCQUFnQixHQUNwQixPQUFPLENBQUMsTUFBTSxDQUFD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
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import {
|
|
2
|
+
import { Protocol } from '@x-swap-protocol/router-sdk';
|
|
3
|
+
import { ChainId, Currency, Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
3
4
|
import { Pair } from '@x-swap-protocol/v2-sdk';
|
|
4
5
|
import { Pool } from '@x-swap-protocol/v3-sdk';
|
|
5
6
|
import { ITokenListProvider, ITokenProvider, ITokenValidatorProvider, TokenValidationResult } from '../../../providers';
|
|
6
|
-
import {
|
|
7
|
+
import { CurrencyAmount } from '../../../util';
|
|
7
8
|
import { MixedRoute, V2Route, V3Route } from '../../router';
|
|
8
9
|
import { AlphaRouterConfig } from '../alpha-router';
|
|
9
10
|
import { RouteWithValidQuote } from '../entities/route-with-valid-quote';
|
|
@@ -22,7 +23,8 @@ export declare abstract class BaseQuoter<Route extends V2Route | V3Route | Mixed
|
|
|
22
23
|
protected chainId: ChainId;
|
|
23
24
|
protected blockedTokenListProvider?: ITokenListProvider;
|
|
24
25
|
protected tokenValidatorProvider?: ITokenValidatorProvider;
|
|
25
|
-
|
|
26
|
+
protected protocol: Protocol;
|
|
27
|
+
constructor(tokenProvider: ITokenProvider, chainId: ChainId, protocol: Protocol, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
26
28
|
/**
|
|
27
29
|
* Protected method in charge of fetching the routes for the tokenIn/tokenOut pair.
|
|
28
30
|
*
|
|
@@ -14,9 +14,10 @@ const util_1 = require("../../../util");
|
|
|
14
14
|
* @template Route
|
|
15
15
|
*/
|
|
16
16
|
class BaseQuoter {
|
|
17
|
-
constructor(tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
17
|
+
constructor(tokenProvider, chainId, protocol, blockedTokenListProvider, tokenValidatorProvider) {
|
|
18
18
|
this.tokenProvider = tokenProvider;
|
|
19
19
|
this.chainId = chainId;
|
|
20
|
+
this.protocol = protocol;
|
|
20
21
|
this.blockedTokenListProvider = blockedTokenListProvider;
|
|
21
22
|
this.tokenValidatorProvider = tokenValidatorProvider;
|
|
22
23
|
}
|
|
@@ -59,4 +60,4 @@ class BaseQuoter {
|
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
62
|
exports.BaseQuoter = BaseQuoter;
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdW90ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcm91dGVycy9hbHBoYS1yb3V0ZXIvcXVvdGVycy9iYXNlLXF1b3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFLQSxvREFBdUI7QUFRdkIsd0NBQWtFO0FBU2xFOzs7Ozs7R0FNRztBQUNILE1BQXNCLFVBQVU7SUFPOUIsWUFDRSxhQUE2QixFQUM3QixPQUFnQixFQUNoQixRQUFrQixFQUNsQix3QkFBNkMsRUFDN0Msc0JBQWdEO1FBRWhELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztRQUN6RCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFDdkQsQ0FBQztJQThDRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxtQkFBbUIsQ0FDeEIsT0FBYyxFQUNkLFFBQWUsRUFDZixPQUF5QixFQUN6QixRQUFrQixFQUNsQixVQUFpQixFQUNqQixTQUFvQixFQUNwQixhQUFnQyxFQUNoQyxRQUF5QyxFQUN6QyxXQUF1QjtRQUV2QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUNyRSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUNuQixZQUFZLENBQUMsTUFBTSxFQUNuQixPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsYUFBYSxFQUNiLFlBQVksQ0FBQyxjQUFjLEVBQzNCLFFBQVEsRUFDUixXQUFXLENBQ1osQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLEtBQUssQ0FBQywwQkFBMEIsQ0FDeEMsS0FBVSxFQUNWLFdBR1k7UUFFWixJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2hDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxVQUFHLENBQUMsSUFBSSxDQUFDLDhCQUE4QixLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQztRQUU3RCxNQUFNLE1BQU0sR0FBRyxnQkFBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV0RSxNQUFNLHNCQUFzQixHQUMxQixNQUFNLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFM0QsTUFBTSxhQUFhLEdBQUcsZ0JBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDbEUsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDbEUsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBRUYsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNqRSxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWpFLElBQUksYUFBYSxJQUFJLGFBQWEsRUFBRTtnQkFDbEMsVUFBRyxDQUFDLElBQUksQ0FDTixpQkFBaUIsSUFBQSxtQkFBWSxFQUFDLElBQUksQ0FBQyw4QkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUNkLEtBQUssZ0JBQWdCLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLEVBQUUsQ0FDcEUsQ0FBQzthQUNIO1lBRUQsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQXBKRCxnQ0FvSkMifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
1
|
+
import { ChainId, Token, TradeType } from '@x-swap-protocol/sdk-core';
|
|
2
2
|
import { IOnChainQuoteProvider, ITokenListProvider, ITokenProvider, ITokenValidatorProvider, IV2PoolProvider, IV2SubgraphProvider, IV3PoolProvider, IV3SubgraphProvider } from '../../../providers';
|
|
3
|
-
import {
|
|
3
|
+
import { CurrencyAmount } from '../../../util';
|
|
4
4
|
import { MixedRoute } from '../../router';
|
|
5
5
|
import { AlphaRouterConfig } from '../alpha-router';
|
|
6
6
|
import { MixedRouteWithValidQuote } from '../entities';
|
|
@@ -11,10 +11,11 @@ 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;
|
|
14
15
|
protected v2SubgraphProvider: IV2SubgraphProvider;
|
|
15
16
|
protected v2PoolProvider: IV2PoolProvider;
|
|
16
17
|
protected onChainQuoteProvider: IOnChainQuoteProvider;
|
|
17
|
-
constructor(v3SubgraphProvider: IV3SubgraphProvider, v3PoolProvider: IV3PoolProvider, v2SubgraphProvider: IV2SubgraphProvider, v2PoolProvider: IV2PoolProvider, onChainQuoteProvider: IOnChainQuoteProvider, tokenProvider: ITokenProvider, chainId: ChainId, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
18
|
+
constructor(v3SubgraphProvider: IV3SubgraphProvider, v3PoolProvider: IV3PoolProvider, v3UniPoolProvider: IV3PoolProvider, v2SubgraphProvider: IV2SubgraphProvider, v2PoolProvider: IV2PoolProvider, onChainQuoteProvider: IOnChainQuoteProvider, tokenProvider: ITokenProvider, chainId: ChainId, blockedTokenListProvider?: ITokenListProvider, tokenValidatorProvider?: ITokenValidatorProvider);
|
|
18
19
|
protected getRoutes(tokenIn: Token, tokenOut: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig): Promise<GetRoutesResult<MixedRoute>>;
|
|
19
20
|
getQuotes(routes: MixedRoute[], amounts: CurrencyAmount[], percents: number[], quoteToken: Token, tradeType: TradeType, routingConfig: AlphaRouterConfig, candidatePools?: CandidatePoolsBySelectionCriteria, gasModel?: IGasModel<MixedRouteWithValidQuote>): Promise<GetQuotesResult>;
|
|
20
21
|
}
|