/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

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.

Resources

You may find the following guides useful:

  1. How to earn and claim CRV
  2. 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.