@bluefin-exchange/bluefin7k-aggregator-sdk
Version:
23 lines (22 loc) • 816 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.swapWithRoute = swapWithRoute;
const protocols_1 = require("./protocols");
async function swapWithRoute({ route, inputCoinObject, currentAccount, config, pythMap, tx, }) {
let inputTokenObject = inputCoinObject;
let txbResultToReturn;
for (const swap of route) {
const ContractClass = protocols_1.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;
}
;