@bluefin-exchange/bluefin7k-aggregator-sdk
Version:
20 lines (19 loc) • 699 B
JavaScript
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;
}