strategy-vaults 0.0.1

Farm Vaults
Documentation
use crate::*;

/// Event called in [strategies::create_vault].
#[event]
pub struct VaultCreateEvent {
    /// The address of the [Vault]
    pub vault: Pubkey,
    /// The addresss of the manager that created the vault
    pub manager: Pubkey,
}

/// Event called in [instructions::raydium_stake_lp_compound::add_liquidity_and_stake]
#[event]
pub struct VaultStakeEvent {
    /// The address of the [Vault]
    pub vault: Pubkey,
    /// The amount of lp tokens to invest
    pub amount: u64,
}

/// Event called in [instructions::raydium_stake_lp_compound::add_liquidity_and_stake]
#[event]
pub struct VaultAddLiquidityEvent {
    /// The address of the [Vault]
    pub vault: Pubkey,
    /// The amount to invest of token a
    pub token_a_amount: u64,
    /// The amount to invest of token b
    pub token_b_amount: u64,
}

/// Event called in [instructions::raydium_stake_lp_compound::remove_liquidity]
#[event]
pub struct VaultRemoveLiquidityEvent {
    /// The address of the [Vault]
    pub vault: Pubkey,
    /// The amount of LP tokens you are divesting.
    pub amount: u64,
}
/// Event called in [instructions::raydium_stake_lp_compound::unlock_liquidity]
#[event]
pub struct VaultUnlockLiquiditEvent {
    /// The address of the [Vault]
    pub vault: Pubkey,
    /// The amount of LP tokens you are divesting.
    pub amount: u64,
}
/// Event called in [instructions::raydium_stake_lp_compound::create_user_info]
#[event]
pub struct UserInfoCreateEvent {
    // The address of the [Vault]
    pub vault: Pubkey,
    // The user's account
    pub user_account: Pubkey,
}