pub struct DepositNftT22Cpi<'a, 'b> {
pub __program: &'b AccountInfo<'a>,
pub owner: &'b AccountInfo<'a>,
pub pool: &'b AccountInfo<'a>,
pub whitelist: &'b AccountInfo<'a>,
pub mint_proof: Option<&'b AccountInfo<'a>>,
pub mint: &'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>,
}Expand description
deposit_nft_t22 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: &'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.
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 from.
pool_ta: &'b AccountInfo<'a>The TA of the pool, where the NFT will be 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.
Implementations§
Source§impl<'a, 'b> DepositNftT22Cpi<'a, 'b>
impl<'a, 'b> DepositNftT22Cpi<'a, 'b>
pub fn new( program: &'b AccountInfo<'a>, accounts: DepositNftT22CpiAccounts<'a, 'b>, ) -> 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 DepositNftT22Cpi<'a, 'b>
impl<'a, 'b> !RefUnwindSafe for DepositNftT22Cpi<'a, 'b>
impl<'a, 'b> !Send for DepositNftT22Cpi<'a, 'b>
impl<'a, 'b> !Sync for DepositNftT22Cpi<'a, 'b>
impl<'a, 'b> Unpin for DepositNftT22Cpi<'a, 'b>
impl<'a, 'b> !UnwindSafe for DepositNftT22Cpi<'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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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