/// /// /// import { BeetStruct } from '@metaplex-foundation/beet'; import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; interface Rate { lastUpdated: number; lastValue: BigNumber; align0: number[]; lastEmaHourUpdated: number; emaHourly: BigNumber; align1: number[]; lastEmaDayUpdated: number; ema3d: number; ema7d: number; ema14d: number; ema30d: number; ema90d: number; ema180d: number; ema365d: number; } export declare const vaultEarnBeet: BeetStruct>; export interface VaultEarn { discriminator: number[]; isInitialized: boolean; version: number; bump: number; align0: number[]; protocol: PublicKey; earnStats: PublicKey; creator: PublicKey; authority: PublicKey; earnConfig: PublicKey; vaultLiquidity: PublicKey; priceOracle: PublicKey; priceFeed: number[]; tokenProgram: PublicKey; tokenMint: PublicKey; tokenDecimal: number; align1: number[]; lastUpdated: BigNumber; unitSupply: string; unitBorrowed: string; unitLent: string; unitLeverage: string; index: BigNumber; lastIndexUpdated: number; apy: Rate; padding1: Buffer[]; } export declare const earnLenderBeet: BeetStruct>; export interface EarnLender { discriminator: number[]; is_initialized: boolean; version: number; bump: number; align: number[]; owner: PublicKey; protocol: PublicKey; vault: PublicKey; last_updated: BigNumber; pending_deposit_amount: BigNumber; pending_deposit_unit: BigNumber; pending_deposit_index: BigNumber; pending_withdraw_amount: BigNumber; pending_withdraw_unit: BigNumber; pending_withdraw_index: BigNumber; unit: BigNumber; index: BigNumber; padding1: BigNumber[]; } export declare const vaultLeverageBeet: BeetStruct>; export interface VaultLeverage { discriminator: number[]; isInitialized: boolean; version: number; bump: number; align0: number[]; protocol: PublicKey; leverageStats: PublicKey; creator: PublicKey; authority: PublicKey; leverageConfig: PublicKey; borrowVault: PublicKey; tokenCollateralPriceOracle: PublicKey; tokenCollateralPriceFeed: number[]; tokenCollateralTokenProgram: PublicKey; tokenCollateralTokenMint: PublicKey; tokenCollateralVaultLiquidity: PublicKey; tokenCollateralTokenDecimal: number; align1: number[]; nativeCollateralPriceOracle: PublicKey; nativeCollateralPriceFeed: number[]; nativeCollateralTokenProgram: PublicKey; nativeCollateralTokenMint: PublicKey; nativeCollateralVaultLiquidity: PublicKey; nativeCollateralTokenDecimal: number; align2: number[]; lastUpdated: BigNumber; borrowingUnitSupply: number; borrowingIndex: number; unitSupply: number; index: number; lastIndexUpdated: BigNumber; borrowingApy: Rate; apy: Rate; padding1: BigNumber[]; } export declare enum LeverageAction { Idle = 0, Open = 1, AddCollateral = 2, AddPosition = 3, Close = 4, Safe = 5, Eject = 6, Liquidate = 7, Deleverage = 8, TakeProfit = 9 } export declare const leveragePositionStateBeet: BeetStruct>; export interface LeveragePositionState { action: LeverageAction; align01: number[]; token_collateral_price_oracle: PublicKey; token_collateral_price_feed: number[]; token_collateral_price: BigNumber; token_collateral_price_exponent: BigNumber; align0: number[]; native_collateral_price_oracle: PublicKey; native_collateral_price_feed: number[]; native_collateral_price: BigNumber; native_collateral_price_exponent: BigNumber; protocol_fee: BigNumber; leverage_fee: BigNumber; deleverage_fee: BigNumber; closing_fee: BigNumber; spread_rate: BigNumber; liquidation_fee: BigNumber; liquidation_threshold: BigNumber; liquidation_protocol_ratio: BigNumber; slippage_rate: BigNumber; emergency_eject_period: BigNumber; saver_threshold: BigNumber; saver_target_reduction: BigNumber; fund_amount: BigNumber; leverage_fee_amount: BigNumber; borrow_amount: BigNumber; borrowing_fee_amount: BigNumber; borrowing_unit: BigNumber; borrowing_index: BigNumber; leveraged_amount: BigNumber; min_native_collateral_output: BigNumber; release_amount: BigNumber; release_unit: BigNumber; release_index: BigNumber; release_rate: BigNumber; align1: number[]; repay_amount: BigNumber; repay_unit: BigNumber; repay_index: BigNumber; release_min_output: BigNumber; release_current_leverage: BigNumber; release_target_leverage: BigNumber; utilization_rate: BigNumber; align2: number[]; protocol_fee_factor: BigNumber; protocol_fee_amount: BigNumber; repay_borrow_amount: BigNumber; liquidation_fee_amount: BigNumber; health_factor: BigNumber; borrow_fee: BigNumber; padding1: BigNumber[]; } export declare const leveragePositionBeet: BeetStruct>; export interface LeveragePosition { owner: PublicKey; id: PublicKey; tag_id: number[]; number: number; align0: number[]; open_at: BigNumber; last_updated: BigNumber; emergency_eject: boolean; safety_mode: boolean; safety_level: number; align1: number[]; token_collateral_amount: BigNumber; token_to_native_ratio: BigNumber; borrowing_unit: BigNumber; avg_borrowing_index: BigNumber; unit: BigNumber; avg_index: BigNumber; state: LeveragePositionState; token_collateral_price_oracle: PublicKey; token_collateral_price_feed: number[]; token_collateral_price: BigNumber; token_collateral_price_exponent: number; align2: number[]; native_collateral_price_oracle: PublicKey; native_collateral_price_feed: number[]; native_collateral_price: BigNumber; native_collateral_price_exponent: BigNumber; profit_taker: boolean; align3: number[]; profit_target_rate: BigNumber; profit_taking_rate: BigNumber; padding1: BigNumber[]; } export declare const leverageObligationBeet: BeetStruct>; export interface LeverageObligation { discriminator: number[]; is_initialized: boolean; version: number; bump: number; align: number[]; owner: PublicKey; protocol: PublicKey; vault: PublicKey; borrow_vault: PublicKey; last_updated: BigNumber; positions: LeveragePosition[]; padding1: BigNumber[]; } export {};