quickswap-smart-order-router
Version:
QuickSwap Smart Order Router
89 lines • 5.81 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ETH_GAS_STATION_API_URL = exports.DEFAULT_ROUTING_CONFIG_BY_CHAIN = void 0;
const chains_1 = require("../../util/chains");
const DEFAULT_ROUTING_CONFIG_BY_CHAIN = (chainId) => {
switch (chainId) {
// Optimism
case chains_1.ChainId.OPTIMISM:
case chains_1.ChainId.OPTIMISTIC_KOVAN:
return {
v2PoolSelection: {
topN: 3,
topNDirectSwaps: 1,
topNTokenInOut: 5,
topNSecondHop: 2,
topNWithEachBaseToken: 2,
topNWithBaseToken: 6,
},
v3PoolSelection: {
topN: 2,
topNDirectSwaps: 2,
topNTokenInOut: 2,
topNSecondHop: 1,
topNWithEachBaseToken: 3,
topNWithBaseToken: 3,
},
maxSwapsPerPath: 3,
minSplits: 1,
maxSplits: 7,
distributionPercent: 10,
forceCrossProtocol: false,
};
// Arbitrum calls have lower gas limits and tend to timeout more, which causes us to reduce the multicall
// batch size and send more multicalls per quote. To reduce the amount of requests each quote sends, we
// have to adjust the routing config so we explore fewer routes.
case chains_1.ChainId.ARBITRUM_ONE:
case chains_1.ChainId.ARBITRUM_RINKEBY:
return {
v2PoolSelection: {
topN: 3,
topNDirectSwaps: 1,
topNTokenInOut: 5,
topNSecondHop: 2,
topNWithEachBaseToken: 2,
topNWithBaseToken: 6,
},
v3PoolSelection: {
topN: 2,
topNDirectSwaps: 2,
topNTokenInOut: 2,
topNSecondHop: 1,
topNWithEachBaseToken: 3,
topNWithBaseToken: 2,
},
maxSwapsPerPath: 2,
minSplits: 1,
maxSplits: 7,
distributionPercent: 25,
forceCrossProtocol: false,
};
default:
return {
v2PoolSelection: {
topN: 3,
topNDirectSwaps: 1,
topNTokenInOut: 5,
topNSecondHop: 2,
topNWithEachBaseToken: 2,
topNWithBaseToken: 6,
},
v3PoolSelection: {
topN: 2,
topNDirectSwaps: 2,
topNTokenInOut: 3,
topNSecondHop: 1,
topNWithEachBaseToken: 3,
topNWithBaseToken: 5,
},
maxSwapsPerPath: 3,
minSplits: 1,
maxSplits: 7,
distributionPercent: 5,
forceCrossProtocol: false,
};
}
};
exports.DEFAULT_ROUTING_CONFIG_BY_CHAIN = DEFAULT_ROUTING_CONFIG_BY_CHAIN;
exports.ETH_GAS_STATION_API_URL = 'https://ethgasstation.info/api/ethgasAPI.json';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3JvdXRlcnMvYWxwaGEtcm91dGVyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBNEM7QUFHckMsTUFBTSwrQkFBK0IsR0FBRyxDQUM3QyxPQUFnQixFQUNHLEVBQUU7SUFDckIsUUFBUSxPQUFPLEVBQUU7UUFDZixXQUFXO1FBQ1gsS0FBSyxnQkFBTyxDQUFDLFFBQVEsQ0FBQztRQUN0QixLQUFLLGdCQUFPLENBQUMsZ0JBQWdCO1lBQzNCLE9BQU87Z0JBQ0wsZUFBZSxFQUFFO29CQUNmLElBQUksRUFBRSxDQUFDO29CQUNQLGVBQWUsRUFBRSxDQUFDO29CQUNsQixjQUFjLEVBQUUsQ0FBQztvQkFDakIsYUFBYSxFQUFFLENBQUM7b0JBQ2hCLHFCQUFxQixFQUFFLENBQUM7b0JBQ3hCLGlCQUFpQixFQUFFLENBQUM7aUJBQ3JCO2dCQUNELGVBQWUsRUFBRTtvQkFDZixJQUFJLEVBQUUsQ0FBQztvQkFDUCxlQUFlLEVBQUUsQ0FBQztvQkFDbEIsY0FBYyxFQUFFLENBQUM7b0JBQ2pCLGFBQWEsRUFBRSxDQUFDO29CQUNoQixxQkFBcUIsRUFBRSxDQUFDO29CQUN4QixpQkFBaUIsRUFBRSxDQUFDO2lCQUNyQjtnQkFDRCxlQUFlLEVBQUUsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxFQUFFLENBQUM7Z0JBQ1osbUJBQW1CLEVBQUUsRUFBRTtnQkFDdkIsa0JBQWtCLEVBQUUsS0FBSzthQUMxQixDQUFDO1FBQ0oseUdBQXlHO1FBQ3pHLHVHQUF1RztRQUN2RyxnRUFBZ0U7UUFDaEUsS0FBSyxnQkFBTyxDQUFDLFlBQVksQ0FBQztRQUMxQixLQUFLLGdCQUFPLENBQUMsZ0JBQWdCO1lBQzNCLE9BQU87Z0JBQ0wsZUFBZSxFQUFFO29CQUNmLElBQUksRUFBRSxDQUFDO29CQUNQLGVBQWUsRUFBRSxDQUFDO29CQUNsQixjQUFjLEVBQUUsQ0FBQztvQkFDakIsYUFBYSxFQUFFLENBQUM7b0JBQ2hCLHFCQUFxQixFQUFFLENBQUM7b0JBQ3hCLGlCQUFpQixFQUFFLENBQUM7aUJBQ3JCO2dCQUNELGVBQWUsRUFBRTtvQkFDZixJQUFJLEVBQUUsQ0FBQztvQkFDUCxlQUFlLEVBQUUsQ0FBQztvQkFDbEIsY0FBYyxFQUFFLENBQUM7b0JBQ2pCLGFBQWEsRUFBRSxDQUFDO29CQUNoQixxQkFBcUIsRUFBRSxDQUFDO29CQUN4QixpQkFBaUIsRUFBRSxDQUFDO2lCQUNyQjtnQkFDRCxlQUFlLEVBQUUsQ0FBQztnQkFDbEIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxFQUFFLENBQUM7Z0JBQ1osbUJBQW1CLEVBQUUsRUFBRTtnQkFDdkIsa0JBQWtCLEVBQUUsS0FBSzthQUMxQixDQUFDO1FBQ0o7WUFDRSxPQUFPO2dCQUNMLGVBQWUsRUFBRTtvQkFDZixJQUFJLEVBQUUsQ0FBQztvQkFDUCxlQUFlLEVBQUUsQ0FBQztvQkFDbEIsY0FBYyxFQUFFLENBQUM7b0JBQ2pCLGFBQWEsRUFBRSxDQUFDO29CQUNoQixxQkFBcUIsRUFBRSxDQUFDO29CQUN4QixpQkFBaUIsRUFBRSxDQUFDO2lCQUNyQjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2YsSUFBSSxFQUFFLENBQUM7b0JBQ1AsZUFBZSxFQUFFLENBQUM7b0JBQ2xCLGNBQWMsRUFBRSxDQUFDO29CQUNqQixhQUFhLEVBQUUsQ0FBQztvQkFDaEIscUJBQXFCLEVBQUUsQ0FBQztvQkFDeEIsaUJBQWlCLEVBQUUsQ0FBQztpQkFDckI7Z0JBQ0QsZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFNBQVMsRUFBRSxDQUFDO2dCQUNaLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLGtCQUFrQixFQUFFLEtBQUs7YUFDMUIsQ0FBQztLQUNMO0FBQ0gsQ0FBQyxDQUFDO0FBbkZXLFFBQUEsK0JBQStCLG1DQW1GMUM7QUFDVyxRQUFBLHVCQUF1QixHQUNsQywrQ0FBK0MsQ0FBQyJ9