@yfi/yearn-protocol-nodejs v0.3.0
yearn-nodejs specific
;
wrapper-ci.sh
revert_trace.sh
nodejs_install.sh
npm-wrapper.bash
truffle-config.js
package.jsonOverview
Changes between this refernce and the offical yearn-protocol
@openzeppelin/contracts 3.1.0
@openzeppelin/contracts 2.5.1
Solidity Versions:
0.5.17
0.6.12npm package.json
{
"name": "yearn-protocol-ci-env-only",
"description": "yearn protocol CI - NOT FOR PRODUCTION USAGE",
"main": "truffle-config.js",
"directories": {
"test": "test"
},
"devDependencies": {
"@commitlint/cli": "^11.0.0",
"@commitlint/config-conventional": "^11.0.0",
"apollo-ethereum": "0.1.1",
"ethlint": "^1.2.5",
"husky": "^4.3.0",
"prettier": "^2.1.2",
"prettier-plugin-solidity": "^1.0.0-alpha.59",
"pretty-quick": "^3.0.2",
"truffle": "^5.1.21",
"@openzeppelin/test-environment": "^0.1.4",
"@truffle/debug-utils": "^4.1.5",
"@truffle/hdwallet-provider": "^1.0.35",
"chai": "^4.2.0",
"ganache-cli": "^6.9.1",
"mocha": "^7.2.0",
"solidity-coverage": "^0.7.5",
"truffle-flattener": "^1.4.4"
},
"scripts": {
"ganache": "ganache-cli",
"coverage": "node --max-old-space-size=4096 ./node_modules/.bin/truffle run coverage --network development",
"test": "truffle test",
"lint:sol": "prettier --write \"contracts/**/*.sol\" \"interfaces/**/*.sol\" --loglevel debug --plugin prettier-plugin-solidity",
"lint": "pretty-quick --pattern '**/*.*(sol|json|md)' --verbose",
"lint:check": "prettier --check **/*.sol **/*.json **/*.md",
"lint:fix": "pretty-quick --pattern '**/*.*(sol|json|md)' --staged --verbose"
},
"husky": {
"hooks": {
"pre-commit": "yarn lint:fix",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"dependencies": {
"@openzeppelin/contracts": "^2.5.1"
}
}Yearn Protocol
Yearn Protocol is a set of Ethereum Smart Contracts focused on creating a simple way to generate high risk-adjusted returns for depositors of various assets via best-in-class lending protocols, liquidity pools, and community-made yield farming strategies on Ethereum.
Before getting started with this repo, please read:
- Andre's Overview Blog Post, describing how yearn.finance works.
- The Delegated Vaults Blog Post, explaining how the delegated vaults work.
- yETH Vault Explained, describing how the yETH vault works.
Requirements
To run the project you need:
- Python 3.8 local development environment and Node.js 10.x development environment for Ganache.
- Brownie local environment setup. See instructions: ETH Brownie.
- Local env variables for Etherscan API and Infura (
ETHERSCAN_TOKEN,WEB3_INFURA_PROJECT_ID). - Local Ganache environment installed with
npm install -g ganache-cli@6.11.
Installation
To run the yearn protocol, pull the repository from GitHub and install its dependencies. You will need yarn installed.
git clone https://github.com/iearn-finance/yearn-protocol
cd yearn-protocol
yarn install --lock-fileCompile the Smart Contracts:
brownie compileTests
Run tests:
brownie test -sRun tests with coverage:
brownie test -s --coverageFormatting
Check linter rules for *.json and *.sol files:
yarn lint:checkFix linter errors for *.json and *.sol files:
yarn lint:fixCheck linter rules for *.py files:
black . --check --config black-config.tomlFix linter errors for *.py files:
black . --config black-config.tomlSecurity
For security concerns, please visit Bug Bounty.
Documentation
You can read more about yearn finance on our documentation webpage.
Discussion
For questions not covered in the docs, please visit our Discord server.