pub struct RemoveLiquidity<'info> {
Show 28 fields pub vault: Box<Account<'info, Vault>>, pub user_account: Signer<'info>, pub user_info_account: Box<Account<'info, UserInfo>>, pub token_a_funding_account: Box<Account<'info, TokenAccount>>, pub token_b_funding_account: Box<Account<'info, TokenAccount>>, pub pool_coin_token_account: Box<Account<'info, TokenAccount>>, pub pool_pc_token_account: Box<Account<'info, TokenAccount>>, pub amm: Box<Account<'info, AmmInfoV4>>, pub pool_withdraw_queue: AccountInfo<'info>, pub pool_temp_lp_token_account: Box<Account<'info, TokenAccount>>, pub lp_mint: Box<Account<'info, Mint>>, pub amm_authority: AccountInfo<'info>, pub amm_open_orders: AccountInfo<'info>, pub amm_target: AccountInfo<'info>, pub serum_market: AccountInfo<'info>, pub serum_coin_vault_account: AccountInfo<'info>, pub serum_pc_vault_account: AccountInfo<'info>, pub serum_vault_signer: AccountInfo<'info>, pub serum_bids: AccountInfo<'info>, pub serum_asks: AccountInfo<'info>, pub serum_event_queue: AccountInfo<'info>, pub pool_lp_custody_account: Box<Account<'info, TokenAccount>>, pub pool_token_a_custody_account: Box<Account<'info, TokenAccount>>, pub pool_token_b_custody_account: Box<Account<'info, TokenAccount>>, pub pool_program: AccountInfo<'info>, pub serum_program_id: AccountInfo<'info>, pub spl_token_program: Program<'info, Token>, pub system_program: Program<'info, System>,
}

Fields

vault: Box<Account<'info, Vault>>user_account: Signer<'info>user_info_account: Box<Account<'info, UserInfo>>token_a_funding_account: Box<Account<'info, TokenAccount>>token_b_funding_account: Box<Account<'info, TokenAccount>>pool_coin_token_account: Box<Account<'info, TokenAccount>>

also known as token a

pool_pc_token_account: Box<Account<'info, TokenAccount>>

also known as token b

amm: Box<Account<'info, AmmInfoV4>>pool_withdraw_queue: AccountInfo<'info>

CHECK: Raydium verifies

pool_temp_lp_token_account: Box<Account<'info, TokenAccount>>lp_mint: Box<Account<'info, Mint>>

AMM Metadata

amm_authority: AccountInfo<'info>

CHECK: Raydium verifies

amm_open_orders: AccountInfo<'info>

CHECK: Raydium verifies

amm_target: AccountInfo<'info>

CHECK: Raydium verifies

serum_market: AccountInfo<'info>

CHECK: Raydium verifies

serum_coin_vault_account: AccountInfo<'info>

CHECK: Raydium verifies

serum_pc_vault_account: AccountInfo<'info>

CHECK: Raydium verifies

serum_vault_signer: AccountInfo<'info>

CHECK: Raydium verifies

serum_bids: AccountInfo<'info>

CHECK: Raydium verifies

serum_asks: AccountInfo<'info>

CHECK: Raydium verifies

serum_event_queue: AccountInfo<'info>

CHECK: Raydium verifies

pool_lp_custody_account: Box<Account<'info, TokenAccount>>pool_token_a_custody_account: Box<Account<'info, TokenAccount>>pool_token_b_custody_account: Box<Account<'info, TokenAccount>>pool_program: AccountInfo<'info>

CHECK: Raydium verifies

serum_program_id: AccountInfo<'info>

CHECK: Raydium verifies

spl_token_program: Program<'info, Token>system_program: Program<'info, System>

Trait Implementations

Returns the validated accounts struct. What constitutes “valid” is program dependent. However, users of these types should never have to worry about account substitution attacks. For example, if a program expects a Mint account from the SPL token program in a particular field, then it should be impossible for this method to return Ok if any other account type is given–from the SPL token program or elsewhere. Read more

program_id is the currently executing program.

is_signer is given as an optional override for the signer meta field. This covers the edge case when a program-derived-address needs to relay a transaction from a client to another program but sign the transaction before the relay. The client cannot mark the field as a signer, and so we have to override the is_signer meta field given by the client. Read more

Validates the account struct.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.