Component: voter.move
Description
The voter.move component manages decentralized governance and reward distribution for liquidity pools. It facilitates voting on liquidity pools using locked assets, distributing rewards based on votes. Ultimately, users can lock assets to gain voting power and allocate votes to pools that influence reward distribution.
Invariants
Each pool has one only gauge.
Weights must sum to 100%.
Rewards only go to live gauges.
Critical actions require governor/emergency council caps.
Test coverage
Cases covered
Verify vote rejections occur outside allowed voting periods
Check reward emissions and gauge distribution after epoch advancement
Test lock creation and voting-power calculation
Add a governor, validating basic governance actions
Cases not covered
Potential precision loss in full_math_u64/full_math_u128 not stress tested
Killing gauges with active rewards
No tests for emergency actions