Trait Inspect
pub trait Inspect<AccountId> {
    type ItemId;
    type CollectionId;
    // Required method
    fn owner(
        collection: &Self::CollectionId,
        item: &Self::ItemId,
    ) -> Option<AccountId>;
    // Provided methods
    fn collection_owner(_collection: &Self::CollectionId) -> Option<AccountId> { ... }
    fn attribute(
        _collection: &Self::CollectionId,
        _item: &Self::ItemId,
        _key: &[u8],
    ) -> Option<Vec<u8>> { ... }
    fn typed_attribute<K, V>(
        collection: &Self::CollectionId,
        item: &Self::ItemId,
        key: &K,
    ) -> Option<V>
       where K: Encode,
             V: Decode { ... }
    fn collection_attribute(
        _collection: &Self::CollectionId,
        _key: &[u8],
    ) -> Option<Vec<u8>> { ... }
    fn typed_collection_attribute<K, V>(
        collection: &Self::CollectionId,
        key: &K,
    ) -> Option<V>
       where K: Encode,
             V: Decode { ... }
    fn can_transfer(
        _collection: &Self::CollectionId,
        _item: &Self::ItemId,
    ) -> bool { ... }
}Expand description
Trait for providing an interface to many read-only NFT-like sets of items.
Required Associated Types§
type ItemId
type ItemId
Type for identifying an item.
type CollectionId
type CollectionId
Type for identifying a collection (an identifier for an independent collection of items).
Required Methods§
fn owner(
    collection: &Self::CollectionId,
    item: &Self::ItemId,
) -> Option<AccountId>
fn owner( collection: &Self::CollectionId, item: &Self::ItemId, ) -> Option<AccountId>
Returns the owner of item of collection, or None if the item doesn’t exist
(or somehow has no owner).
Provided Methods§
fn collection_owner(_collection: &Self::CollectionId) -> Option<AccountId>
fn collection_owner(_collection: &Self::CollectionId) -> Option<AccountId>
Returns the owner of the collection, if there is one. For many NFTs this may not
make any sense, so users of this API should not be surprised to find a collection
results in None here.
fn attribute(
    _collection: &Self::CollectionId,
    _item: &Self::ItemId,
    _key: &[u8],
) -> Option<Vec<u8>>
fn attribute( _collection: &Self::CollectionId, _item: &Self::ItemId, _key: &[u8], ) -> Option<Vec<u8>>
Returns the attribute value of item of collection corresponding to key.
By default this is None; no attributes are defined.
fn typed_attribute<K, V>(
    collection: &Self::CollectionId,
    item: &Self::ItemId,
    key: &K,
) -> Option<V>
fn typed_attribute<K, V>( collection: &Self::CollectionId, item: &Self::ItemId, key: &K, ) -> Option<V>
Returns the strongly-typed attribute value of item of collection corresponding to
key.
By default this just attempts to use attribute.
fn collection_attribute(
    _collection: &Self::CollectionId,
    _key: &[u8],
) -> Option<Vec<u8>>
fn collection_attribute( _collection: &Self::CollectionId, _key: &[u8], ) -> Option<Vec<u8>>
Returns the attribute value of collection corresponding to key.
By default this is None; no attributes are defined.
fn typed_collection_attribute<K, V>(
    collection: &Self::CollectionId,
    key: &K,
) -> Option<V>
fn typed_collection_attribute<K, V>( collection: &Self::CollectionId, key: &K, ) -> Option<V>
Returns the strongly-typed attribute value of collection corresponding to key.
By default this just attempts to use collection_attribute.
fn can_transfer(_collection: &Self::CollectionId, _item: &Self::ItemId) -> bool
fn can_transfer(_collection: &Self::CollectionId, _item: &Self::ItemId) -> bool
Returns true if the item of collection 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.