BarnBridge Yield Farming
BarnBridge Liquidity Provider Yield Farming for BOND/USDC LPs on UniSwap. Previous Pools:
- USDC/DAI/sUSD The stablecoin staking pool ended after 25 epochs on Apr 12 2021, 00:00 UTC. Deposits are now disabled but you can still withdraw your tokens and collect any unclaimed rewards.
- The $BOND staking pool ended after 12 epochs on Feb 08 2021, 00:00 UTC. Deposits are now disabled, but you can still withdraw your tokens and collect any unclaimed rewards. To continue to stake $BOND proceed to the DAO
Any questions? Please contact us on Discord or read our Developer Guides for more information.
Active Contracts
YieldFarmLP.sol
Awards a total of 2000000 BOND over 100 Epochs to Uniswap BOND/USDC liquidity providers Contract
Smart Contract Architecture
Check out more detailed smart contract Slither graphs with all the dependencies: Yield Farming Slither Graphs.
Initial Setup
Install NVM and the latest version of NodeJS 12.x
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
# Restart terminal and/or run commands given at the end of the installation script
nvm install 12
nvm use 12
Use Git to pull down the BarnBridge-SmartYieldBonds repository from GitHub
git clone https://github.com/BarnBridge/BarnBridge-YieldFarming.git
cd BarnBridge-YieldFarming
Updating the .env file
Create an API key with a Provider such as Infura to deploy to Ethereum Public Testnet. In this guide, we are using Kovan.
- Navigate to Infura.io and create an account
- Log in and select "Get started and create your first project to access the Ethereum network"
- Create a project and name it appropriately
- Switch the Endpoint to Kovan and copy the HTTPS URL into the PROVIDER section section in the .env file
- Finally, insert the mnemonic phrase for your testing wallet into the MNEMONIC section in the .env file. You can use a MetaMask instance, and switch the network to Rinkeby on the upper right. DO NOT USE YOUR PERSONAL METAMASK SEED PHRASE; USE A DIFFERENT BROWSER WITH AN INDEPENDENT METAMASK INSTALLATION
- You'll need some Kovan-ETH (it is free) in order to pay the gas costs of deploying the contracts on the TestNet; you can use your GitHub account to authenticate to the KovanFaucet and receive 2 Kovan-ETH for free every 24 hours
Create an API key with Etherscan
- Navigate to EtherScan and create an account
- Log in and navigate to MyAPIKey
- Use the Add button to create an API key, and paste it into the ETHERSCAN section of the .env file.
Installing
Install NodeJS dependencies which include HardHat
npm install
Compile the contracts
npm run compile
Running Tests
npm run test
Running Code Coverage Tests
npm run coverage
Deplying to Kovan
Use the code in the scripts folder to deploy on Kovan
npm run deploy-from-env
OPTIONAL: Manually initialize Epoch passage
Update line 12 of the env-manualEpochInit.js file with the staking address given by your deploy-kovan.js execution, and run it
npm run manual-epoch-init-env
MainNet Contracts
Audits
Discussion
For any concerns with the platform, open an issue on GitHub or visit us on Discord to discuss. For security concerns, please email [email protected].
Copyright 2021 BarnBridge DAO