# yearn-starter-pack **Repository Path**: yfinance/yearn-starter-pack ## Basic Information - **Project Name**: yearn-starter-pack - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-11 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yearn-starter-pack ### What you'll find here Solidity Smart Contracts for DAI Curve Strategy plus it's Controller and yVault. Interfaces for some of the most used DeFi protocols on ethereum mainnet. Sample test suite that runs on mainnet fork. ### How does it work for the User Let's say Alice holds 100 DAI and wants to start earning yield % on them. For this Alice needs to `DAI.approve(yVault.address, 100)`. Then Alice will call `yVault.deposit(100)`. yVault will then transfer 100 DAI from Alice to itself, and mint Alice the corresponding shares. Alice can then redeem those shares using `yVault.withdrawAll()` for the corresponding DAI balance. ### How does it work for the Vault TODO ### Requirements - [Install Brownie](https://eth-brownie.readthedocs.io/en/stable/install.html) - Install Dev dependencies: `pip3 install -r requirements-dev.txt` - Use whatever pip version avaiable - Install ganache-cli: `npm install -g ganache-cli@6.10.1` - > For those of you using Node 14, you'll need to launch ganache-cli via node 8, 10, or 12 until this is fixed. For example, run nvm use 12 && npm install ganache-cli -g to install for node 12, and then run ganache-cli with nvm use 12 && ganache-cli. - Install npm dependencies: `npm install` - Copy `.env.example` to `.env` - Setup `ETHERSCAN_TOKEN` & `WEB3_INFURA_PROJECT_ID` on `.env` - Get them from: [etherscan](https://etherscan.io/apis) and [infura](https://infura.io/) respectively ### Useful commands - Compile contracts with: `npm run compile` - Run tests with: `npm test`