diff --git a/contracts/exchange/contracts/src/MixinProtocolFees.sol b/contracts/exchange/contracts/src/MixinProtocolFees.sol index da88503c1f..c6dc31debf 100644 --- a/contracts/exchange/contracts/src/MixinProtocolFees.sol +++ b/contracts/exchange/contracts/src/MixinProtocolFees.sol @@ -50,6 +50,23 @@ contract MixinProtocolFees is function setProtocolFeeCollectorAddress(address updatedProtocolFeeCollector) external onlyOwner + { + _setProtocolFeeCollectorAddress(updatedProtocolFeeCollector); + } + + /// @dev Sets the protocolFeeCollector contract address to 0. + /// Only callable by owner. + function detachProtocolFeeCollector() + external + onlyOwner + { + _setProtocolFeeCollectorAddress(address(0)); + } + + /// @dev Sets the protocolFeeCollector address and emits an event. + /// @param updatedProtocolFeeCollector The updated protocolFeeCollector contract address. + function _setProtocolFeeCollectorAddress(address updatedProtocolFeeCollector) + internal { emit ProtocolFeeCollectorAddress(protocolFeeCollector, updatedProtocolFeeCollector); protocolFeeCollector = updatedProtocolFeeCollector;