use std::cmp::Ordering;
use solana_sdk::pubkey::Pubkey;
pub type AccountId = u64;
#[repr(C, align(8))]
#[derive(Default, Debug, Clone, PartialEq, Eq)]
pub struct AccountHeader {
pub pubkey: Pubkey,
pub lamports: u64,
pub data_size: u32,
pub node_id: AccountId,
pub owner: Pubkey,
pub rent_epoch: u64,
pub slot: u64,
pub executable: bool,
}
impl AccountHeader {
pub fn reset(&mut self) {
self.pubkey = Pubkey::default();
self.lamports = 0;
self.data_size = 0;
self.owner = Pubkey::default();
self.executable = false;
self.rent_epoch = 0;
self.node_id = 0;
}
pub fn cmp(&self, b: &Self) -> Ordering {
if self.slot < b.slot {
Ordering::Less
} else if self.slot == b.slot {
Ordering::Equal
} else {
Ordering::Greater
}
}
}