pub struct WithdrawNftCpi<'a, 'b> {Show 21 fields
pub __program: &'b AccountInfo<'a>,
pub owner: &'b AccountInfo<'a>,
pub pool: &'b AccountInfo<'a>,
pub whitelist: Option<&'b AccountInfo<'a>>,
pub mint_proof: Option<&'b AccountInfo<'a>>,
pub mint: &'b AccountInfo<'a>,
pub metadata: &'b AccountInfo<'a>,
pub edition: &'b AccountInfo<'a>,
pub user_token_record: Option<&'b AccountInfo<'a>>,
pub pool_token_record: Option<&'b AccountInfo<'a>>,
pub token_metadata_program: Option<&'b AccountInfo<'a>>,
pub sysvar_instructions: Option<&'b AccountInfo<'a>>,
pub authorization_rules: Option<&'b AccountInfo<'a>>,
pub authorization_rules_program: Option<&'b AccountInfo<'a>>,
pub nft_receipt: &'b AccountInfo<'a>,
pub owner_ta: &'b AccountInfo<'a>,
pub pool_ta: &'b AccountInfo<'a>,
pub token_program: &'b AccountInfo<'a>,
pub associated_token_program: &'b AccountInfo<'a>,
pub system_program: &'b AccountInfo<'a>,
pub __args: WithdrawNftInstructionArgs,
}Expand description
withdraw_nft CPI instruction.
Fields§
§__program: &'b AccountInfo<'a>The program to invoke.
owner: &'b AccountInfo<'a>The owner of the pool and the NFT.
pool: &'b AccountInfo<'a>The pool the NFT is being transferred to/from.
whitelist: Option<&'b AccountInfo<'a>>The whitelist that gatekeeps which NFTs can be deposited into the pool. Must match the whitelist stored in the pool state.
mint_proof: Option<&'b AccountInfo<'a>>Optional account which must be passed in if the NFT must be verified against a merkle proof condition in the whitelist.
mint: &'b AccountInfo<'a>The mint account of the NFT.
metadata: &'b AccountInfo<'a>The Token Metadata metadata account of the NFT.
edition: &'b AccountInfo<'a>The Token Metadata edition account of the NFT.
user_token_record: Option<&'b AccountInfo<'a>>The Token Metadata source token record account of the NFT.
pool_token_record: Option<&'b AccountInfo<'a>>The Token Metadata token record for the destination.
token_metadata_program: Option<&'b AccountInfo<'a>>The Token Metadata program account.
sysvar_instructions: Option<&'b AccountInfo<'a>>The sysvar instructions account.
The Metaplex Token Authority Rules account that stores royalty enforcement rules.
The Metaplex Token Authority Rules program account.
nft_receipt: &'b AccountInfo<'a>The NFT deposit receipt, which ties an NFT to the pool it was deposited to.
owner_ta: &'b AccountInfo<'a>The TA of the owner, where the NFT will be transferred to as a result of this action.
pool_ta: &'b AccountInfo<'a>The TA of the pool, where the NFT token is escrowed.
token_program: &'b AccountInfo<'a>The SPL Token program for the Mint and ATAs.
associated_token_program: &'b AccountInfo<'a>The SPL associated token program.
system_program: &'b AccountInfo<'a>The Solana system program.
__args: WithdrawNftInstructionArgsThe arguments for the instruction.
Implementations§
Source§impl<'a, 'b> WithdrawNftCpi<'a, 'b>
impl<'a, 'b> WithdrawNftCpi<'a, 'b>
pub fn new( program: &'b AccountInfo<'a>, accounts: WithdrawNftCpiAccounts<'a, 'b>, args: WithdrawNftInstructionArgs, ) -> Self
pub fn invoke(&self) -> ProgramResult
pub fn invoke_with_remaining_accounts( &self, remaining_accounts: &[(&'b AccountInfo<'a>, bool, bool)], ) -> ProgramResult
pub fn invoke_signed(&self, signers_seeds: &[&[&[u8]]]) -> ProgramResult
pub fn invoke_signed_with_remaining_accounts( &self, signers_seeds: &[&[&[u8]]], remaining_accounts: &[(&'b AccountInfo<'a>, bool, bool)], ) -> ProgramResult
Auto Trait Implementations§
impl<'a, 'b> Freeze for WithdrawNftCpi<'a, 'b>
impl<'a, 'b> !RefUnwindSafe for WithdrawNftCpi<'a, 'b>
impl<'a, 'b> !Send for WithdrawNftCpi<'a, 'b>
impl<'a, 'b> !Sync for WithdrawNftCpi<'a, 'b>
impl<'a, 'b> Unpin for WithdrawNftCpi<'a, 'b>
impl<'a, 'b> !UnwindSafe for WithdrawNftCpi<'a, 'b>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more