devol_accounts_kit/accounts/
account_header.rs

1use solana_program::pubkey::Pubkey;
2
3#[derive(Clone, Copy, PartialEq, Debug)]
4#[repr(C)]
5pub struct AccountHeader {
6    pub tag: u32,
7    pub version: u32,
8    pub root: Pubkey,
9} // 40 bytes
10
11impl Default for AccountHeader {
12    fn default() -> Self {
13        Self {
14            version: 0,
15            tag: 0,
16            root: Pubkey::default(),
17        }
18    }
19}
20
21#[cfg(test)]
22mod tests {
23    use super::*;
24
25    #[test]
26    fn test_pools_log_offsets() {
27        let header1 = AccountHeader {
28            tag: 1,
29            version: 1,
30            root: Pubkey::default(),
31        };
32
33        let header2 = AccountHeader {
34            tag: 1,
35            version: 1,
36            root: Pubkey::default(),
37        };
38
39        let header3 = AccountHeader {
40            tag: 2,
41            version: 1,
42            root: Pubkey::default(),
43        };
44
45        assert_eq!(header1, header2);
46        assert_ne!(header1, header3);
47    }
48}