-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extension required for incorporation feature #1118
Comments
@arrenv as I start to work through this, one idea I had would be to introduce a "cooldown window" after the applicant cancels their application and before their stake can be reclaimed. This would allow a colony to make a motion to slash their stake, while avoiding a lot of complicated controls around when a user could cancel their application. |
I think that is a good idea, nice one! |
Can you expand on this? How do I know what I'm voting on if they're are not stored, or at least referenced, on chain? |
When a Motion is created for the payment, then the details will need to be on chain. I was thinking that prior to this though you could get away with not having to store details on chain while they are still being decided. |
@arrenv was talking to @area today and he was wondering how this functionality will look for a decentralized user of the dapp. Specifically, user A puts in a stake to access the incorporation flow, with an application stored on the server. User B is using a decentralized version of the dapp -- will they not be able to see the application? Not see it until the motion has been made? How will the experience translate between centralized and decentralized versions? |
I'm not 100% sure how it will be implemented from a technical standpoint, but I am assuming it could be stored in IPFS until the application details are ready to be ratified onchain with the payment request motion. Which would make the experience the same for both versions. |
Following up, perhaps the dapp would show any application data stored on IPFS, and reference the extension to decide which apps to render in the UI. |
As an update, my thought in approaching this has been to develop a more generic Update: whether that is a per-stake value, or a configuration parameter for the extension as a whole, is up for discussion. |
I certainly like the idea of a more generic extension for this. It would certainly allow for more flexibility with the same sort of flow in the future. I feel that given an implementation as a generic extension, it would make sense to make this a configurable parameter. It would give a lot more control for a DAO. It would still be important to have an option that uses the same staking calculation as Motions though, i.e. "Required stake based on individual user's reputation". |
@arrenv when slashing a stake, would you like to be able to decide whether or not to remove reputation, as well as the stake? I'm thinking of a logic similar to what we do with stake expenditures. |
Yes, let's follow the same logic as staking expenditures. To confirm though, when slashing on an expenditure, in the designs you are choosing to slash or not. There is not a separate one for slashing reputation or not. However, is that how it works on the contracts? I.e. you can choose to both slash stake and reputation or whatever combination of those two options. |
Currently the stake expenditure extension accepts a flag which optionally slashes reputation, as well as stake. We can copy that implementation over, and you can choose whether or not to expose that in the UI, or we can remove it entirely. |
Prerequisites
The incorporation feature will provide an important solution to a lot of DAO projects, allowing them to create a legal wrapper around the DAO. This would enable the DAO to operate in a legal capacity and help to protect it's contributors. This is an important feature to include within Colony as the governance mechanisms are useful as a decentralized way in which to first create the legal wrapper and then to also decide what is required to be ratified by the legal wrapper.
Description
In order to implement this feature, it is necessary to create an extension to help facilitate the staking requirement. The intention of the staking requirement is a means of spam reduction and protection for the Colony, deterring non-serious applications and allowing a mechanism to punish those that start the incorporation process as a bad actor.
The process itself should allow collective input on the application, however, the staker will remain the owner of the application given their stake. Once consensus has been achieved, the owner can create a motion to fund the application. Once funded, the application will be sent for processing.
Acceptance Criteria
[EDIT] This has been overlooked, but is a required for full acceptance.
Design
Figma link: Start of the full process
Figma link: Design of the staking modal
The text was updated successfully, but these errors were encountered: