- Types - type CID = Vec\<u8> - Binary encoded https://github.com/multiformats/cid - struct TokenInfo\<Data> - metadata: CID - owner: AccountId - data: Data - struct ClassInfo\<Data> - metadata: CID - total_issuance: TokenId - owner: AccountId - data: Data - Trait - type ClassId - type TokenId - type ClassData - type TokenData - Storages - NextClassId: ClassId - Classes: map ClassId => ClassInfo - Tokens: double_map ClassId, TokenId => TokenInfo - TokensByOwner: double_map AccountId, ClassId => TokenId - Module - fn create_class(owner: &AccountId, metadata: CID, data: ClassData) -> ClassId - fn transfer(from: &AccountId, to: &AccountId, token: (ClassId, TokenId)) -> DispatchResult - fn mint(owner: &AccountId, class: ClassId, metadata: CID, data: TokenData) -> Result\<TokenId, DispatchError> - fn burn(owner: &AccountId, token: (ClassId, TokenId)) -> DispatchResult