name_tokenizer/state/
central_state.rs

1use bonfida_utils::BorshSize;
2use borsh::{BorshDeserialize, BorshSerialize};
3use solana_program::pubkey::Pubkey;
4
5use super::Tag;
6
7#[derive(BorshSerialize, BorshDeserialize, BorshSize)]
8#[allow(missing_docs)]
9pub struct CentralState {
10    pub tag: Tag,
11}
12
13impl CentralState {
14    pub fn find_key(program_id: &Pubkey) -> (Pubkey, u8) {
15        let seeds: &[&[u8]] = &[&program_id.to_bytes()];
16        Pubkey::find_program_address(seeds, program_id)
17    }
18
19    pub fn save(&self, mut dst: &mut [u8]) {
20        self.serialize(&mut dst).unwrap()
21    }
22}