[−][src]Enum solana_sdk::system_instruction::SystemInstruction
Variants
Create a new account
- Transaction::keys[0] - source
- Transaction::keys[1] - new account key
- lamports - number of lamports to transfer to the new account
- space - number of bytes of memory to allocate
- program_id - the program id of the new account
Assign account to a program
- Transaction::keys[0] - account to assign
Fields of Assign
program_id: PubkeyTransfer lamports
- Transaction::keys[0] - source
- Transaction::keys[1] - destination
Fields of Transfer
lamports: u64Create a new account at an address derived from a base pubkey and a seed
- Transaction::keys[0] - source
- Transaction::keys[1] - new account key
- seed - string of ascii chars, no longer than pubkey::MAX_SEED_LEN
- lamports - number of lamports to transfer to the new account
- space - number of bytes of memory to allocate
- program_id - the program id of the new account
AdvanceNonceAccount consumes a stored nonce, replacing it with a successor
Expects 2 Accounts: 0 - A NonceAccount 1 - RecentBlockhashes sysvar
The current authority must sign a transaction executing this instrucion
WithdrawNonceAccount(u64)WithdrawNonceAccount transfers funds out of the nonce account
Expects 4 Accounts: 0 - A NonceAccount 1 - A system account to which the lamports will be transferred 2 - RecentBlockhashes sysvar 3 - Rent sysvar
The u64 parameter is the lamports to withdraw, which must leave the
account balance above the rent exempt reserve or at zero.
The current authority must sign a transaction executing this instruction
InitializeNonceAccount(Pubkey)InitializeNonceAccount drives state of Uninitalized NonceAccount to Initialized,
setting the nonce value.
Expects 3 Accounts: 0 - A NonceAccount in the Uninitialized state 1 - RecentBlockHashes sysvar 2 - Rent sysvar
The Pubkey parameter specifies the entity authorized to execute nonce
instruction on the account
No signatures are required to execute this instruction, enabling derived nonce account addresses
AuthorizeNonceAccount(Pubkey)AuthorizeNonceAccount changes the entity authorized to execute nonce instructions
on the account
Expects 1 Account: 0 - A NonceAccount
The Pubkey parameter identifies the entity to authorize
The current authority must sign a transaction executing this instruction
Allocate space in a (possibly new) account without funding
- Transaction::keys[0] - new account key
- space - number of bytes of memory to allocate
Fields of Allocate
space: u64Allocate space for and assign an account at an address derived from a base pubkey and a seed
- Transaction::keys[0] - new account key
- seed - string of ascii chars, no longer than pubkey::MAX_SEED_LEN
- space - number of bytes of memory to allocate
- program_id - the program id of the new account
Assign account to a program based on a seed
- Transaction::keys[0] - account to assign
- seed - string of ascii chars, no longer than pubkey::MAX_SEED_LEN
- program_id - the program id of the new account
Trait Implementations
impl Clone for SystemInstruction[src]
fn clone(&self) -> SystemInstruction[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for SystemInstruction[src]
impl<'de> Deserialize<'de> for SystemInstruction[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,
impl PartialEq<SystemInstruction> for SystemInstruction[src]
fn eq(&self, other: &SystemInstruction) -> bool[src]
fn ne(&self, other: &SystemInstruction) -> bool[src]
impl Serialize for SystemInstruction[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
impl StructuralPartialEq for SystemInstruction[src]
Auto Trait Implementations
impl RefUnwindSafe for SystemInstruction
impl Send for SystemInstruction
impl Sync for SystemInstruction
impl Unpin for SystemInstruction
impl UnwindSafe for SystemInstruction
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>, [src]
T: Deserialize<'de>,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,