# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import warnings

from neurion.fusion import query_pb2 as neurion_dot_fusion_dot_query__pb2

GRPC_GENERATED_VERSION = '1.70.0'
GRPC_VERSION = grpc.__version__
_version_not_supported = False

try:
    from grpc._utilities import first_version_is_lower
    _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
    _version_not_supported = True

if _version_not_supported:
    raise RuntimeError(
        f'The grpc package installed is at version {GRPC_VERSION},'
        + f' but the generated code in neurion/fusion/query_pb2_grpc.py depends on'
        + f' grpcio>={GRPC_GENERATED_VERSION}.'
        + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
        + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
    )


class QueryStub(object):
    """Query defines the gRPC querier service.
    """

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.Params = channel.unary_unary(
                '/neurion.fusion.Query/Params',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryParamsRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryParamsResponse.FromString,
                _registered_method=True)
        self.GetTask = channel.unary_unary(
                '/neurion.fusion.Query/GetTask',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskResponse.FromString,
                _registered_method=True)
        self.GetTaskReward = channel.unary_unary(
                '/neurion.fusion.Query/GetTaskReward',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskRewardRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskRewardResponse.FromString,
                _registered_method=True)
        self.GetCreatorApplications = channel.unary_unary(
                '/neurion.fusion.Query/GetCreatorApplications',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetCreatorApplicationsRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetCreatorApplicationsResponse.FromString,
                _registered_method=True)
        self.GetPendingCreatorApplications = channel.unary_unary(
                '/neurion.fusion.Query/GetPendingCreatorApplications',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingCreatorApplicationsRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingCreatorApplicationsResponse.FromString,
                _registered_method=True)
        self.GetModelsByRound = channel.unary_unary(
                '/neurion.fusion.Query/GetModelsByRound',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetModelsByRoundRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetModelsByRoundResponse.FromString,
                _registered_method=True)
        self.GetTaskStake = channel.unary_unary(
                '/neurion.fusion.Query/GetTaskStake',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskStakeRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskStakeResponse.FromString,
                _registered_method=True)
        self.GetValidationTask = channel.unary_unary(
                '/neurion.fusion.Query/GetValidationTask',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetValidationTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetValidationTaskResponse.FromString,
                _registered_method=True)
        self.CanTriggerTestingForRound = channel.unary_unary(
                '/neurion.fusion.Query/CanTriggerTestingForRound',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanTriggerTestingForRoundRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanTriggerTestingForRoundResponse.FromString,
                _registered_method=True)
        self.CanStartNewRound = channel.unary_unary(
                '/neurion.fusion.Query/CanStartNewRound',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanStartNewRoundRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanStartNewRoundResponse.FromString,
                _registered_method=True)
        self.CanRegisterAsProposer = channel.unary_unary(
                '/neurion.fusion.Query/CanRegisterAsProposer',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsProposerRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsProposerResponse.FromString,
                _registered_method=True)
        self.CanRegisterAsValidator = channel.unary_unary(
                '/neurion.fusion.Query/CanRegisterAsValidator',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsValidatorRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsValidatorResponse.FromString,
                _registered_method=True)
        self.IsProposer = channel.unary_unary(
                '/neurion.fusion.Query/IsProposer',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryIsProposerRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryIsProposerResponse.FromString,
                _registered_method=True)
        self.IsValidator = channel.unary_unary(
                '/neurion.fusion.Query/IsValidator',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryIsValidatorRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryIsValidatorResponse.FromString,
                _registered_method=True)
        self.CanProposeModel = channel.unary_unary(
                '/neurion.fusion.Query/CanProposeModel',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanProposeModelRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanProposeModelResponse.FromString,
                _registered_method=True)
        self.CanRequestValidationTask = channel.unary_unary(
                '/neurion.fusion.Query/CanRequestValidationTask',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanRequestValidationTaskRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanRequestValidationTaskResponse.FromString,
                _registered_method=True)
        self.GetPendingValidationTasks = channel.unary_unary(
                '/neurion.fusion.Query/GetPendingValidationTasks',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingValidationTasksRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingValidationTasksResponse.FromString,
                _registered_method=True)
        self.CanTerminate = channel.unary_unary(
                '/neurion.fusion.Query/CanTerminate',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanTerminateRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanTerminateResponse.FromString,
                _registered_method=True)
        self.GetScoreDisputeFromUser = channel.unary_unary(
                '/neurion.fusion.Query/GetScoreDisputeFromUser',
                request_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetScoreDisputeFromUserRequest.SerializeToString,
                response_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetScoreDisputeFromUserResponse.FromString,
                _registered_method=True)


