UNPKG

@frakt-protocol/frakt-sdk

Version:

Frakt SDK for interacting with frakt.xyz protocols

100 lines (99 loc) 5.14 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodedLoan = exports.decodedDeposit = exports.decodedLiquidityPool = exports.decodedCollectionInfo = void 0; const anchor = __importStar(require("@project-serum/anchor")); function decodedCollectionInfo(decodedCollection, address) { return { collectionInfoPubkey: address.toBase58(), creator: decodedCollection.creator.toBase58(), liquidityPool: decodedCollection.liquidityPool.toBase58(), pricingLookupAddress: decodedCollection.pricingLookupAddress.toBase58(), royaltyAddress: decodedCollection.royaltyAddress.toBase58(), royaltyFeeTime: decodedCollection.royaltyFeeTime.toNumber(), royaltyFeePrice: decodedCollection.royaltyFeePrice.toNumber(), loanToValue: decodedCollection.loanToValue.toNumber(), collaterizationRate: decodedCollection.collaterizationRate.toNumber(), availableLoanTypes: Object.keys(decodedCollection.availableLoanTypes)[0], expirationTime: decodedCollection.expirationTime.toNumber() }; } exports.decodedCollectionInfo = decodedCollectionInfo; function decodedLiquidityPool(decodedLiquidityPool, address) { return { liquidityPoolPubkey: address.toBase58(), id: decodedLiquidityPool.id.toNumber(), rewardInterestRateTime: decodedLiquidityPool.rewardInterestRateTime.toNumber(), feeInterestRateTime: decodedLiquidityPool.feeInterestRateTime.toNumber(), rewardInterestRatePrice: decodedLiquidityPool.rewardInterestRatePrice.toNumber(), feeInterestRatePrice: decodedLiquidityPool.feeInterestRatePrice.toNumber(), liquidityAmount: decodedLiquidityPool.liquidityAmount.toNumber(), liqOwner: decodedLiquidityPool.liqOwner.toBase58(), amountOfStaked: decodedLiquidityPool.amountOfStaked.toNumber(), userRewardsAmount: decodedLiquidityPool.userRewardsAmount.toNumber(), apr: decodedLiquidityPool.apr.toNumber(), cumulative: decodedLiquidityPool.cumulative.toNumber(), lastTime: decodedLiquidityPool.lastTime.toNumber(), oldCumulative: decodedLiquidityPool.oldCumulative.toNumber(), period: decodedLiquidityPool.period.toNumber(), }; } exports.decodedLiquidityPool = decodedLiquidityPool; function decodedDeposit(decodedDeposit, address) { return { depositPubkey: address.toBase58(), liquidityPool: decodedDeposit.liquidityPool.toBase58(), user: decodedDeposit.user.toBase58(), amount: decodedDeposit.amount.toNumber(), stakedAt: decodedDeposit.stakedAt.toNumber(), stakedAtCumulative: decodedDeposit.stakedAtCumulative.toNumber(), }; } exports.decodedDeposit = decodedDeposit; function decodedLoan(decodedLoan, address) { return { loanPubkey: address.toBase58(), user: decodedLoan.user.toBase58(), nftMint: decodedLoan.nftMint.toBase58(), nftUserTokenAccount: decodedLoan.nftUserTokenAccount.toBase58(), liquidityPool: decodedLoan.liquidityPool.toBase58(), collectionInfo: decodedLoan.collectionInfo.toBase58(), startedAt: decodedLoan.startedAt.toNumber(), expiredAt: new anchor.BN(decodedLoan.expiredAt || 0).toNumber(), finishedAt: decodedLoan.finishedAt.toNumber(), originalPrice: decodedLoan.originalPrice.toNumber(), amountToGet: decodedLoan.amountToGet.toNumber(), // amountToReturn: decodedLoan.amountToReturn.toNumber(), rewardAmount: decodedLoan.rewardAmount.toNumber(), feeAmount: decodedLoan.feeAmount.toNumber(), royaltyAmount: decodedLoan.royaltyAmount.toNumber(), rewardInterestRate: new anchor.BN(decodedLoan.rewardInterestRate || 0).toNumber(), feeInterestRate: new anchor.BN(decodedLoan.feeInterestRate || 0).toNumber(), royaltyInterestRate: new anchor.BN(decodedLoan.royaltyInterestRate || 0).toNumber(), loanStatus: Object.keys(decodedLoan.loanStatus)[0], loanType: Object.keys(decodedLoan.loanType)[0], }; } exports.decodedLoan = decodedLoan;