Enum solana_sdk::system_instruction::SystemInstruction [−][src]
pub enum SystemInstruction { CreateAccount { lamports: u64, space: u64, owner: Pubkey, }, Assign { owner: Pubkey, }, Transfer { lamports: u64, }, CreateAccountWithSeed { base: Pubkey, seed: String, lamports: u64, space: u64, owner: Pubkey, }, AdvanceNonceAccount, WithdrawNonceAccount(u64), InitializeNonceAccount(Pubkey), AuthorizeNonceAccount(Pubkey), Allocate { space: u64, }, AllocateWithSeed { base: Pubkey, seed: String, space: u64, owner: Pubkey, }, AssignWithSeed { base: Pubkey, seed: String, owner: Pubkey, }, TransferWithSeed { lamports: u64, from_seed: String, from_owner: Pubkey, }, }
Variants
Fields of CreateAccount
Fields of Assign
owner: Pubkey
Owner program account
Fields of Transfer
lamports: u64
Create a new account at an address derived from a base pubkey and a seed
Account references
- [WRITE, SIGNER] Funding account
- [WRITE] Created account
- [SIGNER] (optional) Base account; the account matching the base Pubkey below must be provided as a signer, but may be the same as the funding account and provided as account 0
Fields of CreateAccountWithSeed
Consumes a stored nonce, replacing it with a successor
Account references
- [WRITE] Nonce account
- [] RecentBlockhashes sysvar
- [SIGNER] Nonce authority
WithdrawNonceAccount(u64)
Withdraw funds from a nonce account
Account references
- [WRITE] Nonce account
- [WRITE] Recipient account
- [] RecentBlockhashes sysvar
- [] Rent sysvar
- [SIGNER] Nonce authority
The u64
parameter is the lamports to withdraw, which must leave the
account balance above the rent exempt reserve or at zero.
InitializeNonceAccount(Pubkey)
Drive state of Uninitalized nonce account to Initialized, setting the nonce value
Account references
- [WRITE] Nonce account
- [] RecentBlockhashes sysvar
- [] 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)
Change the entity authorized to execute nonce instructions on the account
Account references
- [WRITE] Nonce account
- [SIGNER] Nonce authority
The Pubkey
parameter identifies the entity to authorize
Allocate space in a (possibly new) account without funding
Account references
- [WRITE, SIGNER] New account
Fields of Allocate
space: u64
Number of bytes of memory to allocate
Allocate space for and assign an account at an address derived from a base public key and a seed
Account references
- [WRITE] Allocated account
- [SIGNER] Base account
Fields of AllocateWithSeed
Assign account to a program based on a seed
Account references
- [WRITE] Assigned account
- [SIGNER] Base account
Fields of AssignWithSeed
Transfer lamports from a derived address
Account references
- [WRITE] Funding account
- [SIGNER] Base for funding account
- [WRITE] Recipient account
Fields of TransferWithSeed
Trait Implementations
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<SystemInstruction, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<SystemInstruction, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
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
pub default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
pub default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
Mutably borrows from an owned value. Read more
type Output = T
type Output = T
Should always be Self