@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
18 lines • 1.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPriceRangeFromPriceAndDiffBPS = getPriceRangeFromPriceAndDiffBPS;
exports.getResetRangeFromPriceAndDiffBPS = getResetRangeFromPriceAndDiffBPS;
const CreationParameters_1 = require("../utils/CreationParameters");
function getPriceRangeFromPriceAndDiffBPS(price, lowerDiffBPS, upperDiffBPS) {
const lowerPrice = price.mul(CreationParameters_1.FullBPSDecimal.sub(lowerDiffBPS)).div(CreationParameters_1.FullBPSDecimal);
const upperPrice = price.mul(CreationParameters_1.FullBPSDecimal.add(upperDiffBPS)).div(CreationParameters_1.FullBPSDecimal);
return { lowerPrice, upperPrice };
}
function getResetRangeFromPriceAndDiffBPS(price, lowerDiffBPS, upperDiffBPS, resetLowerDiffBPS, resetUpperDiffBPS) {
const resetLowerFactor = resetLowerDiffBPS.mul(lowerDiffBPS).div(CreationParameters_1.FullBPSDecimal);
const resetUpperFactor = resetUpperDiffBPS.mul(upperDiffBPS).div(CreationParameters_1.FullBPSDecimal);
const resetLowerPrice = price.mul(CreationParameters_1.FullBPSDecimal.sub(resetLowerFactor)).div(CreationParameters_1.FullBPSDecimal);
const resetUpperPrice = price.mul(CreationParameters_1.FullBPSDecimal.add(resetUpperFactor)).div(CreationParameters_1.FullBPSDecimal);
return { lowerPrice: resetLowerPrice, upperPrice: resetUpperPrice };
}
//# sourceMappingURL=math_utils.js.map
;