solana_program::sysvar

Trait Sysvar

Source
pub trait Sysvar:
    SysvarId
    + Default
    + Sized
    + Serialize
    + DeserializeOwned {
    // Provided methods
    fn size_of() -> usize { ... }
    fn from_account_info(
        account_info: &AccountInfo<'_>,
    ) -> Result<Self, ProgramError> { ... }
    fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()> { ... }
    fn get() -> Result<Self, ProgramError> { ... }
}

Provided Methods§

Source

fn size_of() -> usize

Source

fn from_account_info( account_info: &AccountInfo<'_>, ) -> Result<Self, ProgramError>

Deserializes a sysvar from its AccountInfo.

§Errors

If account_info does not have the same ID as the sysvar this function returns ProgramError::InvalidArgument.

Source

fn to_account_info(&self, account_info: &mut AccountInfo<'_>) -> Option<()>

Source

fn get() -> Result<Self, ProgramError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§