@frakt-protocol/frakt-sdk
Version:
Frakt SDK for interacting with frakt.xyz protocols
31 lines (30 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOutputAmount = void 0;
const raydium_sdk_1 = require("@raydium-io/raydium-sdk");
const getOutputAmount = ({ poolKeys, poolInfo, payToken, payAmount, receiveToken, slippage = new raydium_sdk_1.Percent(1, 100), }) => {
try {
const amountIn = new raydium_sdk_1.TokenAmount(new raydium_sdk_1.Token(payToken.address, payToken.decimals, payToken.symbol, payToken.name), payAmount, false);
const { amountOut, minAmountOut, priceImpact } = raydium_sdk_1.Liquidity.computeAmountOut({
poolKeys,
poolInfo,
amountIn,
currencyOut: receiveToken,
slippage,
});
return {
amountOut: amountOut.toSignificant(),
minAmountOut: minAmountOut.toSignificant(),
priceImpact: priceImpact.toSignificant(),
};
}
catch (err) {
console.error(err);
}
return {
amountOut: '',
minAmountOut: '',
priceImpact: '',
};
};
exports.getOutputAmount = getOutputAmount;