v3.1.0 Governance Patch
This upgrade is meant as a patch that must be hard forked in, due to a bug in proposal 16 breaking on-chain governance of Osmosis. It prevents governance proposals from moving into voting period. Details of the bug are at the bottom. This is the version that should be used, not v2.0.0
or v3.0.0
.
This upgrade includes:
- Update to Cosmos-SDK v0.42.9, which fixes state syncing.
- At block height 712000
- Fixing the immediate governance issue, by changing the min_deposit parameter to what was intended
- Fixing the bug in min_commission_rate, that allowed validators to create a validator with a lower rate than the minimum. It also bumps up all validators to the minimum.
Proposed Upgrade Process
- Every node should upgrade their software version from
v1.0.x
tov3.1.0
before the upgrade block height 712000. If you use cosmovisor, simply swap out the binary at genesis/bin to be v3.1.0, and restart the node. - Upon upgrading their setup, every validator should place a deposit on a signalling proposal, to signal readiness for the upgrade. (1uosmo suffices)
- Every node should check in between August 10th 1:00AM UTC and 2:00PM UTC, and see if 2/3rds of validators have put a non-zero deposit on the proposal. If so, no further action needed (unless they didn't upgrade yet, in which case they should). If 2/3rds of validators have not signalled readiness by this time, then the upgrade is considered to have not reached agreement, and all nodes should downgrade their binary back to
v1.0.x
for further coordination.
Governance Bug
In proposal 16, the 'min_deposit' value on the proposal was set to 500osmo and not the intended 500000000uosmo. On chain, the denomination "osmo" doesn't exist, there is only "uosmo" (Similar to how on Bitcoin there are only sats).
Due to this parameter change, a sufficient governance deposit to enter on-chain voting must be in Osmo, which is a denomination that does not exist on chain. Thus no new governance proposals can enter a voting period and get decided on chain.