UNPKG

butterjs-sdk

Version:
62 lines (61 loc) 2.52 kB
"use strict"; 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;