Skip to content

Commit

Permalink
feat: add claim to strategy proxy (yearn#69)
Browse files Browse the repository at this point in the history
Co-authored-by: Andre Cronje <[email protected]>
  • Loading branch information
banteg and Andre Cronje authored Nov 26, 2020
1 parent 67ab595 commit 77d2305
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
12 changes: 12 additions & 0 deletions contracts/strategies/StrategyProxy.sol
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import "@openzeppelinV2/contracts/token/ERC20/SafeERC20.sol";

import "../../interfaces/yearn/IProxy.sol";
import "../../interfaces/curve/Mintr.sol";
import "../../interfaces/curve/FeeDistribution.sol";

contract StrategyProxy {
using SafeERC20 for IERC20;
Expand All @@ -20,6 +21,9 @@ contract StrategyProxy {
address public constant crv = address(0xD533a949740bb3306d119CC777fa900bA034cd52);
address public constant gauge = address(0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB);
address public constant y = address(0xFA712EE4788C042e2B7BB55E6cb8ec569C4530c1);
address public constant yveCRV = address(0xc5bDdf9843308380375a611c18B50Fb9341f502A);
address public constant CRV3 = address(0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490);
FeeDistribution public constant feeDistribution = FeeDistribution(0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc);

mapping(address => bool) public strategies;
address public governance;
Expand Down Expand Up @@ -96,4 +100,12 @@ contract StrategyProxy {
uint256 _balance = _after.sub(_before);
proxy.execute(crv, 0, abi.encodeWithSignature("transfer(address,uint256)", msg.sender, _balance));
}

function claim(address recipient) external {
require(msg.sender == yveCRV, "!strategy");
uint256 amount = feeDistribution.claim(address(proxy));
if (amount > 0) {
proxy.execute(CRV3, 0, abi.encodeWithSignature("transfer(address,uint256)", recipient, amount));
}
}
}
5 changes: 5 additions & 0 deletions interfaces/curve/FeeDistribution.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
pragma solidity ^0.5.17;

interface FeeDistribution {
function claim(address) external returns (uint256);
}

0 comments on commit 77d2305

Please sign in to comment.