@frakt-protocol/frakt-sdk
Version:
Frakt SDK for interacting with frakt.xyz protocols
71 lines (70 loc) • 2.12 kB
TypeScript
import { PublicKey } from '@solana/web3.js';
export interface AllAccounts {
collectionInfos: CollectionInfoView[];
deposits: DepositView[];
liquidityPools: LiquidityPoolView[];
loans: LoanView[];
}
export interface CollectionInfoView {
collectionInfoPubkey: string;
creator: string;
liquidityPool: string;
pricingLookupAddress: string;
royaltyAddress: string;
royaltyFeeTime: number;
royaltyFeePrice: number;
loanToValue: number;
collaterizationRate: number;
availableLoanTypes: string;
expirationTime: number;
}
export declare function decodedCollectionInfo(decodedCollection: any, address: PublicKey): CollectionInfoView;
export interface LiquidityPoolView {
liquidityPoolPubkey: string;
id: number;
rewardInterestRateTime: number;
feeInterestRateTime: number;
rewardInterestRatePrice: number;
feeInterestRatePrice: number;
liquidityAmount: number;
liqOwner: string;
amountOfStaked: number;
userRewardsAmount: number;
apr: number;
cumulative: number;
lastTime: number;
oldCumulative: number;
period: number;
}
export declare function decodedLiquidityPool(decodedLiquidityPool: any, address: PublicKey): LiquidityPoolView;
export interface DepositView {
depositPubkey: string;
liquidityPool: string;
user: string;
amount: number;
stakedAt: number;
stakedAtCumulative: number;
}
export declare function decodedDeposit(decodedDeposit: any, address: PublicKey): DepositView;
export interface LoanView {
loanPubkey: string;
user: string;
nftMint: string;
nftUserTokenAccount: string;
liquidityPool: string;
collectionInfo: string;
startedAt: number;
expiredAt: number;
finishedAt: number;
originalPrice: number;
amountToGet: number;
rewardAmount: number;
feeAmount: number;
royaltyAmount: number;
rewardInterestRate: number;
feeInterestRate: number;
royaltyInterestRate: number;
loanStatus: string;
loanType: string;
}
export declare function decodedLoan(decodedLoan: any, address: PublicKey): LoanView;