Skip to content
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

DAO protocol upgrade #856

Merged
merged 22 commits into from
Nov 10, 2021
Merged

DAO protocol upgrade #856

merged 22 commits into from
Nov 10, 2021

Conversation

aguycalled
Copy link
Member

@aguycalled aguycalled commented Oct 13, 2021

This PR proposes changes in the DAO voting system signalled by version bit 11.

Super Proposals

Super Proposals do not take coins out of the Community Fund but print them new.

Super Proposals can be created through the GUI or using the createproposal RPC command by setting to true the super parameter.

They are signalled in the RPC commands with super_proposal set to true.

Requirement for approval is 75% quorum and 90% acceptance.

What to test

  • Super Proposals only work when the deployment is active.
  • Super Proposals are only approved with the specified requirements.
  • Super Proposals do not depend on the amount available on the Community Fund.
  • Approval, rejection, expiration, block reorganisation do not affect the amount available in the Community Fund.
  • Both RPC and GUI functionality work correctly.

Combined voting of consensus parameters

Not implemented in GUI yet, only in RPC commands.

A combined vote for change of consensus parameters can be started using the RPC command proposecombinedconsensuschange.

Example:

proposecombinedconsensuschange '[1, 2]' '[100, 100]'

Additional values can be proposed with proposeanswer:

proposeanswer f54c67f64fa1be51f23d9739d1f6b6a8e10d73f81ea8b7438445b3e52371ba43 '[150, 100]'

What to test

  • Combined votes only work when the deployment is active.
  • Combined votes can't be created when at least one of the indicated consensus parameters already has a voting active.
  • Voting for those consensus change proposals work correctly.
  • Proposed answers can't be duplicated.
  • Proposed answers can't be the current value of the consensus parameters.
  • RPC functionality work correctly.
  • Please add as a comment to the Pull Request which parts of the GUI would need to be adapted to allow interaction with this new kind of votes.

@chasingkirkjufell
Copy link
Contributor

i'd try to add this to the stressor and run it

@mxaddict
Copy link
Contributor

@aguycalled seems this PR has a few conflicts with latest master

@aguycalled
Copy link
Member Author

@aguycalled seems this PR has a few conflicts with latest master

fixed

@aguycalled
Copy link
Member Author

i'd try to add this to the stressor and run it

would you like to add it yourself or should I add it?

@chasingkirkjufell
Copy link
Contributor

i'd try to add this to the stressor and run it

would you like to add it yourself or should I add it?

I'd like to add it myself unless you're in a rush since I won't be able to get to it until later this week.

@chasingkirkjufell
Copy link
Contributor

local build error
image

@chasingkirkjufell
Copy link
Contributor

image

@mxaddict
Copy link
Contributor

@aguycalled did gitian build the latest commit for this PR?

@mxaddict
Copy link
Contributor

@aguycalled is there a command to check the current cfund balance via RPC?

@mxaddict
Copy link
Contributor

@aguycalled is this message correct?

image

@mxaddict
Copy link
Contributor

Tested a super proposal with more amount requested than balance from cfund, worked nicely, was able to pass the proposal and create a payment request and receive the requested amount (GENERATED from AIR)

@mxaddict
Copy link
Contributor

mxaddict commented Oct 25, 2021

Tested super proposal via cli, worked as well, generated fresh coins and was able to request a payment, cfundstats was unfaffected throughout the process.

@mxaddict
Copy link
Contributor

This PR is looking good, I guess once the GUI bug is fixed (able to created super proposal even when the deployment was not approved) this PR should be good.

@chasingkirkjufell how did you get the node to crash with this branch? I remember you mentioned a crashed node when using this branches build.

Copy link
Contributor

@mxaddict mxaddict left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh, this was the cause for the message being messed up.

@chasingkirkjufell
Copy link
Contributor

@mxaddict i updated my stress script and crashed the nodes. i provided the bt to aguycalled and it seems to be fixed so far. i'm still updating the script to test the combined consensus.

@mxaddict
Copy link
Contributor

mxaddict commented Oct 27, 2021 via email

@navbuilder
Copy link

A new build of 756ef59 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

@navbuilder
Copy link

A new build of a91aa23 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

@navbuilder
Copy link

A new build of 32308f8 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

@navbuilder
Copy link

A new build of e7c0d04 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

@navbuilder
Copy link

A new build of 9137113 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

@navbuilder
Copy link

A new build of f9bcb64 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

@navbuilder
Copy link

A new build of 5c6d837 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

* fix combined consensus creation

* fix
@navbuilder
Copy link

A new build of 50009f3 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

Copy link
Contributor

@chasingkirkjufell chasingkirkjufell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated stressor and stressed this PR with a local build on ubuntu 20.04

@mxaddict
Copy link
Contributor

mxaddict commented Nov 9, 2021

@aguycalled I'm doing final testing on this PR, once done will approve and merge, I think the GUI for the combined voting should be a seperate PR.

@mxaddict mxaddict self-requested a review November 10, 2021 02:08
@mxaddict mxaddict merged commit f5b5582 into navcoin:master Nov 10, 2021
@navbuilder
Copy link

A new build of 87a95c6 has completed succesfully!
Binaries available at https://build.nav.community/binaries/super-dao

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants