UNPKG

@kamino-finance/klend-sdk

Version:

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

114 lines 5.23 kB
import { Address } from "@solana/kit"; import BN from "bn.js"; import * as types from "../types"; export interface ObligationLiquidityFields { /** Reserve liquidity is borrowed from */ borrowReserve: Address; /** Borrow rate used for calculating interest (big scaled fraction) */ cumulativeBorrowRateBsf: types.BigFractionBytesFields; /** * The timestamp at which this debt was taken. * More specifically: when the *first* borrow operation from this reserve happened. * This means that: * - adding debt of the same reserve does *not* change this timestamp, * - repaying the entire debt of this reserve *does* reset this timestamp. * * Note: this field is *not* only metadata: it is used in the logic, e.g. for enforcing the * fixed-term borrows (i.e. those induced by [ReserveConfig::debt_term_seconds]). */ firstBorrowedAtTimestamp: BN; /** Amount of liquidity borrowed plus interest (scaled fraction) */ borrowedAmountSf: BN; /** Liquidity market value in quote currency (scaled fraction) */ marketValueSf: BN; /** Risk adjusted liquidity market value in quote currency - DEBUG ONLY - use market_value instead */ borrowFactorAdjustedMarketValueSf: BN; /** Amount of liquidity borrowed outside of an elevation group */ borrowedAmountOutsideElevationGroups: BN; padding2: Array<BN>; } export interface ObligationLiquidityJSON { /** Reserve liquidity is borrowed from */ borrowReserve: string; /** Borrow rate used for calculating interest (big scaled fraction) */ cumulativeBorrowRateBsf: types.BigFractionBytesJSON; /** * The timestamp at which this debt was taken. * More specifically: when the *first* borrow operation from this reserve happened. * This means that: * - adding debt of the same reserve does *not* change this timestamp, * - repaying the entire debt of this reserve *does* reset this timestamp. * * Note: this field is *not* only metadata: it is used in the logic, e.g. for enforcing the * fixed-term borrows (i.e. those induced by [ReserveConfig::debt_term_seconds]). */ firstBorrowedAtTimestamp: string; /** Amount of liquidity borrowed plus interest (scaled fraction) */ borrowedAmountSf: string; /** Liquidity market value in quote currency (scaled fraction) */ marketValueSf: string; /** Risk adjusted liquidity market value in quote currency - DEBUG ONLY - use market_value instead */ borrowFactorAdjustedMarketValueSf: string; /** Amount of liquidity borrowed outside of an elevation group */ borrowedAmountOutsideElevationGroups: string; padding2: Array<string>; } /** Obligation liquidity state */ export declare class ObligationLiquidity { /** Reserve liquidity is borrowed from */ readonly borrowReserve: Address; /** Borrow rate used for calculating interest (big scaled fraction) */ readonly cumulativeBorrowRateBsf: types.BigFractionBytes; /** * The timestamp at which this debt was taken. * More specifically: when the *first* borrow operation from this reserve happened. * This means that: * - adding debt of the same reserve does *not* change this timestamp, * - repaying the entire debt of this reserve *does* reset this timestamp. * * Note: this field is *not* only metadata: it is used in the logic, e.g. for enforcing the * fixed-term borrows (i.e. those induced by [ReserveConfig::debt_term_seconds]). */ readonly firstBorrowedAtTimestamp: BN; /** Amount of liquidity borrowed plus interest (scaled fraction) */ readonly borrowedAmountSf: BN; /** Liquidity market value in quote currency (scaled fraction) */ readonly marketValueSf: BN; /** Risk adjusted liquidity market value in quote currency - DEBUG ONLY - use market_value instead */ readonly borrowFactorAdjustedMarketValueSf: BN; /** Amount of liquidity borrowed outside of an elevation group */ readonly borrowedAmountOutsideElevationGroups: BN; readonly padding2: Array<BN>; constructor(fields: ObligationLiquidityFields); static layout(property?: string): import("buffer-layout").Layout<unknown>; static fromDecoded(obj: any): types.ObligationLiquidity; static toEncodable(fields: ObligationLiquidityFields): { borrowReserve: Address; cumulativeBorrowRateBsf: { value: BN[]; padding: BN[]; }; firstBorrowedAtTimestamp: BN; borrowedAmountSf: BN; marketValueSf: BN; borrowFactorAdjustedMarketValueSf: BN; borrowedAmountOutsideElevationGroups: BN; padding2: BN[]; }; toJSON(): ObligationLiquidityJSON; static fromJSON(obj: ObligationLiquidityJSON): ObligationLiquidity; toEncodable(): { borrowReserve: Address; cumulativeBorrowRateBsf: { value: BN[]; padding: BN[]; }; firstBorrowedAtTimestamp: BN; borrowedAmountSf: BN; marketValueSf: BN; borrowFactorAdjustedMarketValueSf: BN; borrowedAmountOutsideElevationGroups: BN; padding2: BN[]; }; } //# sourceMappingURL=ObligationLiquidity.d.ts.map