Skip to content

Move minimum required pigeon version from hard-coded to governance #1180

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

Merged

Conversation

maharifu
Copy link
Contributor

@maharifu maharifu commented Jun 5, 2024

Related Github tickets

Background

At the moment, we store the minimum required version of Pigeon as hard-coded const inside Paloma. This means to enforce a Pigeon update, we need to roll-out a new version of the protocol as well, which often creates unnecessary noise and maintenance overhead.

Instead, this information should live on the chain directly, and be addressable via governance vote.

  • Generalize the restriction to pigeon requirements, so we can add new restriction in the future, instead of only minimum version
  • Add pigeon requirements to valset keeper, as the valset module is the one requiring this information
  • Add scheduled pigeon requirements, so we can schedule rollouts to a specific block height
  • Add new gRPC query - q valset get-pigeon-requirements - to get current and scheduled requirements
  • Add new tx - tx gov submit-legacy-proposal valset propose-pigeon-requirements - to propose changes to pigeon requirements
  • The valset module checks for pending scheduled changes at each BeginBlock. When a change is applied, scheduled changes are cleared
  • Added this information to genesis

Testing completed

  • test coverage exists or has been added/updated
  • tested in a private testnet

Breaking changes

  • I have checked my code for breaking changes
  • If there are breaking changes, there is a supporting migration.

@maharifu maharifu force-pushed the lcarvalho/1640-pigeon-governance branch from 62f9c52 to 3198c0b Compare June 5, 2024 15:33
@maharifu maharifu marked this pull request as ready for review June 5, 2024 15:38
@maharifu maharifu requested a review from byte-bandit June 5, 2024 15:38
Copy link
Contributor

@byte-bandit byte-bandit left a comment

Choose a reason for hiding this comment

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

Good stuff. 2 small remarks

@maharifu maharifu requested a review from byte-bandit June 6, 2024 08:58
@maharifu maharifu force-pushed the lcarvalho/1640-pigeon-governance branch from f7306b2 to d38ffb8 Compare June 6, 2024 13:54
Copy link
Contributor

@byte-bandit byte-bandit left a comment

Choose a reason for hiding this comment

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

Nice work!

@taariq taariq merged commit 2f2beb6 into palomachain:master Jun 6, 2024
4 checks passed
@taariq taariq deleted the lcarvalho/1640-pigeon-governance branch June 6, 2024 14:02
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.

3 participants