storming0x / serpentor

A set of smart contracts tools for governance written in vyper

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scope for 0.1 release

storming0x opened this issue · comments

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:

  1. Functional
  2. Secure
  3. 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
  • integration testing: python with ape

Reference:
OZ governance contracts
Compound gov docs
Compound contracts