serpentor
serpentor copied to clipboard
A set of smart contracts tools for governance written in vyper
Serpentor
A set of smart contracts tools for governance written in vyper
Contracts
- Timelock.vy - "Vyper implementation of a timelock contract for governance"
- SerpentorBravo.vy - "Vyper implementation of a governance contract for on-chain voting on proposals and execution"
Requirements
The test environment requires that the vyper compiler command can be accessed from your path
As an alternative you can also install vvm
and run
vvm install 0.3.6
Setup
This project uses foundry and apeworx to combine both unit test, fuzz tests with integration tests in python.
Install ape framework.
Install foundry
Install JS dependencies
npm install
Build
forge build
Run tests
forge test
Run tests with traces
forge test -vvv
Recommendation: for faster test times install vvm-rs. This will add a caching layer to the vyper compiler that improves test times with forge. E.g 32s-> 52ms in local benchmarks
Build with ape
ape compile
Run python tests
ape test
Disclaimer
This is experimental software and is provided on an "as is" and "as available" basis without any warranties.
While the first release has been audited, these contracts have not been widely used in production.
- Although the functionality is meant to be compatible with other well tested governance contracts, still expect changes from the original features.
- You should thoroughly read each contract you plan to use.
Use at your own risk.