Asset creation and shares distributionΒΆ

The asset creation is voted via VotingApp Aragon framework and is handled by AssetManager smart contract. In the following we assume the vote decision was to create a new asset, i.e. the community majority voted in favour of the creation.

In order to create a new asset, AssetManager deploys two new smart contracts via createAsset() function, which are described below:

  • an Asset containing information about the asset and functions for the interaction with it (e.g. the revenue claim)

  • a SHT, a standard ERC20 token, used to handle the asset shares

More precisely, each Asset is defined by the following elements:

  • a numerical id

  • a name

  • a description

  • a manager address, the wallet of a trusted oracle, the unique allowed to set the revenues

  • a RVT address, related to an ERC20 token used to distribute the revenues

  • a state, with three available cases: ACTIVE (default at the creation), INACTIVE and FROZEN

After the creation, 1000 SHT are minted and initially assigned to the asset just created. Then, the shares distribution is performed by community via VotingApp using distributeShares() function.

Regarding the asset available states, their explanations are reported in the following list:

  • state=ACTIVE: shares can be exchanged, instead no revenues cannot be claimed

  • state=FROZEN: shares cannot be exchanged, revenues can be claimed by share owners

  • state=INACTIVE: shares cannot be exchanged and revenues cannot be claimed

The state transitions, shown in the figure below, are handled by activateAsset(), deactivateAsset(), setRevenue() and defrostAsset() functions, which will be explained in the next chapters.

_images/states_transitions.png