pub use crate::{
psp22_pallet,
psp22_pallet::extensions::metadata,
traits::psp22::{
extensions::metadata::*,
*,
},
};
use openbrush::traits::{
Storage,
String,
};
pub use pallet_assets_chain_extension::traits::{
Origin,
PalletAssets,
};
pub use psp22_pallet::Internal as _;
impl<T: Storage<psp22_pallet::Data>> PSP22Metadata for T {
default fn token_name(&self) -> Option<String> {
let self_ = self.data();
let name = self_.pallet_assets.metadata_name(self_.asset_id);
if name.is_empty() {
None
} else {
Some(String::from_utf8(name).expect("Invalid UTF-8 string for token"))
}
}
default fn token_symbol(&self) -> Option<String> {
let self_ = self.data();
let symbol = self_.pallet_assets.metadata_symbol(self_.asset_id);
if symbol.is_empty() {
None
} else {
Some(String::from_utf8(symbol).expect("Invalid UTF-8 string for token"))
}
}
default fn token_decimals(&self) -> u8 {
let self_ = self.data();
self_.pallet_assets.metadata_decimals(self_.asset_id)
}
}