Items Protocol Overview
The Items v2 protocol is composed of the following elements:
- Core protocol
The core consists of:
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.
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.
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
mintItemsfunction but the host must call the Extension
mintItemsfunction that inside has the logic to call the Main Interface
The Items holders instead can both interact directly with the Core and with the Extension to transfer, burn etc.. their items.
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.