UNPKG

@kamino-finance/klend-sdk

Version:

Typescript SDK for interacting with the Kamino Lending (klend) protocol

57 lines 2.93 kB
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