solana-program-test 4.5.0-alpha.2

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

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