/// /// import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; import { FixableBeetStruct, COption, BeetStruct } from '@metaplex-foundation/beet'; export declare enum LendOfferStatus { Created = 0, Canceling = 1, Canceled = 2, Loaned = 3 } export declare enum LoanOfferStatus { Matched = 0, FundTransferred = 1, Repay = 2, BorrowerPaid = 3, Liquidating = 4, Liquidated = 5, Finished = 6 } export type LendOfferAccount = { accountDiscriminator: number[]; interest: number; lenderFeePercent: number; duration: BigNumber; offerIdsLength: number[]; offerId: number[]; lender: PublicKey; lendMintToken: PublicKey; amount: BigNumber; bump: number; status: LendOfferStatus; }; export declare const lendOfferAccountStruct: BeetStruct>; export type LoanOfferAccount = { accountDiscriminator: number[]; tierId: number[]; lendOfferId: number[]; interest: number; borrowAmount: BigNumber; lenderFeePercent: number; duration: BigNumber; lendMintToken: PublicKey; lender: PublicKey; offerId: number[]; borrower: PublicKey; collateralMintToken: PublicKey; collateralAmount: BigNumber; requestWithdrawAmount: COption; status: LoanOfferStatus; borrowerFeePercent: number; startedAt: BigNumber; liquidatingAt: COption; liquidatingPrice: COption; liquidatedTx: COption; liquidatedPrice: COption; bump: number; }; export declare const loanOfferAccountStruct: FixableBeetStruct>; export type UserPosition = { accountDiscriminator: number[]; bump: number; protocol_position: PublicKey; owner: PublicKey; liquidity: BigNumber; fee_growth_inside_0: BigNumber; fee_growth_inside_1: BigNumber; token_fee_owed_0: BigNumber; token_fee_owed_1: BigNumber; token_fee_claimed_0: BigNumber; token_fee_claimed_1: BigNumber; version: BigNumber; padding: BigNumber[]; }; export declare const userPositionStruct: BeetStruct>; export type PositionRewardInfo = { reward_growth_inside: BigNumber; reward_amount_owed: BigNumber; reward_vault: PublicKey | null; }; export declare const positionRewardInfoStruct: BeetStruct>; export declare enum ProtocolPositionStatus { Active = 0, ReBalancing = 1, ReOpened = 2 } export type ProtocolPosition = { accountDiscriminator: number[]; bump: number; system_config: PublicKey; position_mint: PublicKey; pool_address: PublicKey; tick_lower_index: number; tick_upper_index: number; liquidity: BigNumber; fee_growth_inside_0: BigNumber; fee_growth_inside_1: BigNumber; amount_0_reserve: BigNumber; amount_1_reserve: BigNumber; token_vault_0: PublicKey; token_vault_1: PublicKey; reward_infos: PositionRewardInfo[]; recent_epoch: BigNumber; authority_position: PublicKey; status: ProtocolPositionStatus; version: BigNumber; old_liquidity: BigNumber; padding: BigNumber[]; }; export declare const protocolPositionStruct: BeetStruct>; export type ProtocolPositionState = { accountDiscriminator: number[]; bump: number; pool_id: PublicKey; tick_lower_index: number; tick_upper_index: number; liquidity: BigNumber; fee_growth_inside_0_last_x64: BigNumber; fee_growth_inside_1_last_x64: BigNumber; token_fees_owed_0: BigNumber; token_fees_owed_1: BigNumber; reward_growth_inside: BigNumber[]; padding: BigNumber[]; }; export declare const protocolPositionStateStruct: BeetStruct>; export type BigFractionBytes = { value0: BigNumber; value1: BigNumber; value2: BigNumber; value3: BigNumber; padding: BigNumber; padding1: BigNumber; }; type LastUpdate = { slot: BigNumber; stale: number; price_status: number; padding: number[]; }; type ObligationCollateral = { reserve_storage: PublicKey; deposited_amount: BigNumber; market_value_sf: BigNumber; }; type ObligationLiquidity = { reserve_storage: PublicKey; cumulative_borrow_rate_bsf: BigFractionBytes; borrowed_amount_sf: BigNumber; market_value_sf: BigNumber; borrow_factor_adjusted_market_value_sf: BigNumber; }; export type ObligationFlex = { accountDiscriminator: number[]; version: number; owner: PublicKey; lowest_reserve_deposit_liquidation_ltv: BigNumber; total_deposited_value_sf: BigNumber; deposits: ObligationCollateral[]; padding_1: ObligationCollateral[]; borrow_factor_adjusted_debt_value_sf: BigNumber; borrowed_assets_market_value_sf: BigNumber; highest_borrow_factor_pct: BigNumber; allowed_borrow_value_sf: BigNumber; unhealthy_borrow_value_sf: BigNumber; borrows: ObligationLiquidity[]; padding_2: ObligationLiquidity[]; deposit_asset_tier: number[]; padding_3: number[]; borrow_asset_tier: number[]; padding_4: number[]; num_of_obsolete_reserves: number; has_debt: number; last_update: LastUpdate; locking: number; liquidating_asset_position: number; }; export declare const obligationFlexStruct: FixableBeetStruct>; type ReserveLiquidity = { token_mint: PublicKey; supply_vault: PublicKey; fee_vault: PublicKey; available_amount: BigNumber; borrowed_amount_sf: BigNumber; market_price_sf: BigNumber; market_price_last_updated_ts: BigNumber; mint_decimals: number; deposit_limit_crossed_ts: BigNumber; borrow_limit_crossed_ts: BigNumber; cumulative_borrow_rate_bsf: BigFractionBytes; accumulated_protocol_fees_sf: BigNumber; token_program: PublicKey; }; type ReserveCollateral = { token_mint: PublicKey; mint_total_supply: BigNumber; supply_vault: PublicKey; }; export type Reserve = { accountDiscriminator: number[]; version: number; padding: number[]; liquidity: ReserveLiquidity; collateral: ReserveCollateral; }; export declare const reserveStruct: FixableBeetStruct>; export {};