UNPKG

@bluefin-exchange/bluefin7k-aggregator-sdk

Version:
20 lines (19 loc) 699 B
import { ProtocolContract } from "./protocols"; export async function swapWithRoute({ route, inputCoinObject, currentAccount, config, pythMap, tx, }) { let inputTokenObject = inputCoinObject; let txbResultToReturn; for (const swap of route) { const ContractClass = ProtocolContract[swap.pool.type]; const contractInstance = new ContractClass({ swapInfo: swap, inputCoinObject: inputTokenObject, currentAccount, config, pythMap, }); const tokenOut = await contractInstance.swap(tx); inputTokenObject = tokenOut; txbResultToReturn = tokenOut; } return txbResultToReturn; }