butterjs-sdk
Version:
Butter Network SDK
62 lines (61 loc) • 2.52 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.assembleBridgeRoute = exports.getRouterIndexByChainIdAndDexName = exports.ID_TO_ROUTER_MAP = void 0;
const constants_1 = require("../constants");
const ID_TO_ROUTER_MAP = (id) => {
switch (id) {
case constants_1.ChainId.MAP_MAINNET:
return new Map([]);
case constants_1.ChainId.BSC_MAINNET:
return new Map([]);
case constants_1.ChainId.POLYGON_MAINNET:
return new Map([]);
case constants_1.ChainId.NEAR_MAINNET:
return new Map([]);
case constants_1.ChainId.MAP_TEST:
return new Map([]);
case constants_1.ChainId.ETH_GOERLI:
return new Map([['UniswapV2', 0]]);
case constants_1.ChainId.NEAR_TESTNET:
return new Map([]);
case constants_1.ChainId.BSC_TEST:
return new Map([['Pancakeswap', 0]]);
case constants_1.ChainId.POLYGON_TEST:
return new Map([['Quickswap', 0]]);
default:
throw new Error(`ID_TO_ROUTER_MAP: unknown chain id : ${id}`);
}
};
exports.ID_TO_ROUTER_MAP = ID_TO_ROUTER_MAP;
function getRouterIndexByChainIdAndDexName(chainId, dexName) {
return (0, exports.ID_TO_ROUTER_MAP)(chainId).get(dexName);
}
exports.getRouterIndexByChainIdAndDexName = getRouterIndexByChainIdAndDexName;
function assembleBridgeRoute(routeStr) {
let route = JSON.parse(routeStr);
const mapChainFirstRoute = route.mapChain[route.mapChain.length - 1];
const mapChainLastRoute = route.mapChain[0];
const mapChainTokenIn = mapChainFirstRoute.tokenIn;
const mapChainTokenOut = mapChainLastRoute.tokenOut;
let bridgeInfo = {};
if (route.srcChain != undefined) {
const srcChainLastRoute = route.srcChain[route.srcChain.length - 1];
let srcChainTokenOut = srcChainLastRoute.tokenOut;
bridgeInfo.bridgeIn = {
tokenIn: srcChainTokenOut,
tokenOut: mapChainTokenIn,
amount: srcChainLastRoute.amountOut,
};
}
if (route.targetChain != undefined) {
const targetChainFirstRoute = route.targetChain[0];
let targetChainTokenIn = targetChainFirstRoute.tokenIn;
bridgeInfo.bridgeOut = {
tokenIn: mapChainTokenOut,
tokenOut: targetChainTokenIn,
amount: targetChainFirstRoute.amountIn,
};
}
return JSON.stringify(bridgeInfo);
}
exports.assembleBridgeRoute = assembleBridgeRoute;
;