pub struct WithdrawNftBuilder { /* private fields */ }Expand description
Instruction builder for WithdrawNft.
§Accounts:
[writable, signer]owner[writable]pool[optional]whitelist[optional]mint_proof[]mint[writable]metadata[]edition[writable, optional]user_token_record[writable, optional]pool_token_record[optional]token_metadata_program[optional]sysvar_instructions[optional]authorization_rules[optional]authorization_rules_program[writable]nft_receipt[writable]owner_ta[writable]pool_ta[optional]token_program (default toTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA)[optional]associated_token_program (default toATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL)[optional]system_program (default to11111111111111111111111111111111)
Implementations§
Source§impl WithdrawNftBuilder
impl WithdrawNftBuilder
pub fn new() -> Self
Sourcepub fn pool(&mut self, pool: Pubkey) -> &mut Self
pub fn pool(&mut self, pool: Pubkey) -> &mut Self
The pool the NFT is being transferred to/from.
Sourcepub fn whitelist(&mut self, whitelist: Option<Pubkey>) -> &mut Self
pub fn whitelist(&mut self, whitelist: Option<Pubkey>) -> &mut Self
[optional account]
The whitelist that gatekeeps which NFTs can be deposited into the pool.
Must match the whitelist stored in the pool state.
Sourcepub fn mint_proof(&mut self, mint_proof: Option<Pubkey>) -> &mut Self
pub fn mint_proof(&mut self, mint_proof: Option<Pubkey>) -> &mut Self
[optional account]
Optional account which must be passed in if the NFT must be verified against a
merkle proof condition in the whitelist.
Sourcepub fn metadata(&mut self, metadata: Pubkey) -> &mut Self
pub fn metadata(&mut self, metadata: Pubkey) -> &mut Self
The Token Metadata metadata account of the NFT.
Sourcepub fn edition(&mut self, edition: Pubkey) -> &mut Self
pub fn edition(&mut self, edition: Pubkey) -> &mut Self
The Token Metadata edition account of the NFT.
Sourcepub fn user_token_record(
&mut self,
user_token_record: Option<Pubkey>,
) -> &mut Self
pub fn user_token_record( &mut self, user_token_record: Option<Pubkey>, ) -> &mut Self
[optional account]
The Token Metadata source token record account of the NFT.
Sourcepub fn pool_token_record(
&mut self,
pool_token_record: Option<Pubkey>,
) -> &mut Self
pub fn pool_token_record( &mut self, pool_token_record: Option<Pubkey>, ) -> &mut Self
[optional account]
The Token Metadata token record for the destination.
Sourcepub fn token_metadata_program(
&mut self,
token_metadata_program: Option<Pubkey>,
) -> &mut Self
pub fn token_metadata_program( &mut self, token_metadata_program: Option<Pubkey>, ) -> &mut Self
[optional account]
The Token Metadata program account.
Sourcepub fn sysvar_instructions(
&mut self,
sysvar_instructions: Option<Pubkey>,
) -> &mut Self
pub fn sysvar_instructions( &mut self, sysvar_instructions: Option<Pubkey>, ) -> &mut Self
[optional account]
The sysvar instructions account.
[optional account]
The Metaplex Token Authority Rules account that stores royalty enforcement rules.
[optional account]
The Metaplex Token Authority Rules program account.
Sourcepub fn nft_receipt(&mut self, nft_receipt: Pubkey) -> &mut Self
pub fn nft_receipt(&mut self, nft_receipt: Pubkey) -> &mut Self
The NFT deposit receipt, which ties an NFT to the pool it was deposited to.
Sourcepub fn owner_ta(&mut self, owner_ta: Pubkey) -> &mut Self
pub fn owner_ta(&mut self, owner_ta: Pubkey) -> &mut Self
The TA of the owner, where the NFT will be transferred to as a result of this action.
Sourcepub fn pool_ta(&mut self, pool_ta: Pubkey) -> &mut Self
pub fn pool_ta(&mut self, pool_ta: Pubkey) -> &mut Self
The TA of the pool, where the NFT token is escrowed.
Sourcepub fn token_program(&mut self, token_program: Pubkey) -> &mut Self
pub fn token_program(&mut self, token_program: Pubkey) -> &mut Self
[optional account, default to 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA']
The SPL Token program for the Mint and ATAs.
Sourcepub fn associated_token_program(
&mut self,
associated_token_program: Pubkey,
) -> &mut Self
pub fn associated_token_program( &mut self, associated_token_program: Pubkey, ) -> &mut Self
[optional account, default to 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL']
The SPL associated token program.
Sourcepub fn system_program(&mut self, system_program: Pubkey) -> &mut Self
pub fn system_program(&mut self, system_program: Pubkey) -> &mut Self
[optional account, default to '11111111111111111111111111111111']
The Solana system program.
[optional argument]
Sourcepub fn add_remaining_account(&mut self, account: AccountMeta) -> &mut Self
pub fn add_remaining_account(&mut self, account: AccountMeta) -> &mut Self
Add an additional account to the instruction.
Sourcepub fn add_remaining_accounts(&mut self, accounts: &[AccountMeta]) -> &mut Self
pub fn add_remaining_accounts(&mut self, accounts: &[AccountMeta]) -> &mut Self
Add additional accounts to the instruction.
pub fn instruction(&self) -> Instruction
Trait Implementations§
Source§impl Clone for WithdrawNftBuilder
impl Clone for WithdrawNftBuilder
Source§fn clone(&self) -> WithdrawNftBuilder
fn clone(&self) -> WithdrawNftBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WithdrawNftBuilder
impl Debug for WithdrawNftBuilder
Source§impl Default for WithdrawNftBuilder
impl Default for WithdrawNftBuilder
Source§fn default() -> WithdrawNftBuilder
fn default() -> WithdrawNftBuilder
Auto Trait Implementations§
impl Freeze for WithdrawNftBuilder
impl RefUnwindSafe for WithdrawNftBuilder
impl Send for WithdrawNftBuilder
impl Sync for WithdrawNftBuilder
impl Unpin for WithdrawNftBuilder
impl UnwindSafe for WithdrawNftBuilder
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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