pub enum ProgramInstruction {
CreateLookupTable {
recent_slot: Slot,
bump_seed: u8,
},
FreezeLookupTable,
ExtendLookupTable {
new_addresses: Vec<Pubkey>,
},
DeactivateLookupTable,
CloseLookupTable,
}
Variants
CreateLookupTable
Fields
recent_slot: Slot
A recent slot must be used in the derivation path for each initialized table. When closing table accounts, the initialization slot must no longer be “recent” to prevent address tables from being recreated with reordered or otherwise malicious addresses.
bump_seed: u8
Address tables are always initialized at program-derived
addresses using the funding address, recent blockhash, and
the user-passed bump_seed
.
Create an address lookup table
Account references
[WRITE]
Uninitialized address lookup table account[SIGNER]
Account used to derive and control the new address lookup table.[SIGNER, WRITE]
Account that will fund the new address lookup table.[]
System program for CPI.
FreezeLookupTable
Permanently freeze an address lookup table, making it immutable.
Account references
[WRITE]
Address lookup table account to freeze[SIGNER]
Current authority
ExtendLookupTable
Extend an address lookup table with new addresses. Funding account and system program account references are only required if the lookup table account requires additional lamports to cover the rent-exempt balance after being extended.
Account references
[WRITE]
Address lookup table account to extend[SIGNER]
Current authority[SIGNER, WRITE, OPTIONAL]
Account that will fund the table reallocation[OPTIONAL]
System program for CPI.
DeactivateLookupTable
Deactivate an address lookup table, making it unusable and eligible for closure after a short period of time.
Account references
[WRITE]
Address lookup table account to deactivate[SIGNER]
Current authority
CloseLookupTable
Close an address lookup table account
Account references
[WRITE]
Address lookup table account to close[SIGNER]
Current authority[WRITE]
Recipient of closed account lamports
Trait Implementations
sourceimpl Clone for ProgramInstruction
impl Clone for ProgramInstruction
sourcefn clone(&self) -> ProgramInstruction
fn clone(&self) -> ProgramInstruction
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for ProgramInstruction
impl Debug for ProgramInstruction
sourceimpl<'de> Deserialize<'de> for ProgramInstruction
impl<'de> Deserialize<'de> for ProgramInstruction
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl PartialEq<ProgramInstruction> for ProgramInstruction
impl PartialEq<ProgramInstruction> for ProgramInstruction
sourcefn eq(&self, other: &ProgramInstruction) -> bool
fn eq(&self, other: &ProgramInstruction) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ProgramInstruction) -> bool
fn ne(&self, other: &ProgramInstruction) -> bool
This method tests for !=
.
sourceimpl Serialize for ProgramInstruction
impl Serialize for ProgramInstruction
impl Eq for ProgramInstruction
impl StructuralEq for ProgramInstruction
impl StructuralPartialEq for ProgramInstruction
Auto Trait Implementations
impl RefUnwindSafe for ProgramInstruction
impl Send for ProgramInstruction
impl Sync for ProgramInstruction
impl Unpin for ProgramInstruction
impl UnwindSafe for ProgramInstruction
Blanket Implementations
sourceimpl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + AbiExample + ?Sized,
default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
sourceimpl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
sourceimpl<T> AbiExample for T
impl<T> AbiExample for T
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more