@xspswap/smart-order-router
Version:
XSwap Protocol V3 Smart Order Router
59 lines • 4.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CUSTOM_BASES = exports.ADDITIONAL_BASES = exports.BASES_TO_CHECK_TRADES_AGAINST = void 0;
/* eslint-disable @typescript-eslint/no-non-null-assertion */
const sdk_core_1 = require("@x-swap-protocol/sdk-core");
const token_provider_1 = require("../../providers/token-provider");
const BASES_TO_CHECK_TRADES_AGAINST = (_tokenProvider) => {
return {
[sdk_core_1.ChainId.XDC]: [sdk_core_1.WETH9[sdk_core_1.ChainId.XDC], token_provider_1.USDT_XDC, token_provider_1.USDC_XDC],
[sdk_core_1.ChainId.APOTHEM]: [
sdk_core_1.WETH9[sdk_core_1.ChainId.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 {
[sdk_core_1.ChainId.APOTHEM]: Object.assign({}, (await getBasePairByAddress(tokenProvider, sdk_core_1.ChainId.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVycy9sZWdhY3ktcm91dGVyL2Jhc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUE2RDtBQUM3RCx3REFBa0U7QUFFbEUsbUVBT3dDO0FBTWpDLE1BQU0sNkJBQTZCLEdBQUcsQ0FDM0MsY0FBOEIsRUFDZCxFQUFFO0lBQ2xCLE9BQU87UUFDTCxDQUFDLGtCQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxnQkFBSyxDQUFDLGtCQUFPLENBQUMsR0FBRyxDQUFFLEVBQUUseUJBQVEsRUFBRSx5QkFBUSxDQUFDO1FBQ3hELENBQUMsa0JBQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQixnQkFBSyxDQUFDLGtCQUFPLENBQUMsT0FBTyxDQUFFO1lBQ3ZCLGdDQUFlO1lBQ2YsaUNBQWdCO1lBQ2hCLGlDQUFnQjtTQUNqQjtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFaVyxRQUFBLDZCQUE2QixpQ0FZeEM7QUFFRixNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFDaEMsYUFBNkIsRUFDN0IsUUFBaUIsRUFDakIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDNkIsRUFBRTtJQUNoRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sT0FBTyxHQUFzQixRQUFRLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFekUsSUFBSSxDQUFDLE9BQU87UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUV4QixPQUFPO1FBQ0wsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztLQUN6QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUssTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQ25DLGFBQTZCLEVBRzVCLEVBQUU7SUFDSCxPQUFPO1FBQ0wsQ0FBQyxrQkFBTyxDQUFDLE9BQU8sQ0FBQyxvQkFDWixDQUFDLE1BQU0sb0JBQW9CLENBQzVCLGFBQWEsRUFDYixrQkFBTyxDQUFDLE9BQU8sRUFDZiw0Q0FBNEMsRUFDNUMsNENBQTRDLENBQzdDLENBQUMsQ0FDSDtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFmVyxRQUFBLGdCQUFnQixvQkFlM0I7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLFlBQVksR0FBRyxLQUFLO0FBQy9CLGFBQWE7QUFDYixhQUE2QixFQUc1QixFQUFFO0lBQ0gsT0FBTztJQUNMLHVCQUF1QjtJQUN2QixvQ0FBb0M7SUFDcEMscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixvREFBb0Q7SUFDcEQsMEJBQTBCO0lBQzFCLFFBQVE7SUFDUixvQ0FBb0M7SUFDcEMscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2QixvREFBb0Q7SUFDcEQsMENBQTBDO0lBQzFDLFFBQVE7SUFDUixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUMsQ0FBQztBQXRCVyxRQUFBLFlBQVksZ0JBc0J2QiJ9