Skip to content
Snippets Groups Projects
Commit 54617ef6 authored by Shawn Tabrizi's avatar Shawn Tabrizi Committed by GitHub
Browse files

Simple Trait to Inspect Metadata (#9893)

* simple trait to inspect metadata

* import vec
parent 653f299b
No related merge requests found
......@@ -60,6 +60,25 @@ impl<T: Config<I>, I: 'static> fungibles::Inspect<<T as SystemConfig>::AccountId
}
}
impl<T: Config<I>, I: 'static> fungibles::InspectMetadata<<T as SystemConfig>::AccountId>
for Pallet<T, I>
{
/// Return the name of an asset.
fn name(asset: &Self::AssetId) -> Vec<u8> {
Metadata::<T, I>::get(asset).name.to_vec()
}
/// Return the symbol of an asset.
fn symbol(asset: &Self::AssetId) -> Vec<u8> {
Metadata::<T, I>::get(asset).symbol.to_vec()
}
/// Return the decimals of an asset.
fn decimals(asset: &Self::AssetId) -> u8 {
Metadata::<T, I>::get(asset).decimals
}
}
impl<T: Config<I>, I: 'static> fungibles::Mutate<<T as SystemConfig>::AccountId> for Pallet<T, I> {
fn mint_into(
asset: Self::AssetId,
......
......@@ -23,6 +23,7 @@ use super::{
};
use crate::dispatch::{DispatchError, DispatchResult};
use sp_runtime::traits::Saturating;
use sp_std::vec::Vec;
mod balanced;
pub use balanced::{Balanced, Unbalanced};
......@@ -65,6 +66,18 @@ pub trait Inspect<AccountId> {
) -> WithdrawConsequence<Self::Balance>;
}
/// Trait for reading metadata from a fungible asset.
pub trait InspectMetadata<AccountId>: Inspect<AccountId> {
/// Return the name of an asset.
fn name(asset: &Self::AssetId) -> Vec<u8>;
/// Return the symbol of an asset.
fn symbol(asset: &Self::AssetId) -> Vec<u8>;
/// Return the decimals of an asset.
fn decimals(asset: &Self::AssetId) -> u8;
}
/// Trait for providing a set of named fungible assets which can be created and destroyed.
pub trait Mutate<AccountId>: Inspect<AccountId> {
/// Attempt to increase the `asset` balance of `who` by `amount`.
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment