solana-program-test 4.3.0-alpha.3

Solana Program Test Framework
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use {
    serde::de::DeserializeOwned, solana_account_info::AccountInfo,
    solana_program_error::ProgramError, solana_sysvar_id::SysvarId,
};

pub fn from_account_info<T: DeserializeOwned + SysvarId>(
    account_info: &AccountInfo,
) -> Result<T, ProgramError> {
    if !T::check_id(account_info.key) {
        return Err(ProgramError::InvalidArgument);
    }
    bincode::deserialize(&account_info.data.borrow()).map_err(|_| ProgramError::InvalidArgument)
}