livepeer_cli: Implement treasury voting command
Is your feature request related to a problem? Please describe.
With LIP-91 and 92, we are creating a new onchain Treasury and a governor for PGF.
This includes a new governance system specific for this treasury, which is similar to our existing protocol governance but leverages the OZ governor and so provides different interfaces for creating and voting on proposals.
Describe the solution you'd like
We need to update the livepeer_cli to allow voting on these new treasury proposals
as well, be it through a new dedicated command for treasury proposals or an additional question
on the current voting command to vote on a treasury proposal instead of current governance.
Describe alternatives you've considered We currently don't have the CLI and only allow voting from the browser. The downside of this is that for some Os to vote, they'd need to share their private key with some browser wallet extension which is not ideal.
The governor contract and the voting interface is 100% compatible with the OpenZeppelin Governor
framework though, so any tool that works with OZ governor should work here. Additionally, we could use
even more generic tools like the oz send-tx CLI for Os to make a vote. This would likely be a less
seamless experience though.
Additional context One just needs to call this function to cast a vote: https://docs.openzeppelin.com/contracts/4.x/api/governance#IGovernor-castVote-uint256-uint8-
The proposalId is indexed by our subgraph and known by the explorer, and the vote type enum matches
bravo compatibility (0: Against, 1: For, 2: Abstain).
+1 for this issue! We need governance voting support added to livepeer_cli. This will help improve participation in governance proposals
Implemented in https://github.com/livepeer/go-livepeer/pull/3275.