@maxosllc/smart-order-router
Version:
BlockDAG Smart Order Router
122 lines • 13.8 kB
JavaScript
"use strict";
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 chains_1 = require("../../../src/util/chains");
const token_provider_1 = require("../../providers/token-provider");
const chains_2 = require("../../util/chains");
const BASES_TO_CHECK_TRADES_AGAINST = (_tokenProvider) => {
return {
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.MAINNET],
token_provider_1.DAI_MAINNET,
token_provider_1.USDC_MAINNET,
token_provider_1.USDT_MAINNET,
token_provider_1.WBTC_MAINNET,
],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.GOERLI]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.SEPOLIA]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.OPTIMISM]],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.OPTIMISM_GOERLI],
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.OPTIMISM_SEPOLIA],
],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ARBITRUM_ONE]],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ARBITRUM_GOERLI],
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ARBITRUM_SEPOLIA],
],
[]: [token_provider_1.WMATIC_POLYGON],
[]: [token_provider_1.WMATIC_POLYGON_MUMBAI],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.CELO]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.CELO_ALFAJORES]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.GNOSIS]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.MOONBEAM]],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.BNB],
token_provider_1.BUSD_BNB,
token_provider_1.DAI_BNB,
token_provider_1.USDC_BNB,
token_provider_1.USDT_BNB,
token_provider_1.BTC_BNB,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.AVALANCHE],
token_provider_1.USDC_AVAX,
token_provider_1.DAI_AVAX,
],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.BASE], token_provider_1.USDC_BASE],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.BASE_GOERLI]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ZORA]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ZORA_SEPOLIA]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ROOTSTOCK]],
[]: [chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.BLAST], token_provider_1.USDB_BLAST],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.ZKSYNC],
token_provider_1.USDCE_ZKSYNC,
token_provider_1.USDC_ZKSYNC,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.WORLDCHAIN],
token_provider_1.USDC_WORLDCHAIN,
token_provider_1.WLD_WORLDCHAIN,
token_provider_1.WBTC_WORLDCHAIN,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.UNICHAIN_SEPOLIA],
token_provider_1.USDC_UNICHAIN_SEPOLIA,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.UNICHAIN],
token_provider_1.DAI_UNICHAIN,
token_provider_1.USDC_UNICHAIN,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.MONAD_TESTNET],
token_provider_1.USDT_MONAD_TESTNET,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.BASE_SEPOLIA],
token_provider_1.USDC_BASE_SEPOLIA,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.SONEIUM],
token_provider_1.USDC_SONEIUM,
],
[]: [
chains_2.WRAPPED_NATIVE_CURRENCY[chains_1.ChainId.BLOCKDAG_TESTNET],
token_provider_1.USDT_BLOCKDAG_TESTNET,
],
};
};
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 {
[]: [toToken],
};
};
const ADDITIONAL_BASES = async (tokenProvider) => {
return {
[]: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0xA948E86885e12Fb09AfEF8C52142EBDbDf73cD18', '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0x561a4717537ff4AF5c687328c0f7E90a319705C0', '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0x956F47F50A910163D8BF957Cf5846D573E7f87CA', '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0xc7283b66Eb1EB5FB86327f08e1B5816b0720212B', '0x956F47F50A910163D8BF957Cf5846D573E7f87CA'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0x853d955acef822db058eb8505911ed77f175b99e', '0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0', '0x853d955acef822db058eb8505911ed77f175b99e'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d'))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '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 (tokenProvider) => {
return {
[]: Object.assign(Object.assign({}, (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0xd46ba6d942050d489dbd938a2c909a5d5039a161', token_provider_1.DAI_MAINNET.address))), (await getBasePairByAddress(tokenProvider, chains_1.ChainId.MAINNET, '0xd46ba6d942050d489dbd938a2c909a5d5039a161', chains_2.WRAPPED_NATIVE_CURRENCY[1].address))),
};
};
exports.CUSTOM_BASES = CUSTOM_BASES;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcm91dGVycy9sZWdhY3ktcm91dGVyL2Jhc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUE2RDtBQUM3RCxxREFBbUQ7QUFHbkQsbUVBNkJ3QztBQUN4Qyw4Q0FBNEQ7QUFNckQsTUFBTSw2QkFBNkIsR0FBRyxDQUMzQyxjQUE4QixFQUNkLEVBQUU7SUFDbEIsT0FBTztRQUNMLENBQUMsZ0JBQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQixnQ0FBdUIsQ0FBQyxnQkFBTyxDQUFDLE9BQU8sQ0FBRTtZQUN6Qyw0QkFBVztZQUNYLDZCQUFZO1lBQ1osNkJBQVk7WUFDWiw2QkFBWTtTQUNiO1FBQ0QsQ0FBQyxnQkFBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0NBQXVCLENBQUMsZ0JBQU8sQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUM1RCxDQUFDLGdCQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxnQ0FBdUIsQ0FBQyxnQkFBTyxDQUFDLE9BQU8sQ0FBRSxDQUFDO1FBQzlELENBQUMsZ0JBQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGdDQUF1QixDQUFDLGdCQUFPLENBQUMsUUFBUSxDQUFFLENBQUM7UUFDaEUsQ0FBQyxnQkFBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pCLGdDQUF1QixDQUFDLGdCQUFPLENBQUMsZUFBZSxDQUFFO1NBQ2xEO1FBQ0QsQ0FBQyxnQkFBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDMUIsZ0NBQXVCLENBQUMsZ0JBQU8sQ0FBQyxnQkFBZ0IsQ0FBRTtTQUNuRDtRQUNELENBQUMsZ0JBQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLGdDQUF1QixDQUFDLGdCQUFPLENBQUMsWUFBWSxDQUFFLENBQUM7UUFDeEUsQ0FBQyxnQkFBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1lBQ3pCLGdDQUF1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