hundred-finance / hundred-dao

Implementation of veHND
MIT License
13 stars 15 forks source link

hundred-dao

Vyper contracts used in the Hundred Governance DAO (forked and adapted from Curve Dao contracts).

Overview

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 veCRVis.

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/hundred-finance/hundred-dao.git
cd hundred-dao
pip install -r requirements.txt
brownie pm install OpenZeppelin/openzeppelin-contracts@4.4.2
brownie pm install OpenZeppelin/openzeppelin-contracts@4.2.0

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

Some tests are written in javascript using hardhat and can be run as the following:

npm run test

License

This project is licensed under the MIT license.