pub struct CreateCpiBuilder<'a, 'b> { /* private fields */ }Expand description
Instruction builder for Create via CPI.
§Accounts:
[writable]metadata[writable, optional]master_edition[writable, signer]mint[signer]authority[writable, signer]payer[signer]update_authority[]system_program[]sysvar_instructions[optional]spl_token_program
Implementations§
Source§impl<'a, 'b> CreateCpiBuilder<'a, 'b>
impl<'a, 'b> CreateCpiBuilder<'a, 'b>
pub fn new(program: &'b AccountInfo<'a>) -> Self
Sourcepub fn metadata(&mut self, metadata: &'b AccountInfo<'a>) -> &mut Self
pub fn metadata(&mut self, metadata: &'b AccountInfo<'a>) -> &mut Self
Unallocated metadata account with address as pda of [‘metadata’, program id, mint id]
Sourcepub fn master_edition(
&mut self,
master_edition: Option<&'b AccountInfo<'a>>,
) -> &mut Self
pub fn master_edition( &mut self, master_edition: Option<&'b AccountInfo<'a>>, ) -> &mut Self
[optional account]
Unallocated edition account with address as pda of [‘metadata’, program id, mint, ‘edition’]
Sourcepub fn mint(&mut self, mint: &'b AccountInfo<'a>, as_signer: bool) -> &mut Self
pub fn mint(&mut self, mint: &'b AccountInfo<'a>, as_signer: bool) -> &mut Self
Mint of token asset
Mint authority
Sourcepub fn payer(&mut self, payer: &'b AccountInfo<'a>) -> &mut Self
pub fn payer(&mut self, payer: &'b AccountInfo<'a>) -> &mut Self
Payer
Update authority for the metadata account
Sourcepub fn system_program(
&mut self,
system_program: &'b AccountInfo<'a>,
) -> &mut Self
pub fn system_program( &mut self, system_program: &'b AccountInfo<'a>, ) -> &mut Self
System program
Sourcepub fn sysvar_instructions(
&mut self,
sysvar_instructions: &'b AccountInfo<'a>,
) -> &mut Self
pub fn sysvar_instructions( &mut self, sysvar_instructions: &'b AccountInfo<'a>, ) -> &mut Self
Instructions sysvar account
Sourcepub fn spl_token_program(
&mut self,
spl_token_program: Option<&'b AccountInfo<'a>>,
) -> &mut Self
pub fn spl_token_program( &mut self, spl_token_program: Option<&'b AccountInfo<'a>>, ) -> &mut Self
[optional account]
SPL Token program
pub fn create_args(&mut self, create_args: CreateArgs) -> &mut Self
Sourcepub fn add_remaining_account(
&mut self,
account: &'b AccountInfo<'a>,
is_writable: bool,
is_signer: bool,
) -> &mut Self
pub fn add_remaining_account( &mut self, account: &'b AccountInfo<'a>, is_writable: bool, is_signer: bool, ) -> &mut Self
Add an additional account to the instruction.
Sourcepub fn add_remaining_accounts(
&mut self,
accounts: &[(&'b AccountInfo<'a>, bool, bool)],
) -> &mut Self
pub fn add_remaining_accounts( &mut self, accounts: &[(&'b AccountInfo<'a>, bool, bool)], ) -> &mut Self
Add additional accounts to the instruction.
Each account is represented by a tuple of the AccountInfo, a bool indicating whether the account is writable or not,
and a bool indicating whether the account is a signer or not.
pub fn invoke(&self) -> ProgramResult
pub fn invoke_signed(&self, signers_seeds: &[&[&[u8]]]) -> ProgramResult
Auto Trait Implementations§
impl<'a, 'b> Freeze for CreateCpiBuilder<'a, 'b>
impl<'a, 'b> !RefUnwindSafe for CreateCpiBuilder<'a, 'b>
impl<'a, 'b> !Send for CreateCpiBuilder<'a, 'b>
impl<'a, 'b> !Sync for CreateCpiBuilder<'a, 'b>
impl<'a, 'b> Unpin for CreateCpiBuilder<'a, 'b>
impl<'a, 'b> UnsafeUnpin for CreateCpiBuilder<'a, 'b>
impl<'a, 'b> !UnwindSafe for CreateCpiBuilder<'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