1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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,
}