#![doc = include_str!("../README.md")]
#![doc = include_str!("../examples/deposit_lending.rs")]
#![doc = include_str!("../examples/deposit_borrowing.rs")]
#![doc = include_str!("../examples/borrow.rs")]
#![doc = include_str!("../examples/repay.rs")]
#![doc = include_str!("../examples/withdraw_obligation.rs")]
#![doc = include_str!("../examples/redeem_ctokens.rs")]
#![doc = include_str!("../examples/flash_loan.rs")]
#![doc = include_str!("../examples/market_data.rs")]
#![doc = include_str!("../examples/user_position.rs")]
#![doc = include_str!("../docs/cpi_deposit_and_borrow.rs")]
pub mod discriminators;
pub mod errors;
pub mod fraction;
pub mod helpers;
pub mod instructions;
pub mod pda;
pub mod state;
pub mod types;
pub mod util;
pub use errors::LendingError;
pub use fraction::{Fraction, FRACTION_ONE_SCALED};
pub use helpers::{
CallbackAccounts, FarmsAccounts, ObligationContext, ObligationContextError, ObligationInfo,
ReserveInfo,
};
use solana_pubkey::{pubkey, Pubkey};
pub use state::{from_account_data, AccountDataError};
pub const MAX_AMOUNT: u64 = u64::MAX;
pub const KLEND_PROGRAM_ID: Pubkey = pubkey!("KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD");
pub const KLEND_STAGING_PROGRAM_ID: Pubkey = pubkey!("SLendK7ySfcEzyaFqy93gDnD3RtrpXJcnRwb6zFHJSh");
pub const FARMS_PROGRAM_ID: Pubkey = pubkey!("FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr");
pub const KVAULT_PROGRAM_ID: Pubkey = pubkey!("KvauGMspG5k6rtzrqqn7WNn3oZdyKqLKwK2XWQ8FLjd");
pub const TOKEN_PROGRAM_ID: Pubkey = pubkey!("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA");
pub const ASSOCIATED_TOKEN_PROGRAM_ID: Pubkey =
pubkey!("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
pub const SYSTEM_PROGRAM_ID: Pubkey = pubkey!("11111111111111111111111111111111");
pub const SYSVAR_RENT_ID: Pubkey = pubkey!("SysvarRent111111111111111111111111111111111");
pub const SYSVAR_INSTRUCTIONS_ID: Pubkey = pubkey!("Sysvar1nstructions1111111111111111111111111");