This commit is contained in:
pradyuman-verma 2021-12-16 11:42:11 +05:30
parent fa6886e033
commit e56ca991e7
No known key found for this signature in database
GPG Key ID: E36FD6BC8923221F
3 changed files with 167 additions and 149 deletions

View File

@ -24,32 +24,35 @@ contract Helpers is DSMath, Basic {
function _deposit(Metadata memory data, uint256 _amount) internal { function _deposit(Metadata memory data, uint256 _amount) internal {
if (data.version == 2) if (data.version == 2)
masterChefV2.deposit(data.poolId, _amount, address(this)); masterChefV2.deposit(data.poolId, _amount, address(this));
else else masterChef.deposit(data.poolId, _amount);
masterChef.deposit(data.poolId, _amount);
} }
function _withdraw(Metadata memory data, uint256 _amount) internal { function _withdraw(Metadata memory data, uint256 _amount) internal {
if (data.version == 2) if (data.version == 2)
masterChefV2.withdraw(data.poolId, _amount, address(this)); masterChefV2.withdraw(data.poolId, _amount, address(this));
else else masterChef.withdraw(data.poolId, _amount);
masterChef.withdraw(data.poolId, _amount);
} }
function _harvest(Metadata memory data) internal { function _harvest(Metadata memory data) internal {
masterChefV2.harvest(data.poolId, address(this)); masterChefV2.harvest(data.poolId, address(this));
} }
function _withdrawAndHarvest(Metadata memory data, uint256 _amount) internal { function _withdrawAndHarvest(Metadata memory data, uint256 _amount)
internal
{
if (data.version == 2) if (data.version == 2)
masterChefV2.withdrawAndHarvest(data.poolId, _amount, address(this)); masterChefV2.withdrawAndHarvest(
data.poolId,
_amount,
address(this)
);
else _withdraw(data, _amount); else _withdraw(data, _amount);
} }
function _emergencyWithdraw(Metadata memory data) internal { function _emergencyWithdraw(Metadata memory data) internal {
if (data.version == 2) if (data.version == 2)
masterChefV2.emergencyWithdraw(data.poolId, address(this)); masterChefV2.emergencyWithdraw(data.poolId, address(this));
else else masterChef.emergencyWithdraw(data.poolId, address(this));
masterChef.emergencyWithdraw(data.poolId, address(this));
} }
function _getPoolId(address tokenA, address tokenB) function _getPoolId(address tokenA, address tokenB)
@ -87,8 +90,14 @@ contract Helpers is DSMath, Basic {
returns (uint256 lpAmount, uint256 rewardsAmount) returns (uint256 lpAmount, uint256 rewardsAmount)
{ {
if (data.version == 2) if (data.version == 2)
(lpAmount, rewardsAmount) = masterChefV2.userInfo(data.poolId, address(this)); (lpAmount, rewardsAmount) = masterChefV2.userInfo(
data.poolId,
address(this)
);
else else
(lpAmount, rewardsAmount) = masterChef.userInfo(data.poolId, address(this)); (lpAmount, rewardsAmount) = masterChef.userInfo(
data.poolId,
address(this)
);
} }
} }

View File

@ -18,12 +18,19 @@ interface IERC20 {
function balanceOf(address account) external view returns (uint256); function balanceOf(address account) external view returns (uint256);
function allowance(address owner, address spender) external view returns (uint256); function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 amount) external returns (bool); function approve(address spender, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value); event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value); event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
/// @notice EIP 2612 /// @notice EIP 2612
function permit( function permit(
@ -42,22 +49,24 @@ interface IMasterChef {
function updatePool(uint256 pid) external returns (PoolInfo memory); function updatePool(uint256 pid) external returns (PoolInfo memory);
function poolInfo(uint256 pid) external view returns (address, uint256, uint256, uint256); function poolInfo(uint256 pid)
external
view
returns (
address,
uint256,
uint256,
uint256
);
function userInfo(uint256 _pid, address _user) function userInfo(uint256 _pid, address _user)
external external
view view
returns (uint256, uint256); returns (uint256, uint256);
function deposit( function deposit(uint256 pid, uint256 amount) external;
uint256 pid,
uint256 amount
) external;
function withdraw( function withdraw(uint256 pid, uint256 amount) external;
uint256 pid,
uint256 amount
) external;
function emergencyWithdraw(uint256 pid, address to) external; function emergencyWithdraw(uint256 pid, address to) external;
} }

View File

@ -202,7 +202,7 @@ abstract contract SushipswapIncentiveResolver is Helpers, Events {
require(data.poolId != uint256(-1), "pool-does-not-exist"); require(data.poolId != uint256(-1), "pool-does-not-exist");
(uint256 lpAmount, uint256 rewardsAmount) = _getUserInfo(data); (uint256 lpAmount, uint256 rewardsAmount) = _getUserInfo(data);
_emergencyWithdraw(data); _emergencyWithdraw(data);
_eventName = "LogEmergencyWithdraw(address,addressuint256,uint256,uint256,uint256)"; _eventName = "LogEmergencyWithdraw(address,address,uint256,uint256,uint256,uint256)";
_eventParam = abi.encode( _eventParam = abi.encode(
token1, token1,
token2, token2,