@xspswap/smart-order-router
Version:
XSwap Protocol V3 Smart Order Router
58 lines • 4.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CUSTOM_BASES = exports.ADDITIONAL_BASES = exports.BASES_TO_CHECK_TRADES_AGAINST = void 0;
const token_provider_1 = require("../../providers/token-provider");
const chains_1 = require("../../util/chains");
const BASES_TO_CHECK_TRADES_AGAINST = (_tokenProvider) => {
return {
[chains_1.ChainId.XDC]: [chains_1.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.XDC], token_provider_1.USDT_XDC],
[chains_1.ChainId.XDC_APOTHEM]: [
chains_1.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.XDC_APOTHEM],
token_provider_1.DAI_XDC_APOTHEM,
token_provider_1.USDC_XDC_APOTHEM,
token_provider_1.USDT_XDC_APOTHEM,
],
};
};
exports.BASES_TO_CHECK_TRADES_AGAINST = BASES_TO_CHECK_TRADES_AGAINST;
const getBasePairByAddress = async (tokenProvider, _chainId, fromAddress, toAddress) => {
const accessor = await tokenProvider.getTokens([toAddress]);
const toToken = accessor.getTokenByAddress(toAddress);
if (!toToken)
return {};
return {
[fromAddress]: [toToken],
};
};
const ADDITIONAL_BASES = async (tokenProvider) => {
return {
[chains_1.ChainId.XDC_APOTHEM]: Object.assign({}, (await getBasePairByAddress(tokenProvider, chains_1.ChainId.XDC_APOTHEM, '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d', '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599'))),
};
};
exports.ADDITIONAL_BASES = ADDITIONAL_BASES;
/**
* Some tokens can only be swapped via certain pairs, so we override the list of bases that are considered for these
* tokens.
*/
const CUSTOM_BASES = async (
// @ts-ignore
tokenProvider) => {
return {
// [ChainId.MAINNET]: {
// ...(await getBasePairByAddress(
// tokenProvider,
// ChainId.MAINNET,
// '0xd46ba6d942050d489dbd938a2c909a5d5039a161',
// DAI_MAINNET.address
// )),
// ...(await getBasePairByAddress(
// tokenProvider,
// ChainId.MAINNET,
// '0xd46ba6d942050d489dbd938a2c909a5d5039a161',
// WRAPPED_NATIVE_CURRENCY[1]!.address
// )),
// },
};
};
exports.CUSTOM_BASES = CUSTOM_BASES;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVycy9sZWdhY3ktcm91dGVyL2Jhc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLG1FQU13QztBQUN4Qyw4Q0FBcUU7QUFNOUQsTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxjQUE4QixFQUNkLEVBQUU7SUFDbEIsT0FBTztRQUNMLENBQUMsZ0JBQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGdDQUF1QixDQUFDLGdCQUFPLENBQUMsR0FBRyxDQUFFLEVBQUUseUJBQVEsQ0FBQztRQUNoRSxDQUFDLGdCQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDckIsZ0NBQXVCLENBQUMsZ0JBQU8sQ0FBQyxXQUFXLENBQUU7WUFDN0MsZ0NBQWU7WUFDZixpQ0FBZ0I7WUFDaEIsaUNBQWdCO1NBQ2pCO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVpXLFFBQUEsNkJBQTZCLGlDQVl4QztBQUVGLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUNoQyxhQUE2QixFQUM3QixRQUFpQixFQUNqQixXQUFtQixFQUNuQixTQUFpQixFQUM2QixFQUFFO0lBQ2hELE1BQU0sUUFBUSxHQUFHLE1BQU0sYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsTUFBTSxPQUFPLEdBQXNCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV6RSxJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBRXhCLE9BQU87UUFDTCxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ3pCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFSyxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFDbkMsYUFBNkIsRUFHNUIsRUFBRTtJQUNILE9BQU87UUFDTCxDQUFDLGdCQUFPLENBQUMsV0FBVyxDQUFDLG9CQUNoQixDQUFDLE1BQU0sb0JBQW9CLENBQzVCLGFBQWEsRUFDYixnQkFBTyxDQUFDLFdBQVcsRUFDbkIsNENBQTRDLEVBQzVDLDRDQUE0QyxDQUM3QyxDQUFDLENBQ0g7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBZlcsUUFBQSxnQkFBZ0Isb0JBZTNCO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSztBQUMvQixhQUFhO0FBQ2IsYUFBNkIsRUFHNUIsRUFBRTtJQUNILE9BQU87SUFDTCx1QkFBdUI7SUFDdkIsb0NBQW9DO0lBQ3BDLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsb0RBQW9EO0lBQ3BELDBCQUEwQjtJQUMxQixRQUFRO0lBQ1Isb0NBQW9DO0lBQ3BDLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsb0RBQW9EO0lBQ3BELDBDQUEwQztJQUMxQyxRQUFRO0lBQ1IsS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUM7QUF0QlcsUUFBQSxZQUFZLGdCQXNCdkIifQ==