magicblock-account 4.3.1

Solana Account type
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use {
    crate::{AccountSharedData, state_traits::StateMut},
    solana_instruction_error::InstructionError,
    solana_pubkey::Pubkey,
};

#[test]
fn test_account_state() {
    let state = 42;
    assert!(AccountSharedData::default().set_state(&state).is_err());
    let res = AccountSharedData::default().state() as Result<u64, InstructionError>;
    assert!(res.is_err());

    let mut account = AccountSharedData::new(0, size_of::<u64>(), &Pubkey::default());

    assert!(account.set_state(&state).is_ok());
    assert_eq!(account.state(), Ok(state));
}