Yield Farms
Reaper deals a lot with Master Chef contracts, so ways to easily deploy and manage a lot of them is important
Last updated
const testToken = await reaper.deployTestToken("Reaper.Farm", "R3PR", reaper.BigGas);
reaper.sleep(5000);
await reaper.mintTestToken(testToken.address, self, await reaper.parseToken(100000));
let chef = await reaper.deployMasterChef(self, ethers.utils.parseEther("0.01"), 3, reaper.BigGas);
console.log(chef.address);
reaper.sleep(15000);
await reaper.addFarm(chef.address, testToken.address, 500, reaper.BigGas);
reaper.sleep(5000);
await reaper.depositToFarm(chef.address, 0, await reaper.parseToken(500));
let userInfo = await reaper.getUserInfo(chef.address, 0, self);
console.log({
"amount": userInfo.amount.toString(),
"rewardDebt": userInfo.rewardDebt.toString()
});
> { amount: '500000000000000000000', rewardDebt: '0' } let poolInfo = await reaper.getPoolInfo(chef.address, 0);
console.log({
"lpToken": poolInfo.lpToken,
"allocPoint": poolInfo.allocPoint.toString(),
"lastRewardTime": poolInfo.lastRewardTime.toString(),
"accCommPerShare": poolInfo.accCommPerShare.toString()
});
{
lpToken: '0xE7411d7F74ea6ff4cF2658eb42232d34aEe9987D',
allocPoint: '500',
lastRewardTime: '1627374989',
accCommPerShare: '0'
}