fbonds-core
Version:
Banx protocol sdk
26 lines (25 loc) • 982 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertToSimpleOfferV2 = convertToSimpleOfferV2;
const anchor_1 = require("@coral-xyz/anchor");
const lodash_1 = require("lodash");
/**
* Assume that offer doesn't have a curve!
*/
function convertToSimpleOfferV2(offer) {
const { publicKey, currentSpotPrice, fundsSolOrTokenBalance, bidSettlement, validation, loanApr, assetReceiver, offerLtvBp, liquidationLtvBp, } = offer;
const maxTokenToGet = anchor_1.BN.min(currentSpotPrice, fundsSolOrTokenBalance.add(bidSettlement));
if (maxTokenToGet.isZero()) {
return null;
}
return {
id: (0, lodash_1.uniqueId)(),
publicKey: publicKey,
maxTokenToGet: anchor_1.BN.min(currentSpotPrice, fundsSolOrTokenBalance.add(bidSettlement)),
collateralsPerToken: validation.collateralsPerToken,
apr: loanApr,
lender: assetReceiver,
offerLtvBp,
liquidationLtvBp,
};
}