protocol
protocol copied to clipboard
Create a non-rewardable property
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 🖖