Items Protocol Overview
The Items v2 protocol is composed of the following elements:
  • Core protocol
  • Extension

Core

The core consists of:

Main Interface

It is the singleton smart contract that works as a shared ERC1155 face for all the Items of all the Collections and it has all the logics for managing the Collections.

Interoperable Interface

Each item (each itemId) has its own Interoperable Interface, that is the ERC20 face of an Item. This is automatically created and attached to the Item at the moment of its creation.
The interoperable interface is stateless, it writes on the Main Interface.

Extension

An Extension is a smart contract linked to a single Items Collection. Each Extension is cloned by the Extension Factory, guaranteeing its validity and integrity.
The Items protocol is designed in such a way that the host of an Items Collection can't interact directly with the Core to perform its host operations (such as create a Collection, mint Items, change Metadata etc..) but he must interact with the Extension hosting the Collection which in turn interacts with the Core.
For example, to mint new Items it is not possible to call directly the Main Interface mintItems function but the host must call the Extension mintItems function that inside has the logic to call the Main Interface mintItems function .
The Items holders instead can both interact directly with the Core and with the Extension to transfer, burn etc.. their items.

Wrappers and Decks

These are particular singleton Extensions that allow users to wrap their tokens in Wrapped Items and Decks. ERC20/ETH/ERC721/ERC1155 can be wrapped in Wrapped Items, ERC721 and ERC1155 can be wrapped in Decks.