/curve-dao-contracts

Vyper contracts to be used by Curve DAO

Primary LanguagePythonMIT LicenseMIT

curve-dao-contracts

Vyper contracts used in the Curve Governance DAO.

Overview

Curve DAO consists of multiple smart contracts connected by Aragon. Interaction with Aragon occurs through a modified implementation of the Aragon Voting App. Aragon's standard one token, one vote method is replaced with a weighting system based on locking tokens. Curve DAO has a token (CRV) which is used for both governance and value accrual.

View the documentation for a more in-depth explanation of how Curve DAO works.

Testing and Development

Dependencies

Setup

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

Running the Tests

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

Deployment

See the deployment documentation for detailed information on how to deploy Curve DAO.

Audits and Security

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.

Resources

You may find the following guides useful:

  1. Curve and Curve DAO Resources
  2. How to earn and claim CRV
  3. Voting and vote locking on Curve DAO

Community

If you have any questions about this project, or wish to engage with us:

License

This project is licensed under the MIT license.