Goal is for these set of tools to be production ready and functional, not to port every single governance module out right there.
I think a new narrow scope for first release would be a functional:
Timelock
GovernorBRavo for proposals and execution
GovernorBravo compatible with Lido EasyTrack
Requirement:
Governance should be compatible with ERC20 token and veTokens like veYFI
Nice to have:
ybrainiac contract that can replace ychad for vault governance integrating compound style gov
Design approach:
Functional
Secure
Simple as possible
Note: some of the solidity equivalent code uses heavy inheritance which vyper doesn't support so flattening the tree will actually help achieve point 3 of design.
Testing approach:
unit tests and fuzzing (quick feedback) : foundry_tests
Goal is for these set of tools to be production ready and functional, not to port every single governance module out right there.
I think a new narrow scope for first release would be a functional:
Requirement: Governance should be compatible with ERC20 token and veTokens like veYFI
Nice to have:
Design approach:
Note: some of the solidity equivalent code uses heavy inheritance which vyper doesn't support so flattening the tree will actually help achieve point 3 of design.
Testing approach:
Reference: OZ governance contracts Compound gov docs Compound contracts