light_token_interface/state/extensions/
token_metadata.rs1use light_compressed_account::Pubkey;
2use light_zero_copy::{ZeroCopy, ZeroCopyMut};
3
4use crate::{AnchorDeserialize, AnchorSerialize};
5
6#[repr(C)]
8#[derive(
9 Debug, Clone, Hash, PartialEq, Eq, AnchorSerialize, AnchorDeserialize, ZeroCopy, ZeroCopyMut,
10)]
11pub struct TokenMetadata {
12 pub update_authority: Pubkey,
15 pub mint: Pubkey,
18 pub name: Vec<u8>,
20 pub symbol: Vec<u8>,
22 pub uri: Vec<u8>,
24 pub additional_metadata: Vec<AdditionalMetadata>,
27}
28
29#[repr(C)]
30#[derive(
31 Debug, Clone, Hash, PartialEq, Eq, AnchorSerialize, AnchorDeserialize, ZeroCopy, ZeroCopyMut,
32)]
33pub struct AdditionalMetadata {
34 pub key: Vec<u8>,
36 pub value: Vec<u8>,
38}