pub struct BuyNftBuilder { /* private fields */ }
Expand description
Instruction builder for BuyNft
.
§Accounts:
[writable]
owner[writable, signer]
taker[writable]
rent_payer[writable]
fee_vault[writable]
pool[optional]
whitelist[optional]
mint_proof[writable, optional]
shared_escrow[writable, optional]
maker_broker[writable, optional]
taker_broker[signer, optional]
cosigner[optional]
amm_program (default toTAMM6ub33ij1mbetoMyVBLeKY5iP41i4UPUJQGkhfsg
)[optional]
escrow_program[optional]
native_program (default to11111111111111111111111111111111
)[]
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]
taker_ta[writable]
pool_ta[optional]
token_program (default toTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
)[optional]
associated_token_program (default toATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL
)[optional]
system_program (default to11111111111111111111111111111111
)
Implementations§
Source§impl BuyNftBuilder
impl BuyNftBuilder
pub fn new() -> Self
Sourcepub fn owner(&mut self, owner: Pubkey) -> &mut Self
pub fn owner(&mut self, owner: Pubkey) -> &mut Self
The owner of the pool and the buyer/recipient of the NFT.
Sourcepub fn taker(&mut self, taker: Pubkey) -> &mut Self
pub fn taker(&mut self, taker: Pubkey) -> &mut Self
The taker is the user buying or selling the NFT.
Sourcepub fn rent_payer(&mut self, rent_payer: Pubkey) -> &mut Self
pub fn rent_payer(&mut self, rent_payer: Pubkey) -> &mut Self
The original rent payer of the pool–stored on the pool. Used to refund rent in case the pool is auto-closed.
Sourcepub fn fee_vault(&mut self, fee_vault: Pubkey) -> &mut Self
pub fn fee_vault(&mut self, fee_vault: Pubkey) -> &mut Self
Fee vault account owned by the TFEE program.
Sourcepub fn pool(&mut self, pool: Pubkey) -> &mut Self
pub fn pool(&mut self, pool: Pubkey) -> &mut Self
The Pool state account that the NFT is being sold into. Stores pool state and config, but is also the owner of any NFTs in the pool, and also escrows any SOL. Any active pool can be specified provided it is a Token type and the NFT passes at least one whitelist condition.
Sourcepub fn whitelist(&mut self, whitelist: Option<Pubkey>) -> &mut Self
pub fn whitelist(&mut self, whitelist: Option<Pubkey>) -> &mut Self
[optional account]
The whitelist account that the pool uses to verify the NFTs being sold into it.
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.
[optional account]
The shared escrow account for pools that have liquidity in a shared account.
Sourcepub fn maker_broker(&mut self, maker_broker: Option<Pubkey>) -> &mut Self
pub fn maker_broker(&mut self, maker_broker: Option<Pubkey>) -> &mut Self
[optional account]
The account that receives the maker broker fee.
Sourcepub fn taker_broker(&mut self, taker_broker: Option<Pubkey>) -> &mut Self
pub fn taker_broker(&mut self, taker_broker: Option<Pubkey>) -> &mut Self
[optional account]
The account that receives the taker broker fee.
Sourcepub fn cosigner(&mut self, cosigner: Option<Pubkey>) -> &mut Self
pub fn cosigner(&mut self, cosigner: Option<Pubkey>) -> &mut Self
[optional account]
The optional cosigner account that must be passed in if the pool has a cosigner.
Sourcepub fn amm_program(&mut self, amm_program: Pubkey) -> &mut Self
pub fn amm_program(&mut self, amm_program: Pubkey) -> &mut Self
[optional account, default to 'TAMM6ub33ij1mbetoMyVBLeKY5iP41i4UPUJQGkhfsg']
The AMM program account, used for self-cpi logging.
Sourcepub fn escrow_program(&mut self, escrow_program: Option<Pubkey>) -> &mut Self
pub fn escrow_program(&mut self, escrow_program: Option<Pubkey>) -> &mut Self
[optional account]
The escrow program account for shared liquidity pools.
Sourcepub fn native_program(&mut self, native_program: Pubkey) -> &mut Self
pub fn native_program(&mut self, native_program: Pubkey) -> &mut Self
[optional account, default to '11111111111111111111111111111111']
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 taker_ta(&mut self, taker_ta: Pubkey) -> &mut Self
pub fn taker_ta(&mut self, taker_ta: Pubkey) -> &mut Self
The TA of the buyer, where the NFT will be transferred.
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 is held.
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']
Either the legacy token program or token-2022.
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.
pub fn max_amount(&mut self, max_amount: u64) -> &mut Self
[optional argument]
Sourcepub fn optional_royalty_pct(&mut self, optional_royalty_pct: u16) -> &mut Self
pub fn optional_royalty_pct(&mut self, optional_royalty_pct: u16) -> &mut Self
[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 BuyNftBuilder
impl Clone for BuyNftBuilder
Source§fn clone(&self) -> BuyNftBuilder
fn clone(&self) -> BuyNftBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for BuyNftBuilder
impl Debug for BuyNftBuilder
Source§impl Default for BuyNftBuilder
impl Default for BuyNftBuilder
Source§fn default() -> BuyNftBuilder
fn default() -> BuyNftBuilder
Auto Trait Implementations§
impl Freeze for BuyNftBuilder
impl RefUnwindSafe for BuyNftBuilder
impl Send for BuyNftBuilder
impl Sync for BuyNftBuilder
impl Unpin for BuyNftBuilder
impl UnwindSafe for BuyNftBuilder
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