IntersectMBO / cardano-node

The core component that is used to participate in a Cardano decentralised blockchain.

Home Page:https://cardano.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automated DReps

Jimbo4350 opened this issue · comments

Pre-defined DReps

In order to participate in governance, a stake credential must be delegated to a DRep. Ada holders will generally delegate their voting rights to a registered DRep that will vote on their behalf. In addition, two pre-defined DRep options are available:

  • Abstain: If an Ada holder delegates to Abstain, then their stake is actively marked as not participating in governance. The effect of delegating to Abstain on chain is that the delegated stake will not be considered to be a part of the active voting stake. However, the stake will be considered to be registered for the purpose of the incentives that are described in Incentives for Ada holders to delegate voting stake.
  • No Confidence: If an Ada holder delegates to No Confidence, then their stake is counted as a Yes vote on every No Confidence action and a No vote on every other action. The delegated stake will be considered part of the active voting stake. It also serves as a directly auditable measure of the confidence of Ada holders in the constitutional committee.

Source: https://www.1694.io/

Test scenarios

The following scenarios will be created to test that automated DReps work.

Scenario 1

  • Create default testnet with 3 DReps and 3 stake holders delegated, one to each DRep.
  • Do some proposal and vote yes with the first DRep only.
  • Check that proposal does NOT pass.
  • Take the last two stake delegators and delegate them to "Abstain".
    • This can be done using cardano-cli conway stake-address vote-delegation-certificate --always-abstain
  • Do some other proposal and vote yes with first DRep only.
  • Check the new proposal passes now.

Scenario 2

  • Create default testnet with 3 DReps and 3 stake holders delegated, one to each DRep.
  • Do some proposal and vote yes with all the DReps.
  • Check that proposal passes.
  • Take the last two stake delegators and delegate them to "No Confidence".
    • This can be done using cardano-cli conway stake-address vote-delegation-certificate --always-no-confidence
  • Do some other proposal and vote yes with all the DReps.
  • Check the new proposal does NOT pass.
  • Create a no confidence proposal.
    • This can be done using cardano-cli conway governance action create-no-confidence
  • Vote no to the no confidence proposal with all DReps.
  • Check the no confidence proposal passes.

Unassigning myself because I'll be doing IntersectMBO/cardano-cli#725 next and don't plan to do this one soon. Maybe @palas you want to look at it!?