[−][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: Pubkey
Transfer lamports
- Transaction::keys[0] - source
- Transaction::keys[1] - destination
Fields of Transfer
lamports: u64
Create 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: u64
Allocate 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>,