@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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import {
|
|
2
|
+
import { 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';
|
|
7
8
|
import { MixedRouteWithValidQuote, RouteWithValidQuote, V2RouteWithValidQuote, V3RouteWithValidQuote } from '../entities/route-with-valid-quote';
|
|
8
9
|
export declare const usdGasTokensByChain: {
|
|
9
10
|
[chainId in ChainId]?: Token[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ChainId } from '@x-swap-protocol/sdk-core';
|
|
2
1
|
import { DAI_XDC_APOTHEM, USDC_XDC_APOTHEM, USDT_XDC, USDT_XDC_APOTHEM, } from '../../../providers/token-provider';
|
|
2
|
+
import { ChainId } from '../../../util/chains';
|
|
3
3
|
export const usdGasTokensByChain = {
|
|
4
4
|
// [ChainId.POLYGON]: [USDC_POLYGON],
|
|
5
|
-
[ChainId.
|
|
5
|
+
[ChainId.XDC_APOTHEM]: [DAI_XDC_APOTHEM, USDC_XDC_APOTHEM, USDT_XDC_APOTHEM],
|
|
6
6
|
[ChainId.XDC]: [USDT_XDC],
|
|
7
7
|
};
|
|
8
8
|
/**
|
|
@@ -31,4 +31,4 @@ export class IV2GasModelFactory {
|
|
|
31
31
|
*/
|
|
32
32
|
export class IOnChainGasModelFactory {
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL2dhcy1tb2RlbHMvZ2FzLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixnQkFBZ0IsR0FDakIsTUFBTSxtQ0FBbUMsQ0FBQztBQVMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRL0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQXVDO0lBQ3JFLHFDQUFxQztJQUNyQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUM1RSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQztDQUMxQixDQUFDO0FBb0RGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQWdCLGtCQUFrQjtDQU92QztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtDQVk1QyJ9
|
package/build/module/routers/alpha-router/gas-models/mixedRoute/mixed-route-heuristic-gas-model.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
2
|
import { partitionMixedRouteByProtocol } from '@x-swap-protocol/router-sdk';
|
|
3
|
-
import { WETH9 } 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 _ from 'lodash';
|
|
6
|
+
import { WRAPPED_NATIVE_CURRENCY } from '../../../..';
|
|
7
7
|
import { log } from '../../../../util';
|
|
8
8
|
import { CurrencyAmount } from '../../../../util/amounts';
|
|
9
9
|
import { getHighestLiquidityV3NativePool, getHighestLiquidityV3USDPool, getV2NativePool, } from '../../../../util/gas-factory-helpers';
|
|
@@ -37,7 +37,7 @@ export class MixedRouteHeuristicGasModelFactory extends IOnChainGasModelFactory
|
|
|
37
37
|
// If our quote token is WETH, we don't need to convert our gas use to be in terms
|
|
38
38
|
// of the quote token in order to produce a gas adjusted amount.
|
|
39
39
|
// We do return a gas use in USD however, so we still convert to usd.
|
|
40
|
-
const nativeCurrency =
|
|
40
|
+
const nativeCurrency = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
41
41
|
if (quoteToken.equals(nativeCurrency)) {
|
|
42
42
|
const estimateGasCost = (routeWithValidQuote) => {
|
|
43
43
|
const { totalGasCostNativeCurrency, baseGasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -152,7 +152,7 @@ export class MixedRouteHeuristicGasModelFactory extends IOnChainGasModelFactory
|
|
|
152
152
|
// base estimate gas used based on chainId estimates for hops and ticks gas useage
|
|
153
153
|
baseGasUse = baseGasUse.add(tickGasUse).add(uninitializedTickGasUse);
|
|
154
154
|
const baseGasCostWei = gasPriceWei.mul(baseGasUse);
|
|
155
|
-
const wrappedCurrency =
|
|
155
|
+
const wrappedCurrency = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
156
156
|
const totalGasCostNativeCurrency = CurrencyAmount.fromRawAmount(wrappedCurrency, baseGasCostWei.toString());
|
|
157
157
|
return {
|
|
158
158
|
totalGasCostNativeCurrency,
|
|
@@ -161,4 +161,4 @@ export class MixedRouteHeuristicGasModelFactory extends IOnChainGasModelFactory
|
|
|
161
161
|
};
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4ZWQtcm91dGUtaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL21peGVkUm91dGUvbWl4ZWQtcm91dGUtaGV1cmlzdGljLWdhcy1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBVyxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUNMLCtCQUErQixFQUMvQiw0QkFBNEIsRUFDNUIsZUFBZSxHQUNoQixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFHTCx1QkFBdUIsR0FDeEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLGNBQWMsSUFBSSxpQkFBaUIsRUFDbkMsa0JBQWtCLElBQUkscUJBQXFCLEdBQzVDLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUNyQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSx1QkFBdUI7SUFDN0U7UUFDRSxLQUFLLEVBQUUs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
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import { WETH9 } from '@x-swap-protocol/sdk-core';
|
|
3
2
|
import _ from 'lodash';
|
|
4
|
-
import { log } from '../../../../util';
|
|
3
|
+
import { log, WRAPPED_NATIVE_CURRENCY } from '../../../../util';
|
|
5
4
|
import { CurrencyAmount } from '../../../../util/amounts';
|
|
6
5
|
import { IV2GasModelFactory, usdGasTokensByChain, } from '../gas-model';
|
|
7
6
|
// Constant cost for doing any swap regardless of pools.
|
|
8
|
-
export const BASE_SWAP_COST = BigNumber.from(
|
|
7
|
+
export const BASE_SWAP_COST = BigNumber.from(135000); // 115000, bumped up by 20_000 @eric 7/8/2022
|
|
9
8
|
// Constant per extra hop in the route.
|
|
10
|
-
export const COST_PER_EXTRA_HOP = BigNumber.from(
|
|
9
|
+
export const COST_PER_EXTRA_HOP = BigNumber.from(50000); // 20000, bumped up by 30_000 @eric 7/8/2022
|
|
11
10
|
/**
|
|
12
11
|
* Computes a gas estimate for a V2 swap using heuristics.
|
|
13
12
|
* Considers number of hops in the route and the typical base cost for a swap.
|
|
@@ -30,12 +29,12 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
30
29
|
super();
|
|
31
30
|
}
|
|
32
31
|
async buildGasModel({ chainId, gasPriceWei, poolProvider, token, }) {
|
|
33
|
-
if (token.equals(
|
|
32
|
+
if (token.equals(WRAPPED_NATIVE_CURRENCY[chainId])) {
|
|
34
33
|
const usdPool = await this.getHighestLiquidityUSDPool(chainId, poolProvider);
|
|
35
34
|
return {
|
|
36
35
|
estimateGasCost: (routeWithValidQuote) => {
|
|
37
36
|
const { gasCostInEth, gasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
38
|
-
const ethToken0 = usdPool.token0.address ==
|
|
37
|
+
const ethToken0 = usdPool.token0.address == WRAPPED_NATIVE_CURRENCY[chainId].address;
|
|
39
38
|
const ethTokenPrice = ethToken0
|
|
40
39
|
? usdPool.token0Price
|
|
41
40
|
: usdPool.token1Price;
|
|
@@ -57,7 +56,7 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
57
56
|
const usdPool = await this.getHighestLiquidityUSDPool(chainId, poolProvider);
|
|
58
57
|
return {
|
|
59
58
|
estimateGasCost: (routeWithValidQuote) => {
|
|
60
|
-
const usdToken = usdPool.token0.address ==
|
|
59
|
+
const usdToken = usdPool.token0.address == WRAPPED_NATIVE_CURRENCY[chainId].address
|
|
61
60
|
? usdPool.token1
|
|
62
61
|
: usdPool.token0;
|
|
63
62
|
const { gasCostInEth, gasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -68,7 +67,7 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
68
67
|
gasCostInUSD: CurrencyAmount.fromRawAmount(usdToken, 0),
|
|
69
68
|
};
|
|
70
69
|
}
|
|
71
|
-
const ethToken0 = ethPool.token0.address ==
|
|
70
|
+
const ethToken0 = ethPool.token0.address == WRAPPED_NATIVE_CURRENCY[chainId].address;
|
|
72
71
|
const ethTokenPrice = ethToken0
|
|
73
72
|
? ethPool.token0Price
|
|
74
73
|
: ethPool.token1Price;
|
|
@@ -84,7 +83,7 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
84
83
|
}, 'Debug eth price token issue');
|
|
85
84
|
throw err;
|
|
86
85
|
}
|
|
87
|
-
const ethToken0USDPool = usdPool.token0.address ==
|
|
86
|
+
const ethToken0USDPool = usdPool.token0.address == WRAPPED_NATIVE_CURRENCY[chainId].address;
|
|
88
87
|
const ethTokenPriceUSDPool = ethToken0USDPool
|
|
89
88
|
? usdPool.token0Price
|
|
90
89
|
: usdPool.token1Price;
|
|
@@ -112,12 +111,12 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
112
111
|
const hops = routeWithValidQuote.route.pairs.length;
|
|
113
112
|
const gasUse = BASE_SWAP_COST.add(COST_PER_EXTRA_HOP.mul(hops - 1));
|
|
114
113
|
const totalGasCostWei = gasPriceWei.mul(gasUse);
|
|
115
|
-
const weth =
|
|
114
|
+
const weth = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
116
115
|
const gasCostInEth = CurrencyAmount.fromRawAmount(weth, totalGasCostWei.toString());
|
|
117
116
|
return { gasCostInEth, gasUse };
|
|
118
117
|
}
|
|
119
118
|
async getEthPool(chainId, token, poolProvider) {
|
|
120
|
-
const weth =
|
|
119
|
+
const weth = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
121
120
|
const poolAccessor = await poolProvider.getPools([[weth, token]]);
|
|
122
121
|
const pool = poolAccessor.getPool(weth, token);
|
|
123
122
|
if (!pool || pool.reserve0.equalTo(0) || pool.reserve1.equalTo(0)) {
|
|
@@ -138,7 +137,7 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
138
137
|
}
|
|
139
138
|
const usdPools = _.map(usdTokens, (usdToken) => [
|
|
140
139
|
usdToken,
|
|
141
|
-
|
|
140
|
+
WRAPPED_NATIVE_CURRENCY[chainId],
|
|
142
141
|
]);
|
|
143
142
|
const poolAccessor = await poolProvider.getPools(usdPools);
|
|
144
143
|
const poolsRaw = poolAccessor.getAllPools();
|
|
@@ -148,7 +147,7 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
148
147
|
throw new Error(`Can't find USD/WETH pool for computing gas costs.`);
|
|
149
148
|
}
|
|
150
149
|
const maxPool = _.maxBy(pools, (pool) => {
|
|
151
|
-
if (pool.token0.equals(
|
|
150
|
+
if (pool.token0.equals(WRAPPED_NATIVE_CURRENCY[chainId])) {
|
|
152
151
|
return parseFloat(pool.reserve0.toSignificant(2));
|
|
153
152
|
}
|
|
154
153
|
else {
|
|
@@ -158,4 +157,4 @@ export class V2HeuristicGasModelFactory extends IV2GasModelFactory {
|
|
|
158
157
|
return maxPool;
|
|
159
158
|
}
|
|
160
159
|
}
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjItaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL3YyL3YyLWhldXJpc3RpYy1nYXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUd2QixPQUFPLEVBQVcsR0FBRyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFHTCxrQkFBa0IsRUFDbEIsbUJBQW1CLEdBQ3BCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLHdEQUF3RDtBQUN4RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztBQUVuRyx1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRDQUE0QztBQUVyRzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sT0FBTywwQkFBMkIsU0FBUSxrQkFBa0I7SUFDaEU7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQ3pCLE9BQU8sRUFDUCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssR0FDc0I7UUFDM0IsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBRSxDQUFDLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQVMsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQ3pELE9BQU8sRUFDUCxZQUFZLENBQ2IsQ0FB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import { ChainId } from '
|
|
2
|
+
import { ChainId } from '../../../..';
|
|
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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import { ChainId } from '
|
|
2
|
+
import { ChainId } from '../../../..';
|
|
3
3
|
// Cost for crossing an uninitialized tick.
|
|
4
4
|
export const COST_PER_UNINIT_TICK = BigNumber.from(0);
|
|
5
5
|
//l2 execution fee on optimism is roughly the same as mainnet
|
|
@@ -9,8 +9,8 @@ export const BASE_SWAP_COST = (id) => {
|
|
|
9
9
|
// case ChainId.BSC:
|
|
10
10
|
// return BigNumber.from(2000);
|
|
11
11
|
case ChainId.XDC:
|
|
12
|
-
case ChainId.
|
|
13
|
-
return BigNumber.from(
|
|
12
|
+
case ChainId.XDC_APOTHEM:
|
|
13
|
+
return BigNumber.from(2000);
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
16
|
export const COST_PER_INIT_TICK = (id) => {
|
|
@@ -20,8 +20,8 @@ export const COST_PER_INIT_TICK = (id) => {
|
|
|
20
20
|
// case ChainId.POLYGON:
|
|
21
21
|
// return BigNumber.from(31000);
|
|
22
22
|
case ChainId.XDC:
|
|
23
|
-
case ChainId.
|
|
24
|
-
return BigNumber.from(
|
|
23
|
+
case ChainId.XDC_APOTHEM:
|
|
24
|
+
return BigNumber.from(31000);
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
export const COST_PER_HOP = (id) => {
|
|
@@ -30,8 +30,8 @@ export const COST_PER_HOP = (id) => {
|
|
|
30
30
|
// case ChainId.BSC:
|
|
31
31
|
// return BigNumber.from(80000);
|
|
32
32
|
case ChainId.XDC:
|
|
33
|
-
case ChainId.
|
|
34
|
-
return BigNumber.from(
|
|
33
|
+
case ChainId.XDC_APOTHEM:
|
|
34
|
+
return BigNumber.from(80000);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzLWNvc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL2dhcy1tb2RlbHMvdjMvZ2FzLWNvc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDLDJDQUEyQztBQUMzQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXRELDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUFXLEVBQWEsRUFBRTtJQUN2RCxRQUFRLEVBQUUsRUFBRTtRQUNWLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsaUNBQWlDO1FBQ2pDLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNqQixLQUFLLE9BQU8sQ0FBQyxXQUFXO1lBQ3RCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUMvQjtBQUNILENBQUMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsRUFBVyxFQUFhLEVBQUU7SUFDM0QsUUFBUSxFQUFFLEVBQUU7UUFDVix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixrQ0FBa0M7UUFDbEMsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ2pCLEtBQUssT0FBTyxDQUFDLFdBQVc7WUFDdEIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2hDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBVyxFQUFhLEVBQUU7SUFDckQsUUFBUSxFQUFFLEVBQUU7UUFDVix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLGtDQUFrQztRQUNsQyxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDakIsS0FBSyxPQUFPLENBQUMsV0FBVztZQUN0QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEM7QUFDSCxDQUFDLENBQUMifQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BigNumber } from '@ethersproject/bignumber';
|
|
2
|
-
import { Price
|
|
2
|
+
import { Price } from '@x-swap-protocol/sdk-core';
|
|
3
3
|
import _ from 'lodash';
|
|
4
|
+
import { WRAPPED_NATIVE_CURRENCY } from '../../../..';
|
|
4
5
|
import { CurrencyAmount } from '../../../../util/amounts';
|
|
5
6
|
import { getHighestLiquidityV3NativePool, getHighestLiquidityV3USDPool, } from '../../../../util/gas-factory-helpers';
|
|
6
7
|
import { log } from '../../../../util/log';
|
|
@@ -34,7 +35,7 @@ export class V3HeuristicGasModelFactory extends IOnChainGasModelFactory {
|
|
|
34
35
|
let l1Used = BigNumber.from(0);
|
|
35
36
|
let l1FeeInWei = BigNumber.from(0);
|
|
36
37
|
// wrap fee to native currency
|
|
37
|
-
const nativeCurrency =
|
|
38
|
+
const nativeCurrency = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
38
39
|
const costNativeCurrency = CurrencyAmount.fromRawAmount(nativeCurrency, l1FeeInWei.toString());
|
|
39
40
|
// convert fee into usd
|
|
40
41
|
const nativeTokenPrice = usdPool.token0.address == nativeCurrency.address
|
|
@@ -67,7 +68,7 @@ export class V3HeuristicGasModelFactory extends IOnChainGasModelFactory {
|
|
|
67
68
|
// If our quote token is WETH, we don't need to convert our gas use to be in terms
|
|
68
69
|
// of the quote token in order to produce a gas adjusted amount.
|
|
69
70
|
// We do return a gas use in USD however, so we still convert to usd.
|
|
70
|
-
const nativeCurrency =
|
|
71
|
+
const nativeCurrency = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
71
72
|
if (quoteToken.equals(nativeCurrency)) {
|
|
72
73
|
const estimateGasCost = (routeWithValidQuote) => {
|
|
73
74
|
const { totalGasCostNativeCurrency, baseGasUse } = this.estimateGas(routeWithValidQuote, gasPriceWei, chainId);
|
|
@@ -203,7 +204,7 @@ export class V3HeuristicGasModelFactory extends IOnChainGasModelFactory {
|
|
|
203
204
|
.add(tickGasUse)
|
|
204
205
|
.add(uninitializedTickGasUse);
|
|
205
206
|
const baseGasCostWei = gasPriceWei.mul(baseGasUse);
|
|
206
|
-
const wrappedCurrency =
|
|
207
|
+
const wrappedCurrency = WRAPPED_NATIVE_CURRENCY[chainId];
|
|
207
208
|
const totalGasCostNativeCurrency = CurrencyAmount.fromRawAmount(wrappedCurrency, baseGasCostWei.toString());
|
|
208
209
|
return {
|
|
209
210
|
totalGasCostNativeCurrency,
|
|
@@ -212,4 +213,4 @@ export class V3HeuristicGasModelFactory extends IOnChainGasModelFactory {
|
|
|
212
213
|
};
|
|
213
214
|
}
|
|
214
215
|
}
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjMtaGV1cmlzdGljLWdhcy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9yb3V0ZXJzL2FscGhhLXJvdXRlci9nYXMtbW9kZWxzL3YzL3YzLWhldXJpc3RpYy1nYXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVsRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLDRCQUE0QixHQUM3QixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzQyxPQUFPLEVBR0wsdUJBQXVCLEdBQ3hCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixvQkFBb0IsR0FDckIsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtJQUNyRTtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFDekIsT0FBTyxFQUNQLFdBQVcsRUFDWCxjQUFjLEVBQUUsWUFBWSxFQUM1QixXQUFXLEVBQ1gsVUFBVSxHQUVtQjtRQUM3QixNQUFNLE9BQU8sR0FBUyxNQUFNLDRCQUE0QixDQUN0RCxPQUFPLEVBQ1AsWUFBWSxDQUNiLENBQUM7UUFFRixNQUFNLGtCQUFrQixHQUFHLEtBQUssSUFJN0IsRUFB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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
|
*
|
|
@@ -8,10 +8,9 @@ import { log, poolToString } from '../../../util';
|
|
|
8
8
|
* @template Route
|
|
9
9
|
*/
|
|
10
10
|
export class BaseQuoter {
|
|
11
|
-
constructor(tokenProvider, chainId,
|
|
11
|
+
constructor(tokenProvider, chainId, blockedTokenListProvider, tokenValidatorProvider) {
|
|
12
12
|
this.tokenProvider = tokenProvider;
|
|
13
13
|
this.chainId = chainId;
|
|
14
|
-
this.protocol = protocol;
|
|
15
14
|
this.blockedTokenListProvider = blockedTokenListProvider;
|
|
16
15
|
this.tokenValidatorProvider = tokenValidatorProvider;
|
|
17
16
|
}
|
|
@@ -53,4 +52,4 @@ export class BaseQuoter {
|
|
|
53
52
|
return poolsFiltered;
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1xdW90ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcm91dGVycy9hbHBoYS1yb3V0ZXIvcXVvdGVycy9iYXNlLXF1b3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFRdkIsT0FBTyxFQUEyQixHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNFOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQU05QixZQUNFLGFBQTZCLEVBQzdCLE9BQWdCLEVBQ2hCLHdCQUE2QyxFQUM3QyxzQkFBZ0Q7UUFFaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO1FBQ3pELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztJQUN2RCxDQUFDO0lBOENEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLG1CQUFtQixDQUN4QixPQUFjLEVBQ2QsUUFBZSxFQUNmLE9BQXlCLEVBQ3pCLFFBQWtCLEVBQ2xCLFVBQWlCLEVBQ2pCLFNBQW9CLEVBQ3BCLGFBQWdDLEVBQ2hDLFFBQXlDLEVBQ3pDLFdBQXVCO1FBRXZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQ3JFLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQ25CLFlBQVksQ0FBQyxNQUFNLEVBQ25CLE9BQU8sRUFDUCxRQUFRLEVBQ1IsVUFBVSxFQUNWLFNBQVMsRUFDVCxhQUFhLEVBQ2IsWUFBWSxDQUFDLGNBQWMsRUFDM0IsUUFBUSxFQUNSLFdBQVcsQ0FDWixDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLDBCQUEwQixDQUN4QyxLQUFVLEVBQ1YsV0FHWTtRQUVaLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDaEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsOEJBQThCLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDO1FBRTdELE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxzQkFBc0IsR0FDMUIsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBTyxFQUFFLEVBQUU7WUFDaEQsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDbEUsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDbEUsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1lBRUYsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNqRSxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWpFLElBQUksYUFBYSxJQUFJLGFBQWEsRUFBRTtnQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FDTixpQkFBaUIsWUFBWSxDQUFDLElBQUksQ0FBQyw4QkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUNkLEtBQUssZ0JBQWdCLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssZ0JBQWdCLEVBQUUsQ0FDcEUsQ0FBQzthQUNIO1lBRUQsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiJ9
|
|
@@ -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
|
}
|