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

[governance] Implement handling for DRep expiry #437

Open
Sotatek-HuyLe3a opened this issue Feb 12, 2025 · 0 comments
Open

[governance] Implement handling for DRep expiry #437

Sotatek-HuyLe3a opened this issue Feb 12, 2025 · 0 comments
Assignees

Comments

@Sotatek-HuyLe3a
Copy link
Collaborator

Sotatek-HuyLe3a commented Feb 12, 2025

From the CIP 1694:

"Additionally, registered DReps will need to vote regularly to still be considered active. Specifically, if a DRep does not submit any votes for drepActivity-many epochs, the DRep is considered inactive, where drepActivity is a new protocol parameter. Inactive DReps do not count towards the active voting stake anymore, and can become active again for drepActivity-many epochs by voting on any governance actions or submitting a DRep update certificate..."

DRep expiry rules (WIP):

Each DRep (Delegation Representative) has an expiry epoch that determines how long it remains active. If the current epoch surpasses a DRep’s expiry, the DRep becomes inactive and can no longer participate in governance ratification.

Expiry Calculation

When a DRep is registered or updated, or a DRep submit vote, its expiry is set as:

DRepExpiry = (CurrentEpoch + drepActivity)

CurrentEpoch: The current epoch number.
drepActivity: drepActivity value in protocol parameters

Dormant Epochs: The number of consecutive epochs without governance proposals.

if at an epoch there is no governance action proposal, DormantEpochs increases by 1:

DormantEpochs_new = DormantEpochs_prev + 1

DRepExpiry_new = DRepExpiry_prev + 1

If a new governance proposal appears, DormantEpochs is reset to 0:
DormantEpochs_new = 0

Note:

  1. Dormant epoch is not updated for inactive DRep.
  2. Dormant epoch is also reset to 0 when DRep is updated
@Sotatek-HuyLe3a Sotatek-HuyLe3a self-assigned this Feb 28, 2025
@Sotatek-HuyLe3a Sotatek-HuyLe3a moved this to In Progress in Yaci Store Feb 28, 2025
@Sotatek-HuyLe3a Sotatek-HuyLe3a changed the title [governance] Handle case when DRep becomes inactive [governance] Implement handling for DRep expiry Mar 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

1 participant