marcoleewow / yIdleStrategies

Yearn v2 Strategies for Idle.finance

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yearn Strategy Mix

What you'll find here

Solidity Smart Contract template for creating your own contract in the Brownie framework.

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(vault.address, 100).

Then Alice will call vault.deposit(100).

Vault 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

  • Install Dev dependencies: pip3 install -r requirements-dev.txt

    • Use whatever pip version available
  • Install ganache-cli: npm install -g ganache-cli@6.12.0

    • 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

  • Install project dependencies:

$ brownie pm install iearn-finance/yearn-vaults@0.2.0
$ brownie pm install OpenZeppelin/openzeppelin-contracts@3.1.0
  • Copy .env.example to .env

  • Setup ETHERSCAN_TOKEN & WEB3_INFURA_PROJECT_ID on .env

Useful commands

  • Compile contracts with: brownie compile (or brownie compile --size to see EVM bytecode sizes)

  • Run tests with: brownie test

About

Yearn v2 Strategies for Idle.finance

License:GNU Affero General Public License v3.0


Languages

Language:Solidity 71.7%Language:Python 28.0%Language:Shell 0.3%