@kamino-finance/klend-sdk
Version:
Typescript SDK for interacting with the Kamino Lending (klend) protocol
114 lines • 5.23 kB
TypeScript
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