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

planner: add governance voting #4307

Closed
TalDerei opened this issue May 3, 2024 · 0 comments
Closed

planner: add governance voting #4307

TalDerei opened this issue May 3, 2024 · 0 comments
Assignees
Labels
A-client Area: Design and implementation for client functionality A-governance Area: Governance C-design Category: work on the design of Penumbra needs-refinement unclear, incomplete, or stub issue that needs work _P-high High priority _P-V1 Priority: slated for V1 release
Milestone

Comments

@TalDerei
Copy link
Collaborator

TalDerei commented May 3, 2024

There's a governance voting regression in the planner per #4300.

This issue attempts to describe how validator voting worked in the original planner, and the necessary steps required to fold that functionality back in.

  1. The planner tracks voting intents in a BTreeMap, populated on calls to delegator_vote() which appends the user's weighted vote to the BTreeMap. This doesn't add the votes to the planner quite yet.
  2. Query for notes to be used for voting on a proposal from the view service. For each voting intent, issue a NotesForVotingRequest from a specific starting block height to request the relevant voting note.
  3. After collecting the voting spendable note records, we check if the delegation token (delegations to a validator are represented by a single delegation token, representing a share of that validator’s delegation pool) is unspent, and then add the voting SNR as a SpendPlan.
  4. Call delegator_vote_precise() to add the votes to the planner as DelegatorVotePlan.

here's a reference for a first pass at an attempted voting fix.

cc @erwanor

@TalDerei TalDerei added C-design Category: work on the design of Penumbra needs-refinement unclear, incomplete, or stub issue that needs work labels May 3, 2024
@github-project-automation github-project-automation bot moved this to Backlog in Penumbra May 3, 2024
@erwanor erwanor added this to the Sprint 6 milestone May 3, 2024
@erwanor erwanor moved this from Backlog to Todo in Penumbra May 3, 2024
@erwanor erwanor added A-client Area: Design and implementation for client functionality _P-V1 Priority: slated for V1 release _P-high High priority labels May 3, 2024
@cratelyn cratelyn added the A-governance Area: Governance label May 3, 2024
@TalDerei TalDerei closed this as completed May 3, 2024
@github-project-automation github-project-automation bot moved this from Todo to Done in Penumbra May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-client Area: Design and implementation for client functionality A-governance Area: Governance C-design Category: work on the design of Penumbra needs-refinement unclear, incomplete, or stub issue that needs work _P-high High priority _P-V1 Priority: slated for V1 release
Projects
Archived in project
Development

No branches or pull requests

3 participants