/// /// import { AccountInfo, PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { Parser } from '../util'; import { LastUpdate } from './lastUpdate'; export interface Reserve { version: number; lastUpdate: LastUpdate; lendingMarket: PublicKey; liquidity: ReserveLiquidity; collateral: ReserveCollateral; config: ReserveConfig; } export interface ReserveLiquidity { mintPubkey: PublicKey; mintDecimals: number; supplyPubkey: PublicKey; feeReceiver: PublicKey; oraclePubkey: PublicKey; availableAmount: bigint; borrowedAmountWads: BigNumber; cumulativeBorrowRateWads: BigNumber; marketPrice: BigNumber; } export interface ReserveCollateral { mintPubkey: PublicKey; mintTotalSupply: bigint; supplyPubkey: PublicKey; } export interface ReserveConfig { optimalUtilizationRate: number; loanToValueRatio: number; liquidationBonus: number; liquidationThreshold: number; minBorrowRate: number; optimalBorrowRate: number; maxBorrowRate: number; fees: ReserveFees; depositLimit: bigint; borrowLimit: bigint; feeReceiver: PublicKey; } export interface ReserveFees { borrowFeeWad: bigint; flashLoanFeeWad: bigint; hostFeePercentage: number; } /** @internal */ export declare const ReserveLiquidityLayout: import("buffer-layout").Layout; /** @internal */ export declare const ReserveCollateralLayout: import("buffer-layout").Layout; /** @internal */ export declare const ReserveFeesLayout: import("buffer-layout").Layout; /** @internal */ export declare const ReserveConfigLayout: import("buffer-layout").Layout; /** @internal */ export declare const ReserveLayout: import("buffer-layout").Layout; export declare const RESERVE_SIZE: number; export declare const isReserve: (info: AccountInfo) => boolean; export declare const parseReserve: Parser;