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