pub struct DepositNftBuilder { /* private fields */ }
Expand description
Instruction builder for DepositNft
.
§Accounts:
[writable, signer]
owner[writable]
pool[]
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 DepositNftBuilder
impl DepositNftBuilder
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: Pubkey) -> &mut Self
pub fn whitelist(&mut self, whitelist: Pubkey) -> &mut Self
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 token account of the owner, where the NFT will be transferred from.
Sourcepub fn pool_ta(&mut self, pool_ta: Pubkey) -> &mut Self
pub fn pool_ta(&mut self, pool_ta: Pubkey) -> &mut Self
The token account of the pool, where the NFT will be 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 DepositNftBuilder
impl Clone for DepositNftBuilder
Source§fn clone(&self) -> DepositNftBuilder
fn clone(&self) -> DepositNftBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for DepositNftBuilder
impl Debug for DepositNftBuilder
Source§impl Default for DepositNftBuilder
impl Default for DepositNftBuilder
Source§fn default() -> DepositNftBuilder
fn default() -> DepositNftBuilder
Auto Trait Implementations§
impl Freeze for DepositNftBuilder
impl RefUnwindSafe for DepositNftBuilder
impl Send for DepositNftBuilder
impl Sync for DepositNftBuilder
impl Unpin for DepositNftBuilder
impl UnwindSafe for DepositNftBuilder
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