contract ERC20TransferProxy is OwnableOperatorRole {

    /// @notice Calls transferFrom for ERC20 and fails on error.
    /// @notice Can be called only by operator.
    function erc20safeTransferFrom(IERC20 token, address from, address to, uint256 value) external onlyOperator {
        require(token.transferFrom(from, to, value), "failure while transferring");
    }
}
/// @notice ERC20 transfer proxy.
function erc20safeTransferFrom(IERC20 token, address from, address to, uint256 value) external onlyOperator {
    require(token.transferFrom(from, to, value), "failure while transferring");
}

/// @notice Calls transferFrom for ERC20 and fails on error.
/// @notice Can be called only by operator.