@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
57 lines • 2.93 kB
TypeScript
import { PublicKey, Connection } from "@solana/web3.js";
import BN from "bn.js";
import * as types from "../types";
import { Obligation, ObligationFields } from '../accounts';
/** Lending market obligation state */
export declare class ObligationZP {
/** Version of the struct */
readonly tag: BN;
/** Last update to collateral, liquidity, or their market values */
readonly lastUpdate: types.LastUpdate;
/** Lending market address */
readonly lendingMarket: PublicKey;
/** Owner authority which can borrow liquidity */
readonly owner: PublicKey;
/**
* TODO: Does this break the stack size when copied onto the stack, if too big?
* Deposited collateral for the obligation, unique by deposit reserve address
*/
readonly deposits: Array<types.ObligationCollateral>;
/** Worst LTV for the collaterals backing the loan, represented as a percentage */
readonly lowestReserveDepositLiquidationLtv: BN;
/** Market value of deposits (scaled fraction) */
readonly depositedValueSf: BN;
/** Borrowed liquidity for the obligation, unique by borrow reserve address */
readonly borrows: Array<types.ObligationLiquidity>;
/** Risk adjusted market value of borrows/debt (sum of price * borrowed_amount * borrow_factor) (scaled fraction) */
readonly borrowFactorAdjustedDebtValueSf: BN;
/** Market value of borrows - used for max_liquidatable_borrowed_amount (scaled fraction) */
readonly borrowedAssetsMarketValueSf: BN;
/** The maximum borrow value at the weighted average loan to value ratio (scaled fraction) */
readonly allowedBorrowValueSf: BN;
/** The dangerous borrow value at the weighted average liquidation threshold (scaled fraction) */
readonly unhealthyBorrowValueSf: BN;
/** The asset tier of the deposits */
readonly depositsAssetTiers: Array<number>;
/** The asset tier of the borrows */
readonly borrowsAssetTiers: Array<number>;
/** The elevation group id the obligation opted into. */
readonly elevationGroup: number;
/** The number of deprecated reserves the obligation has a deposit */
readonly numOfObsoleteReserves: number;
/** Marked = 1 if borrows array is not empty, 0 = borrows empty */
readonly hasDebt: number;
/** Wallet address of the referrer */
readonly referrer: PublicKey;
/** Marked = 1 if borrowing disabled, 0 = borrowing enabled */
readonly borrowingDisabled: number;
reserved: Array<BN>;
highestBorrowFactorPct: BN;
padding3: Array<BN>;
static readonly layout: any;
constructor(fields: ObligationFields);
static fetch(c: Connection, address: PublicKey, programId?: PublicKey): Promise<Obligation | null>;
static fetchMultiple(c: Connection, addresses: PublicKey[], programId?: PublicKey): Promise<Array<Obligation | null>>;
static decode(data: Buffer): Obligation;
}
//# sourceMappingURL=ObligationZP.d.ts.map