spherenet_program_whitelist_interface/state/
entry.rs

1use {
2    super::{account_state::AccountState, Initializable},
3    bytemuck::{Pod, Zeroable},
4    pinocchio::pubkey::Pubkey,
5    shank::ShankAccount,
6};
7
8#[repr(C)]
9#[derive(Copy, Clone, Pod, Zeroable, ShankAccount)]
10pub struct WhitelistEntryAccount {
11    pub entry_address: Pubkey,
12    pub state: u8,
13}
14
15impl WhitelistEntryAccount {
16    #[inline(always)]
17    pub fn set_initialized(&mut self) {
18        self.state = AccountState::Initialized as u8;
19    }
20}
21
22impl Initializable for WhitelistEntryAccount {
23    #[inline(always)]
24    fn is_initialized(&self) -> bool {
25        self.state != AccountState::Uninitialized as u8
26    }
27}