class QueryServicer(object):
    """Query defines the gRPC querier service.
    """

    def Params(self, request, context):
        """Parameters queries the parameters of the module.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTask(self, request, context):
        """Queries a list of GetTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTaskReward(self, request, context):
        """Queries a list of GetTaskReward items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetCreatorApplications(self, request, context):
        """Queries a list of GetCreatorApplications items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPendingCreatorApplications(self, request, context):
        """Queries a list of GetPendingCreatorApplications items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetModelsByRound(self, request, context):
        """Queries a list of GetModelsByRound items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTaskStake(self, request, context):
        """Queries a list of GetTaskStake items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetValidationTask(self, request, context):
        """Queries a list of GetValidationTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanTriggerTestingForRound(self, request, context):
        """Queries a list of CanTriggerTestingForRound items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanStartNewRound(self, request, context):
        """Queries a list of CanStartNewRound items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanRegisterAsProposer(self, request, context):
        """Queries a list of CanRegisterAsProposer items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanRegisterAsValidator(self, request, context):
        """Queries a list of CanRegisterAsValidator items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsProposer(self, request, context):
        """Queries a list of IsProposer items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsValidator(self, request, context):
        """Queries a list of IsValidator items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanProposeModel(self, request, context):
        """Queries a list of CanProposeModel items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanRequestValidationTask(self, request, context):
        """Queries a list of CanRequestValidationTask items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPendingValidationTasks(self, request, context):
        """Queries a list of GetPendingValidationTasks items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CanTerminate(self, request, context):
        """Queries a list of CanTerminate items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetScoreDisputeFromUser(self, request, context):
        """Queries a list of GetScoreDisputeFromUser items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_QueryServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Params': grpc.unary_unary_rpc_method_handler(
                    servicer.Params,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryParamsRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryParamsResponse.SerializeToString,
            ),
            'GetTask': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTask,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskResponse.SerializeToString,
            ),
            'GetTaskReward': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTaskReward,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskRewardRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskRewardResponse.SerializeToString,
            ),
            'GetCreatorApplications': grpc.unary_unary_rpc_method_handler(
                    servicer.GetCreatorApplications,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetCreatorApplicationsRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetCreatorApplicationsResponse.SerializeToString,
            ),
            'GetPendingCreatorApplications': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPendingCreatorApplications,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingCreatorApplicationsRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingCreatorApplicationsResponse.SerializeToString,
            ),
            'GetModelsByRound': grpc.unary_unary_rpc_method_handler(
                    servicer.GetModelsByRound,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetModelsByRoundRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetModelsByRoundResponse.SerializeToString,
            ),
            'GetTaskStake': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTaskStake,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskStakeRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetTaskStakeResponse.SerializeToString,
            ),
            'GetValidationTask': grpc.unary_unary_rpc_method_handler(
                    servicer.GetValidationTask,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetValidationTaskRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetValidationTaskResponse.SerializeToString,
            ),
            'CanTriggerTestingForRound': grpc.unary_unary_rpc_method_handler(
                    servicer.CanTriggerTestingForRound,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanTriggerTestingForRoundRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanTriggerTestingForRoundResponse.SerializeToString,
            ),
            'CanStartNewRound': grpc.unary_unary_rpc_method_handler(
                    servicer.CanStartNewRound,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanStartNewRoundRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanStartNewRoundResponse.SerializeToString,
            ),
            'CanRegisterAsProposer': grpc.unary_unary_rpc_method_handler(
                    servicer.CanRegisterAsProposer,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsProposerRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsProposerResponse.SerializeToString,
            ),
            'CanRegisterAsValidator': grpc.unary_unary_rpc_method_handler(
                    servicer.CanRegisterAsValidator,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsValidatorRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsValidatorResponse.SerializeToString,
            ),
            'IsProposer': grpc.unary_unary_rpc_method_handler(
                    servicer.IsProposer,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryIsProposerRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryIsProposerResponse.SerializeToString,
            ),
            'IsValidator': grpc.unary_unary_rpc_method_handler(
                    servicer.IsValidator,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryIsValidatorRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryIsValidatorResponse.SerializeToString,
            ),
            'CanProposeModel': grpc.unary_unary_rpc_method_handler(
                    servicer.CanProposeModel,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanProposeModelRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanProposeModelResponse.SerializeToString,
            ),
            'CanRequestValidationTask': grpc.unary_unary_rpc_method_handler(
                    servicer.CanRequestValidationTask,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanRequestValidationTaskRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanRequestValidationTaskResponse.SerializeToString,
            ),
            'GetPendingValidationTasks': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPendingValidationTasks,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingValidationTasksRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetPendingValidationTasksResponse.SerializeToString,
            ),
            'CanTerminate': grpc.unary_unary_rpc_method_handler(
                    servicer.CanTerminate,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryCanTerminateRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryCanTerminateResponse.SerializeToString,
            ),
            'GetScoreDisputeFromUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetScoreDisputeFromUser,
                    request_deserializer=neurion_dot_fusion_dot_query__pb2.QueryGetScoreDisputeFromUserRequest.FromString,
                    response_serializer=neurion_dot_fusion_dot_query__pb2.QueryGetScoreDisputeFromUserResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'neurion.fusion.Query', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('neurion.fusion.Query', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class Query(object):
    """Query defines the gRPC querier service.
    """

    @staticmethod
    def Params(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/Params',
            neurion_dot_fusion_dot_query__pb2.QueryParamsRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryParamsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetTask',
            neurion_dot_fusion_dot_query__pb2.QueryGetTaskRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTaskReward(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetTaskReward',
            neurion_dot_fusion_dot_query__pb2.QueryGetTaskRewardRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetTaskRewardResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetCreatorApplications(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetCreatorApplications',
            neurion_dot_fusion_dot_query__pb2.QueryGetCreatorApplicationsRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetCreatorApplicationsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPendingCreatorApplications(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetPendingCreatorApplications',
            neurion_dot_fusion_dot_query__pb2.QueryGetPendingCreatorApplicationsRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetPendingCreatorApplicationsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetModelsByRound(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetModelsByRound',
            neurion_dot_fusion_dot_query__pb2.QueryGetModelsByRoundRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetModelsByRoundResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTaskStake(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetTaskStake',
            neurion_dot_fusion_dot_query__pb2.QueryGetTaskStakeRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetTaskStakeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetValidationTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetValidationTask',
            neurion_dot_fusion_dot_query__pb2.QueryGetValidationTaskRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetValidationTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanTriggerTestingForRound(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanTriggerTestingForRound',
            neurion_dot_fusion_dot_query__pb2.QueryCanTriggerTestingForRoundRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanTriggerTestingForRoundResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanStartNewRound(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanStartNewRound',
            neurion_dot_fusion_dot_query__pb2.QueryCanStartNewRoundRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanStartNewRoundResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanRegisterAsProposer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanRegisterAsProposer',
            neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsProposerRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsProposerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanRegisterAsValidator(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanRegisterAsValidator',
            neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsValidatorRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanRegisterAsValidatorResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsProposer(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/IsProposer',
            neurion_dot_fusion_dot_query__pb2.QueryIsProposerRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryIsProposerResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsValidator(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/IsValidator',
            neurion_dot_fusion_dot_query__pb2.QueryIsValidatorRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryIsValidatorResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanProposeModel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanProposeModel',
            neurion_dot_fusion_dot_query__pb2.QueryCanProposeModelRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanProposeModelResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanRequestValidationTask(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanRequestValidationTask',
            neurion_dot_fusion_dot_query__pb2.QueryCanRequestValidationTaskRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanRequestValidationTaskResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPendingValidationTasks(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetPendingValidationTasks',
            neurion_dot_fusion_dot_query__pb2.QueryGetPendingValidationTasksRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetPendingValidationTasksResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CanTerminate(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/CanTerminate',
            neurion_dot_fusion_dot_query__pb2.QueryCanTerminateRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryCanTerminateResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetScoreDisputeFromUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(
            request,
            target,
            '/neurion.fusion.Query/GetScoreDisputeFromUser',
            neurion_dot_fusion_dot_query__pb2.QueryGetScoreDisputeFromUserRequest.SerializeToString,
            neurion_dot_fusion_dot_query__pb2.QueryGetScoreDisputeFromUserResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
