carbon_token_program_decoder/accounts/
mint.rs1use solana_pubkey::Pubkey;
3
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, Clone, borsh::BorshSerialize, borsh::BorshDeserialize, PartialEq)]
6pub struct Mint {
7 pub mint_authority: Option<Pubkey>,
11 pub supply: u64,
13 pub decimals: u8,
15 pub is_initialized: bool,
17 pub freeze_authority: Option<Pubkey>,
19}
20
21impl Mint {
22 pub fn decode(data: &[u8]) -> Option<Self> {
23 if data.len() != 82 {
24 return None;
25 }
26
27 let mut data_slice = data;
28
29 data_slice = &data_slice[0..];
30
31 borsh::BorshDeserialize::deserialize(&mut data_slice).ok()
32 }
33}