diff --git a/src/erc-20/ERC20Boost.sol b/src/erc-20/ERC20Boost.sol index a1da4df..ab49824 100644 --- a/src/erc-20/ERC20Boost.sol +++ b/src/erc-20/ERC20Boost.sol @@ -136,7 +136,7 @@ abstract contract ERC20Boost is ERC20, Ownable, IERC20Boost { /// @inheritdoc IERC20Boost function detach(address user) external { - require(_userGauges[user].remove(msg.sender)); + require(_userGauges[user].remove(msg.sender)); // Remove from set. Should never fail. delete getUserGaugeBoost[user][msg.sender]; emit Detach(user, msg.sender); @@ -174,8 +174,8 @@ abstract contract ERC20Boost is ERC20, Ownable, IERC20Boost { /// @inheritdoc IERC20Boost function decrementGaugeBoost(address gauge, uint256 boost) public { GaugeState storage gaugeState = getUserGaugeBoost[msg.sender][gauge]; - if (boost >= gaugeState.userGaugeBoost) { - _userGauges[msg.sender].remove(gauge); + if (_deprecatedGauges.contains(gauge) || boost >= gaugeState.userGaugeBoost) { + require(_userGauges[msg.sender].remove(gauge)); // Remove from set. Should never fail. delete getUserGaugeBoost[msg.sender][gauge]; emit Detach(msg.sender, gauge); @@ -188,7 +188,7 @@ abstract contract ERC20Boost is ERC20, Ownable, IERC20Boost { /// @inheritdoc IERC20Boost function decrementGaugeAllBoost(address gauge) external { - require(_userGauges[msg.sender].remove(gauge)); + require(_userGauges[msg.sender].remove(gauge)); // Remove from set. Should never fail. delete getUserGaugeBoost[msg.sender][gauge]; emit Detach(msg.sender, gauge);