@marinade.finance/kamino-sdk
Version:
19 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getResetRangeFromPriceAndDiffBPS = exports.getPriceRangeFromPriceAndDiffBPS = void 0;
const CreationParameters_1 = require("../utils/CreationParameters");
function getPriceRangeFromPriceAndDiffBPS(price, lowerDiffBPS, upperDiffBPS) {
let lowerPrice = price.mul(CreationParameters_1.FullBPSDecimal.sub(lowerDiffBPS)).div(CreationParameters_1.FullBPSDecimal);
let upperPrice = price.mul(CreationParameters_1.FullBPSDecimal.add(upperDiffBPS)).div(CreationParameters_1.FullBPSDecimal);
return { lowerPrice, upperPrice };
}
exports.getPriceRangeFromPriceAndDiffBPS = getPriceRangeFromPriceAndDiffBPS;
function getResetRangeFromPriceAndDiffBPS(price, lowerDiffBPS, upperDiffBPS, resetLowerDiffBPS, resetUpperDiffBPS) {
let resetLowerFactor = resetLowerDiffBPS.mul(lowerDiffBPS).div(CreationParameters_1.FullBPSDecimal);
let resetUpperFactor = resetUpperDiffBPS.mul(upperDiffBPS).div(CreationParameters_1.FullBPSDecimal);
let resetLowerPrice = price.mul(CreationParameters_1.FullBPSDecimal.sub(resetLowerFactor)).div(CreationParameters_1.FullBPSDecimal);
let resetUpperPrice = price.mul(CreationParameters_1.FullBPSDecimal.add(resetUpperFactor)).div(CreationParameters_1.FullBPSDecimal);
return { lowerPrice: resetLowerPrice, upperPrice: resetUpperPrice };
}
exports.getResetRangeFromPriceAndDiffBPS = getResetRangeFromPriceAndDiffBPS;
//# sourceMappingURL=math_utils.js.map