Trait BaseStateWithExtensions

Source
pub trait BaseStateWithExtensions<S: BaseState> {
    // Required method
    fn get_tlv_data(&self) -> &[u8] ;

    // Provided methods
    fn get_extension<V: Extension>(&self) -> Result<&V, ProgramError> { ... }
    fn get_extension_types(&self) -> Result<Vec<ExtensionType>, ProgramError> { ... }
    fn get_first_extension_type(
        &self,
    ) -> Result<Option<ExtensionType>, ProgramError> { ... }
}
Expand description

Trait for base state with extension

Required Methods§

Source

fn get_tlv_data(&self) -> &[u8]

Get the buffer containing all extension data

Provided Methods§

Source

fn get_extension<V: Extension>(&self) -> Result<&V, ProgramError>

Unpack a portion of the TLV data as the desired type

Source

fn get_extension_types(&self) -> Result<Vec<ExtensionType>, ProgramError>

Iterates through the TLV entries, returning only the types

Source

fn get_first_extension_type( &self, ) -> Result<Option<ExtensionType>, ProgramError>

Get just the first extension type, useful to track mixed initializations

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§