UNPKG

@kamino-finance/kliquidity-sdk

Version:

Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol

18 lines 1.4 kB
"use strict"; 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