-
Notifications
You must be signed in to change notification settings - Fork 375
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
feat: r/gov/dao
v2
#2581
feat: r/gov/dao
v2
#2581
Conversation
The high-level feedback is:
|
Co-authored-by: Manfred Touron <[email protected]>
…/gno into dev/zivkovicmilos/govdao
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly doc nitpicking comments, one clarification needed about missing vs abstain votes, and a suggestion on members() method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we are ready to move forward. We can iterate with version 3 later.
## Description This PR introduces an upgrade to the `r/gov/dao` system: - it makes it configurable through custom implementations - added a `p/demo/simpledao` implementation - the implementations are changeable through a govdao proposal - adds weighted voting to a govdao example implementation <details><summary>Contributors' checklist...</summary> - [x] Added new tests, or not needed, or not feasible - [x] Provided an example (e.g. screenshot) to aid review or the PR is self-explanatory - [x] Updated the official documentation or not needed - [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message was included in the description - [x] Added references to related issues and PRs - [ ] Provided any useful hints for running manual tests - [ ] Added new benchmarks to [generated graphs](https://gnoland.github.io/benchmarks), if any. More info [here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md). </details> --------- Co-authored-by: Manfred Touron <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some comments for the sake of future iteration.
case prop.tally.abstains > majorityPower: | ||
// 2/3+ voted ABSTAIN | ||
declineProposal() | ||
case prop.tally.yays+prop.tally.nays+prop.tally.abstains >= totalPower: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
>=
should be ==
?
// Remove the old member info | ||
// in case the address changed | ||
if address != member.Address { | ||
m.members.Remove(address.String()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if it's meant to be changing address of a member, it is better to have another func rather than Update
. for me, update is more for update voting power, desc, etc. while changing address is more about transfer ownership. WDYT.
Description
This PR introduces an upgrade to the
r/gov/dao
system:p/demo/simpledao
implementationContributors' checklist...
BREAKING CHANGE: xxx
message was included in the description