protocol icon indicating copy to clipboard operation
protocol copied to clipboard

Create a non-rewardable property

Open aggre opened this issue 3 years ago • 0 comments

Description

Create a Property that cannot be staked for those who do not need inflationary funds.

Solution

Add new interfaces createWithNonRewardable and createAndAuthenticateWithNonRewardable to the PropertyFactory Contract. It also adds new interfaces isNonRewardable and setNonRewardable to the PropertyGroup Contract.

For Properties created by those PropertyFactory Contract's interfaces, the return values of PropertyGroup.isGroup and PropertyGroup.isNonRewardable will be true. If PropertyGroup.isNonRewardable is true, no one can stake on that Property.

Alternatives/Features

With Iron Contract and Ironed Property tokens

Create a new contract called "Iron Contract" without modifying the PropertyFactory Contract and PropertyGroup Contract. The Iron Contract receives Property tokens and returns an Ironed Property tokens. An Ironed Property tokens are tokens associated with one Property. Iron Contract does not withdraw inflationary funds for Property tokens. As a result, users can refuse to receive inflationary funds.

This idea is flexible and versatile, but it creates two types of tokens for a single Property. This can also compromise usability.

Code of Conduct

By submitting this pull request, I confirm I've read and complied with the CoC 🖖

aggre avatar Apr 19 '21 06:04 aggre