From e56ca991e75a1b79f25e0b02217c72b11d3364c6 Mon Sep 17 00:00:00 2001 From: pradyuman-verma Date: Thu, 16 Dec 2021 11:42:11 +0530 Subject: [PATCH] update --- .../connectors/sushi-incentive/helpers.sol | 159 +++++++++--------- .../connectors/sushi-incentive/interface.sol | 155 +++++++++-------- .../connectors/sushi-incentive/main.sol | 2 +- 3 files changed, 167 insertions(+), 149 deletions(-) diff --git a/contracts/mainnet/connectors/sushi-incentive/helpers.sol b/contracts/mainnet/connectors/sushi-incentive/helpers.sol index 7796fb65..a02379db 100644 --- a/contracts/mainnet/connectors/sushi-incentive/helpers.sol +++ b/contracts/mainnet/connectors/sushi-incentive/helpers.sol @@ -3,92 +3,101 @@ pragma solidity ^0.7.0; pragma experimental ABIEncoderV2; -import {DSMath} from "../../common/math.sol"; -import {Basic} from "../../common/basic.sol"; +import { DSMath } from "../../common/math.sol"; +import { Basic } from "../../common/basic.sol"; import "./interface.sol"; contract Helpers is DSMath, Basic { - IMasterChefV2 immutable masterChefV2 = - IMasterChefV2(0xEF0881eC094552b2e128Cf945EF17a6752B4Ec5d); - IMasterChef immutable masterChef = - IMasterChef(0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd); - ISushiSwapFactory immutable factory = - ISushiSwapFactory(0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac); + IMasterChefV2 immutable masterChefV2 = + IMasterChefV2(0xEF0881eC094552b2e128Cf945EF17a6752B4Ec5d); + IMasterChef immutable masterChef = + IMasterChef(0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd); + ISushiSwapFactory immutable factory = + ISushiSwapFactory(0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac); - struct Metadata { - uint256 poolId; - uint256 version; - address lpToken; - } + struct Metadata { + uint256 poolId; + uint256 version; + address lpToken; + } - function _deposit(Metadata memory data, uint256 _amount) internal { - if(data.version == 2) - masterChefV2.deposit(data.poolId, _amount, address(this)); - else - masterChef.deposit(data.poolId, _amount); - } + function _deposit(Metadata memory data, uint256 _amount) internal { + if (data.version == 2) + masterChefV2.deposit(data.poolId, _amount, address(this)); + else masterChef.deposit(data.poolId, _amount); + } - function _withdraw(Metadata memory data, uint256 _amount) internal { - if(data.version == 2) - masterChefV2.withdraw(data.poolId, _amount, address(this)); - else - masterChef.withdraw(data.poolId, _amount); - } + function _withdraw(Metadata memory data, uint256 _amount) internal { + if (data.version == 2) + masterChefV2.withdraw(data.poolId, _amount, address(this)); + else masterChef.withdraw(data.poolId, _amount); + } - function _harvest(Metadata memory data) internal { - masterChefV2.harvest(data.poolId, address(this)); - } + function _harvest(Metadata memory data) internal { + masterChefV2.harvest(data.poolId, address(this)); + } - function _withdrawAndHarvest(Metadata memory data, uint256 _amount) internal { - if(data.version == 2) - masterChefV2.withdrawAndHarvest(data.poolId, _amount, address(this)); - else _withdraw(data, _amount); - } + function _withdrawAndHarvest(Metadata memory data, uint256 _amount) + internal + { + if (data.version == 2) + masterChefV2.withdrawAndHarvest( + data.poolId, + _amount, + address(this) + ); + else _withdraw(data, _amount); + } - function _emergencyWithdraw(Metadata memory data) internal { - if(data.version == 2) - masterChefV2.emergencyWithdraw(data.poolId, address(this)); - else - masterChef.emergencyWithdraw(data.poolId, address(this)); - } + function _emergencyWithdraw(Metadata memory data) internal { + if (data.version == 2) + masterChefV2.emergencyWithdraw(data.poolId, address(this)); + else masterChef.emergencyWithdraw(data.poolId, address(this)); + } - function _getPoolId(address tokenA, address tokenB) - internal - view - returns (Metadata memory data) - { - address pair = factory.getPair(tokenA, tokenB); - uint256 length = masterChefV2.poolLength(); - data.version = 2; - data.poolId = uint256(-1); + function _getPoolId(address tokenA, address tokenB) + internal + view + returns (Metadata memory data) + { + address pair = factory.getPair(tokenA, tokenB); + uint256 length = masterChefV2.poolLength(); + data.version = 2; + data.poolId = uint256(-1); - for (uint256 i = 0; i < length; i++) { - data.lpToken = masterChefV2.lpToken(i); - if (pair == data.lpToken) { - data.poolId = i; - break; - } - } + for (uint256 i = 0; i < length; i++) { + data.lpToken = masterChefV2.lpToken(i); + if (pair == data.lpToken) { + data.poolId = i; + break; + } + } - uint256 lengthV1 = masterChef.poolLength(); - for (uint256 i = 0; i < lengthV1; i++) { - (data.lpToken, , , ) = masterChef.poolInfo(i); - if (pair == data.lpToken) { - data.poolId = i; - data.version = 1; - break; - } - } - } + uint256 lengthV1 = masterChef.poolLength(); + for (uint256 i = 0; i < lengthV1; i++) { + (data.lpToken, , , ) = masterChef.poolInfo(i); + if (pair == data.lpToken) { + data.poolId = i; + data.version = 1; + break; + } + } + } - function _getUserInfo(Metadata memory data) - internal - view - returns (uint256 lpAmount, uint256 rewardsAmount) - { - if(data.version == 2) - (lpAmount, rewardsAmount) = masterChefV2.userInfo(data.poolId, address(this)); - else - (lpAmount, rewardsAmount) = masterChef.userInfo(data.poolId, address(this)); - } + function _getUserInfo(Metadata memory data) + internal + view + returns (uint256 lpAmount, uint256 rewardsAmount) + { + if (data.version == 2) + (lpAmount, rewardsAmount) = masterChefV2.userInfo( + data.poolId, + address(this) + ); + else + (lpAmount, rewardsAmount) = masterChef.userInfo( + data.poolId, + address(this) + ); + } } diff --git a/contracts/mainnet/connectors/sushi-incentive/interface.sol b/contracts/mainnet/connectors/sushi-incentive/interface.sol index ba3b1c6c..777e4d77 100644 --- a/contracts/mainnet/connectors/sushi-incentive/interface.sol +++ b/contracts/mainnet/connectors/sushi-incentive/interface.sol @@ -2,116 +2,125 @@ pragma solidity ^0.7.0; pragma experimental ABIEncoderV2; struct UserInfo { - uint256 amount; - uint256 rewardDebt; + uint256 amount; + uint256 rewardDebt; } struct PoolInfo { - IERC20 lpToken; // Address of LP token contract. - uint256 allocPoint; // How many allocation points assigned to this pool. SUSHIs to distribute per block. - uint256 lastRewardBlock; // Last block number that SUSHIs distribution occurs. - uint256 accSushiPerShare; // Accumulated SUSHIs per share, times 1e12. See below. + IERC20 lpToken; // Address of LP token contract. + uint256 allocPoint; // How many allocation points assigned to this pool. SUSHIs to distribute per block. + uint256 lastRewardBlock; // Last block number that SUSHIs distribution occurs. + uint256 accSushiPerShare; // Accumulated SUSHIs per share, times 1e12. See below. } interface IERC20 { - function totalSupply() external view returns (uint256); + function totalSupply() external view returns (uint256); - 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 Approval(address indexed owner, address indexed spender, uint256 value); + event Transfer(address indexed from, address indexed to, uint256 value); + event Approval( + address indexed owner, + address indexed spender, + uint256 value + ); - /// @notice EIP 2612 - function permit( - address owner, - address spender, - uint256 value, - uint256 deadline, - uint8 v, - bytes32 r, - bytes32 s - ) external; + /// @notice EIP 2612 + function permit( + address owner, + address spender, + uint256 value, + uint256 deadline, + uint8 v, + bytes32 r, + bytes32 s + ) external; } interface IMasterChef { - function poolLength() external view returns (uint256); + function poolLength() external view returns (uint256); - 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) - external - view - returns (uint256, uint256); + function userInfo(uint256 _pid, address _user) + external + view + returns (uint256, uint256); - function deposit( - uint256 pid, - uint256 amount - ) external; + function deposit(uint256 pid, uint256 amount) external; - function withdraw( - uint256 pid, - uint256 amount - ) external; + function withdraw(uint256 pid, uint256 amount) external; - function emergencyWithdraw(uint256 pid, address to) external; + function emergencyWithdraw(uint256 pid, address to) external; } interface IMasterChefV2 { - function poolLength() external view returns (uint256); + function poolLength() external view returns (uint256); - function updatePool(uint256 pid) external returns (PoolInfo memory); + function updatePool(uint256 pid) external returns (PoolInfo memory); - function lpToken(uint256 pid) external view returns (address); + function lpToken(uint256 pid) external view returns (address); - function userInfo(uint256 _pid, address _user) - external - view - returns (uint256, uint256); + function userInfo(uint256 _pid, address _user) + external + view + returns (uint256, uint256); - function deposit( - uint256 pid, - uint256 amount, - address to - ) external; + function deposit( + uint256 pid, + uint256 amount, + address to + ) external; - function withdraw( - uint256 pid, - uint256 amount, - address to - ) external; + function withdraw( + uint256 pid, + uint256 amount, + address to + ) external; - function emergencyWithdraw(uint256 pid, address to) external; + function emergencyWithdraw(uint256 pid, address to) external; - function harvest(uint256 pid, address to) external; + function harvest(uint256 pid, address to) external; - function withdrawAndHarvest( - uint256 pid, - uint256 amount, - address to - ) external; + function withdrawAndHarvest( + uint256 pid, + uint256 amount, + address to + ) external; } interface ISushiSwapFactory { - function getPair(address tokenA, address tokenB) - external - view - returns (address pair); + function getPair(address tokenA, address tokenB) + external + view + returns (address pair); - function allPairs(uint256) external view returns (address pair); + function allPairs(uint256) external view returns (address pair); - function allPairsLength() external view returns (uint256); + function allPairsLength() external view returns (uint256); - function feeTo() external view returns (address); + function feeTo() external view returns (address); - function feeToSetter() external view returns (address); + function feeToSetter() external view returns (address); - function createPair(address tokenA, address tokenB) - external - returns (address pair); + function createPair(address tokenA, address tokenB) + external + returns (address pair); } diff --git a/contracts/mainnet/connectors/sushi-incentive/main.sol b/contracts/mainnet/connectors/sushi-incentive/main.sol index 4d88c17e..bfb56d79 100644 --- a/contracts/mainnet/connectors/sushi-incentive/main.sol +++ b/contracts/mainnet/connectors/sushi-incentive/main.sol @@ -202,7 +202,7 @@ abstract contract SushipswapIncentiveResolver is Helpers, Events { require(data.poolId != uint256(-1), "pool-does-not-exist"); (uint256 lpAmount, uint256 rewardsAmount) = _getUserInfo(data); _emergencyWithdraw(data); - _eventName = "LogEmergencyWithdraw(address,addressuint256,uint256,uint256,uint256)"; + _eventName = "LogEmergencyWithdraw(address,address,uint256,uint256,uint256,uint256)"; _eventParam = abi.encode( token1, token2,