Skip to main content

InitializeAccount2

Struct InitializeAccount2 

Source
pub struct InitializeAccount2<'account> {
    pub account: &'account AccountView,
    pub mint: &'account AccountView,
    pub rent_sysvar: &'account AccountView,
    pub owner: &'account Address,
}
Expand description

Like super::InitializeAccount, but the owner pubkey is passed via instruction data rather than the accounts list. This variant may be preferable when using Cross Program Invocation from an instruction that does not need the owner’s AccountInfo otherwise.

Accounts expected by this instruction:

  1. [writable] The account to initialize.
  2. [] The mint this account will be associated with.
  3. [] Rent sysvar.

Fields§

§account: &'account AccountView

The account to initialize.

§mint: &'account AccountView

The mint this account will be associated with.

§rent_sysvar: &'account AccountView

Rent sysvar.

§owner: &'account Address

The new account’s owner/multisignature.

Implementations§

Source§

impl<'account> InitializeAccount2<'account>

Source

pub const DISCRIMINATOR: u8 = 16

Source

pub const ACCOUNTS_LEN: usize = 3

Expected number of accounts.

Source

pub const DATA_LEN: usize = 33

Instruction data length:

  • discriminator (1 byte)
  • owner pubkey (32 bytes)
Source

pub fn new( account: &'account AccountView, mint: &'account AccountView, rent_sysvar: &'account AccountView, owner: &'account Address, ) -> Self

Source

pub fn invoke(&self) -> ProgramResult

Trait Implementations§

Source§

impl CpiWriter for InitializeAccount2<'_>

Source§

fn write_accounts<'cpi>( &self, accounts: &mut [MaybeUninit<CpiAccount<'cpi>>], ) -> Result<usize, ProgramError>
where Self: 'cpi,

Writes the AccountViews required by this instruction into the provided slice. Read more
Source§

fn write_instruction_accounts<'cpi>( &self, accounts: &mut [MaybeUninit<InstructionAccount<'cpi>>], ) -> Result<usize, ProgramError>
where Self: 'cpi,

Writes the InstructionAccounts required by this instruction into the provided slice. Read more
Source§

fn write_instruction_data( &self, data: &mut [MaybeUninit<u8>], ) -> Result<usize, ProgramError>

Writes the instruction data for this instruction into the provided slice. Read more
Source§

impl IntoBatch for InitializeAccount2<'_>

Source§

fn into_batch<'account, 'state>( self, batch: &mut Batch<'account, 'state>, ) -> ProgramResult
where Self: 'account + 'state,

Serializes self into the provided batch.

Auto Trait Implementations§

§

impl<'account> Freeze for InitializeAccount2<'account>

§

impl<'account> RefUnwindSafe for InitializeAccount2<'account>

§

impl<'account> !Send for InitializeAccount2<'account>

§

impl<'account> !Sync for InitializeAccount2<'account>

§

impl<'account> Unpin for InitializeAccount2<'account>

§

impl<'account> UnsafeUnpin for InitializeAccount2<'account>

§

impl<'account> UnwindSafe for InitializeAccount2<'account>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.