Solidity contracts used in the InsureDAO Governance. Folked and Translated from Vyper of Curve Governance DAO, then modified some parameters and codes.
InsureDAO 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. InsureDAO has a token (INSURE) which is used for both governance and value accrual.
InsureDAO's governance part is originally from Curve Finance. Some modification was made to be fit with the InsureDAO Pool.
- node v10.24.1
- hardhat v2.3.3
- @nomiclabs/hardhat-ethers v2.0.2
- @nomiclabs/hardhat-waffle v2.0.1
- @nomiclabs/hardhat-web3 v2.0.0
- ethereum-waffle v3.4.0
- ethers v5.3.1
- chai v4.3.4
- solidity-coverage v0.7.16
Those are Developer's current environment.
clone the repo and install the developer dependencies:
git clone https://github.com/insureDAO/dao-contracts.git
cd dao-contracts
npm install --save-dev
This will install latest packages which is not same as above.
The test suite is split between unit and integration tests. To run the entire suite:
npx hardhat test
To run only the unit tests or integration tests, modify 'hardhat.config'
tests: "./test/unitary",
or
tests: "./test/integration",
solidity-coverage from Hardhat external plugin is included. configuration file is '.solcover'
npx hardhat coverage
You may find the following guides useful:
- LP (simple summary of InsureDAO)
- InsureDAO pool and governance (now updating the contents)
- Governance whitepaper
If you have any questions about this project, or wish to engage with us:
This project is licensed under the MIT license.