Trait Inspect
pub trait Inspect<AccountId> {
    type ItemId;
    // Required method
    fn owner(item: &Self::ItemId) -> Option<AccountId>;
    // Provided methods
    fn attribute(_item: &Self::ItemId, _key: &[u8]) -> Option<Vec<u8>> { ... }
    fn typed_attribute<K, V>(item: &Self::ItemId, key: &K) -> Option<V>
       where K: Encode,
             V: Decode { ... }
    fn can_transfer(_item: &Self::ItemId) -> bool { ... }
}Expand description
Trait for providing an interface to a read-only NFT-like set of items.
Required Associated Types§
type ItemId
type ItemId
Type for identifying an item.
Required Methods§
Provided Methods§
fn attribute(_item: &Self::ItemId, _key: &[u8]) -> Option<Vec<u8>>
fn attribute(_item: &Self::ItemId, _key: &[u8]) -> Option<Vec<u8>>
Returns the attribute value of item corresponding to key.
By default this is None; no attributes are defined.
fn typed_attribute<K, V>(item: &Self::ItemId, key: &K) -> Option<V>
fn typed_attribute<K, V>(item: &Self::ItemId, key: &K) -> Option<V>
Returns the strongly-typed attribute value of item corresponding to key.
By default this just attempts to use attribute.
fn can_transfer(_item: &Self::ItemId) -> bool
fn can_transfer(_item: &Self::ItemId) -> bool
Returns true if the item may be transferred.
Default implementation is that all items are transferable.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.