This is the official repo of Mesh Finance.
-
Sign up for Infura and generate an API key. Store it in the
WEB3_INFURA_PROJECT_ID
environment variable.
export WEB3_INFURA_PROJECT_ID=ProjectID
- Sign up for Etherscan and generate an API key. This is required for fetching source codes of the mainnet contracts like DAI, yvaults etc. Store the API key in the
ETHERSCAN_TOKEN
environment variable.
export ETHERSCAN_TOKEN=ApiToken
- Compile the project. This will also install the dependencies from the config file.
brownie compile
Current scope of testing is funds contracts. For specific strategies, testing needs to be done manually for now.
To run the tests:
brownie test
This will run all the tests in the test folder. By default, this is configured to run on the mainnet-fork.
For test coverage, use coverage flag.
brownie test --coverage
You can run the tests on local ganache blockchain using development flag.
brownie test --network development
Check Brownie documentation for testing and Brownie documentation for networks.
We are using solhint and prettier for base secutiry checks and linting the code. It can be used in 2 steps. First fixes all the linting issues. Second checks for any vulnerabilies including formatting.
yarn lint
yarn solhint