PoolTogether Yield Source that uses Aave V3 to generate yield by lending any ERC20 token deposited into the Yield Source to Aave.
Clone this repository and enter the directory:
cd aave-v3-yield-source
Install dependencies:
yarn
We use direnv to manage environment variables. You'll likely need to install it.
Copy .envrc.example
and write down the env variables needed to run this project.
cp .envrc.example .envrc
Once your env variables are setup, load them with:
direnv allow
Run the following command to compile the contract:
yarn compile
We use the Hardhat ecosystem to test our contracts.
To run unit tests:
yarn test
To run coverage:
yarn coverage
Before deploying, you can make sure your implementation works by deploying a Yield Source Prize Pool on a fork of Polygon.
To do so, run the following command:
yarn run-yield-source-fork
Prettier is used to format TypeScript and Solidity code. Use it by running:
yarn format
Solhint is used to lint Solidity files. Run it with:
yarn hint
TypeChain is used to generates types for scripts and tests. Generate types by running:
yarn typechain