Vyper contracts used in the [Mobius] governance and staking system.
Mobius DAO consists of a modified instance of Compound's Governor Bravo. The Comp token is replaced with a locked voting token (veMOBI) for votes. These contracts handle the contracts for the liquid token MOBI, as well as the system of locking MOBI (veMOBI). veMOBI can then be used to direct future MOBI allocation amongst the various staking contracts, all which is handled in a decentralized manner by the token holders.
- python3 version 3.6 or greater, python3-dev
- vyper version 0.2.8
- brownie - tested with version 1.14.6
- brownie-token-tester - tested with version 0.2.2
- ganache-cli - tested with version 6.12.1
To get started, first create and initialize a Python virtual environment. Next, clone the repo and install the developer dependencies:
git clone https://github.com/curvefi/curve-dao-contracts.git
cd curve-dao-contracts
pip install -r requirements.txt
The test suite is split between unit and integration tests. To run the entire suite:
brownie test
To run only the unit tests or integration tests:
brownie test tests/unitary
brownie test tests/integration
See the deployment documentation for detailed information on how to deploy Mobius DAO.
Curve DAO contracts have been audited by Trail of Bits and Quantstamp. These audit reports are made available on the Curve website.
There is also an active bug bounty for issues which can lead to substantial loss of money, critical bugs such as a broken live-ness condition, or irreversible loss of funds.
You may find the following guides useful:
This project is licensed under the MIT license.