Skip to content

feat: add GovernorVotesSuperQuorumFraction extension #1406

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

tasin2610
Copy link

@tasin2610 tasin2610 commented Apr 9, 2025

This PR implements the GovernorVotesSuperQuorumFraction extension as requested in issue #1386.

Fixes #1386.

Description

This extension enhances the governance system by introducing a "super quorum" threshold. When a proposal receives votes exceeding this threshold (and has a majority of "for" votes), it can be moved to the Succeeded state before the standard voting period ends. This allows for faster governance decisions when there is overwhelming support.

The extension:

  • Builds on top of GovernorVotesQuorumFraction
  • Stores a super quorum numerator that must be greater than the regular quorum numerator
  • Provides methods to check if a proposal has reached super quorum

Implementation details

  • Added GovernorVotesSuperQuorumFractionComponent with storage for tracking super quorum numerator history
  • Implemented ISuperQuorumFraction interface
  • Added has_reached_super_quorum utility method
  • Properly integrated with existing governor architecture

Requirements

  • Super quorum must be greater than regular quorum
  • Super quorum must not exceed the denominator
  • Includes proper validation and error messages

PR Checklist

  • Tests
  • Documentation
  • Added entry to CHANGELOG.md
  • Tried the feature on a public network

@tasin2610
Copy link
Author

Hey, @ericnordelo. I have added the GovernorVotesSuperQuorumFraction extension. Please, review and let me know if I have to change anything else.

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

Successfully merging this pull request may close these issues.

Add GovernorVotesSuperQuorumFraction extension
1 participant