Revenue setting, claims and defrosting

When the asset state is ACTIVE a revenue setting can be performed by the asset manager using setRevenue() function. After this operation, the asset becomes FROZEN and a certain amount of RVT tokens are staked in the Asset instance. Besides, a new RevenueClaiming contract is deployed; it contains all the information related to the revenue and its claims (e.g. the claimed amount, the claimers list, etc.).

When the state is FROZEN, the shares cannot be transferred in order to avoid double-spending cheatings. Indeed, each share owner is allowed to claim its revenue portion, i.e. a part of RVT staking proportional to owned shares, via claim() function.

After a certain amount of time, reasonably long to assure an easy claim to the share owners, the asset is defrosted via defrostAsset() function. As for setRevenue(), asset manager is the unique address allowed to perform defrostAsset().

The following image shows the timeline of a revenue “life”: the initial setting, the claims when the asset is frozen, and the defrosting.

_images/revenue_sequence.png

When an asset is FROZEN, no new revenue can be set, i.e. the life of revenue currently claimable has to end with a defrosting before having a new setting.