pub trait GenericTokenAccount {
// Required method
fn valid_account_data(account_data: &[u8]) -> bool;
// Provided methods
fn unpack_account_owner_unchecked(account_data: &[u8]) -> &Pubkey { ... }
fn unpack_account_mint_unchecked(account_data: &[u8]) -> &Pubkey { ... }
fn unpack_pubkey_unchecked(account_data: &[u8], offset: usize) -> &Pubkey { ... }
fn unpack_account_owner(account_data: &[u8]) -> Option<&Pubkey> { ... }
fn unpack_account_mint(account_data: &[u8]) -> Option<&Pubkey> { ... }
}Expand description
A trait for token Account structs to enable efficiently unpacking various fields without unpacking the complete state.
Required Methods§
Sourcefn valid_account_data(account_data: &[u8]) -> bool
fn valid_account_data(account_data: &[u8]) -> bool
Check if the account data is a valid token account
Provided Methods§
Sourcefn unpack_account_owner_unchecked(account_data: &[u8]) -> &Pubkey
fn unpack_account_owner_unchecked(account_data: &[u8]) -> &Pubkey
Call after account length has already been verified to unpack the account owner
Sourcefn unpack_account_mint_unchecked(account_data: &[u8]) -> &Pubkey
fn unpack_account_mint_unchecked(account_data: &[u8]) -> &Pubkey
Call after account length has already been verified to unpack the account mint
Sourcefn unpack_pubkey_unchecked(account_data: &[u8], offset: usize) -> &Pubkey
fn unpack_pubkey_unchecked(account_data: &[u8], offset: usize) -> &Pubkey
Call after account length has already been verified to unpack a Pubkey
at the specified offset. Panics if account_data.len() is less than
PUBKEY_BYTES
Sourcefn unpack_account_owner(account_data: &[u8]) -> Option<&Pubkey>
fn unpack_account_owner(account_data: &[u8]) -> Option<&Pubkey>
Unpacks an account’s owner from opaque account data.
Sourcefn unpack_account_mint(account_data: &[u8]) -> Option<&Pubkey>
fn unpack_account_mint(account_data: &[u8]) -> Option<&Pubkey>
Unpacks an account’s mint from opaque account data.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".