pub use crate::{
psp22,
psp22::extensions::metadata,
traits::psp22::{
extensions::metadata::*,
*,
},
};
use openbrush::traits::{
Storage,
String,
};
pub use psp22::{
Internal as _,
Transfer as _,
};
pub const STORAGE_KEY: u32 = openbrush::storage_unique_key!(Data);
#[derive(Default, Debug)]
#[openbrush::upgradeable_storage(STORAGE_KEY)]
pub struct Data {
pub name: Option<String>,
pub symbol: Option<String>,
pub decimals: u8,
pub _reserved: Option<()>,
}
impl<T: Storage<Data>> PSP22Metadata for T {
default fn token_name(&self) -> Option<String> {
self.data().name.clone()
}
default fn token_symbol(&self) -> Option<String> {
self.data().symbol.clone()
}
default fn token_decimals(&self) -> u8 {
self.data().decimals.clone()
}
}