Vyper contracts used in the Hundred Governance DAO (forked and adapted from Curve Dao contracts).
Hundred DAO consists of multiple smart contracts enabling HND token distribution to ecosystem participants. voting power is weighted using locked HND
veHND
the same way as veCRV
is.
View the documentation for a more in-depth explanation of how Curve DAO works.
- python3 version 3.6 or greater, python3-dev
- vyper version 0.2.13
- brownie - tested with version 1.17.2
- 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/hundred-finance/hundred-dao.git
cd hundred-dao
pip install -r requirements.txt
brownie pm install OpenZeppelin/[email protected]
brownie pm install OpenZeppelin/[email protected]
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
Some tests are written in javascript using hardhat
and can be run as the following:
npm run test
This project is licensed under the MIT license.