diff --git a/contracts/SmartVaultV4.sol b/contracts/SmartVaultV4.sol index b727fd7..580a828 100644 --- a/contracts/SmartVaultV4.sol +++ b/contracts/SmartVaultV4.sol @@ -333,13 +333,11 @@ contract SmartVaultV4 is ISmartVault, IRedeemable { IERC20(_collateralToken).forceApprove(_swapRouterAddress, 0); } - function redeposit(uint256 _withdrawn, uint256 _collateralBalance, address _hypervisor, address _collateralToken) - private - { + function redeposit(uint256 _withdrawn, uint256 _collateralBalance, address _collateralToken) private { uint256 _redeposit = _withdrawn > _collateralBalance ? _collateralBalance : _withdrawn; address _yieldManager = ISmartVaultManager(manager).yieldManager(); IERC20(_collateralToken).safeIncreaseAllowance(_yieldManager, _redeposit); - ISmartVaultYieldManager(_yieldManager).quickDeposit(_hypervisor, _collateralToken, _redeposit); + ISmartVaultYieldManager(_yieldManager).quickDeposit(_collateralToken, _redeposit); IERC20(_collateralToken).forceApprove(_yieldManager, 0); } @@ -371,7 +369,7 @@ contract SmartVaultV4 is ISmartVault, IRedeemable { if (_collateralBalance == 0) { removeHypervisor(_hypervisor); } else { - redeposit(_withdrawn, _collateralBalance, _hypervisor, _collateralToken); + redeposit(_withdrawn, _collateralBalance, _collateralToken); } } if (undercollateralised()) revert Undercollateralised(); diff --git a/contracts/SmartVaultYieldManager.sol b/contracts/SmartVaultYieldManager.sol index 1b39820..ca5a686 100644 --- a/contracts/SmartVaultYieldManager.sol +++ b/contracts/SmartVaultYieldManager.sol @@ -318,7 +318,7 @@ contract SmartVaultYieldManager is ISmartVaultYieldManager, Ownable { emit Withdraw(msg.sender, _token, _hypervisor, _withdrawn); } - function quickDeposit(address _hypervisor, address _collateralToken, uint256 _deposit) external { + function quickDeposit(address _collateralToken, uint256 _deposit) external { IERC20(_collateralToken).safeTransferFrom(msg.sender, address(this), _deposit); HypervisorData memory _hypervisorData = hypervisorData[_collateralToken]; _otherDeposit(_collateralToken, _hypervisorData); diff --git a/contracts/interfaces/ISmartVaultYieldManager.sol b/contracts/interfaces/ISmartVaultYieldManager.sol index aace5e9..23129e9 100644 --- a/contracts/interfaces/ISmartVaultYieldManager.sol +++ b/contracts/interfaces/ISmartVaultYieldManager.sol @@ -6,6 +6,6 @@ interface ISmartVaultYieldManager { external returns (address vault0, address vault1); function withdraw(address _hypervisor, address _token) external; - function quickDeposit(address _hypervisor, address _token, uint256 _deposit) external; + function quickDeposit(address _token, uint256 _deposit) external; function quickWithdraw(address _hypervisor, address _token) external returns (uint256 _withdrawn); }