# 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.ganglion import query_pb2 as neurion_dot_ganglion_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/ganglion/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.ganglion.Query/Params',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryParamsRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryParamsResponse.FromString,
                _registered_method=True)
        self.IonByIonAddress = channel.unary_unary(
                '/neurion.ganglion.Query/IonByIonAddress',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByIonAddressRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByIonAddressResponse.FromString,
                _registered_method=True)
        self.IonByCreator = channel.unary_unary(
                '/neurion.ganglion.Query/IonByCreator',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByCreatorRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByCreatorResponse.FromString,
                _registered_method=True)
        self.GetValidators = channel.unary_unary(
                '/neurion.ganglion.Query/GetValidators',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetValidatorsRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetValidatorsResponse.FromString,
                _registered_method=True)
        self.IonsByInputSchemaHash = channel.unary_unary(
                '/neurion.ganglion.Query/IonsByInputSchemaHash',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByInputSchemaHashRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByInputSchemaHashResponse.FromString,
                _registered_method=True)
        self.GetPathway = channel.unary_unary(
                '/neurion.ganglion.Query/GetPathway',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayResponse.FromString,
                _registered_method=True)
        self.ListPathways = channel.unary_unary(
                '/neurion.ganglion.Query/ListPathways',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryListPathwaysRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryListPathwaysResponse.FromString,
                _registered_method=True)
        self.ListIonsByAddresses = channel.unary_unary(
                '/neurion.ganglion.Query/ListIonsByAddresses',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryListIonsByAddressesRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryListIonsByAddressesResponse.FromString,
                _registered_method=True)
        self.UserPathwayStake = channel.unary_unary(
                '/neurion.ganglion.Query/UserPathwayStake',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryUserPathwayStakeRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryUserPathwayStakeResponse.FromString,
                _registered_method=True)
        self.GetUserReward = channel.unary_unary(
                '/neurion.ganglion.Query/GetUserReward',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetUserRewardRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetUserRewardResponse.FromString,
                _registered_method=True)
        self.GetProtocolFee = channel.unary_unary(
                '/neurion.ganglion.Query/GetProtocolFee',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetProtocolFeeRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetProtocolFeeResponse.FromString,
                _registered_method=True)
        self.PathwaysUsingIon = channel.unary_unary(
                '/neurion.ganglion.Query/PathwaysUsingIon',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryPathwaysUsingIonRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryPathwaysUsingIonResponse.FromString,
                _registered_method=True)
        self.IonsByReports = channel.unary_unary(
                '/neurion.ganglion.Query/IonsByReports',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByReportsRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByReportsResponse.FromString,
                _registered_method=True)
        self.ListAllPathways = channel.unary_unary(
                '/neurion.ganglion.Query/ListAllPathways',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryListAllPathwaysRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryListAllPathwaysResponse.FromString,
                _registered_method=True)
        self.GetReward = channel.unary_unary(
                '/neurion.ganglion.Query/GetReward',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetRewardRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetRewardResponse.FromString,
                _registered_method=True)
        self.GetStake = channel.unary_unary(
                '/neurion.ganglion.Query/GetStake',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakeRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakeResponse.FromString,
                _registered_method=True)
        self.GetIon = channel.unary_unary(
                '/neurion.ganglion.Query/GetIon',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetIonRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetIonResponse.FromString,
                _registered_method=True)
        self.GetPathwayUnstakeInitiatedUsers = channel.unary_unary(
                '/neurion.ganglion.Query/GetPathwayUnstakeInitiatedUsers',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayUnstakeInitiatedUsersRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayUnstakeInitiatedUsersResponse.FromString,
                _registered_method=True)
        self.GetStakerReward = channel.unary_unary(
                '/neurion.ganglion.Query/GetStakerReward',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakerRewardRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakerRewardResponse.FromString,
                _registered_method=True)
        self.GetAvailableIons = channel.unary_unary(
                '/neurion.ganglion.Query/GetAvailableIons',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAvailableIonsRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAvailableIonsResponse.FromString,
                _registered_method=True)
        self.ValidateIonChain = channel.unary_unary(
                '/neurion.ganglion.Query/ValidateIonChain',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryValidateIonChainRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryValidateIonChainResponse.FromString,
                _registered_method=True)
        self.GetAllowedIps = channel.unary_unary(
                '/neurion.ganglion.Query/GetAllowedIps',
                request_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAllowedIpsRequest.SerializeToString,
                response_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAllowedIpsResponse.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 IonByIonAddress(self, request, context):
        """Queries a list of IonByIonAddress items.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def GetAllowedIps(self, request, context):
        """Queries a list of GetAllowedIps 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_ganglion_dot_query__pb2.QueryParamsRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryParamsResponse.SerializeToString,
            ),
            'IonByIonAddress': grpc.unary_unary_rpc_method_handler(
                    servicer.IonByIonAddress,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByIonAddressRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByIonAddressResponse.SerializeToString,
            ),
            'IonByCreator': grpc.unary_unary_rpc_method_handler(
                    servicer.IonByCreator,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByCreatorRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonByCreatorResponse.SerializeToString,
            ),
            'GetValidators': grpc.unary_unary_rpc_method_handler(
                    servicer.GetValidators,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetValidatorsRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetValidatorsResponse.SerializeToString,
            ),
            'IonsByInputSchemaHash': grpc.unary_unary_rpc_method_handler(
                    servicer.IonsByInputSchemaHash,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByInputSchemaHashRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByInputSchemaHashResponse.SerializeToString,
            ),
            'GetPathway': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPathway,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayResponse.SerializeToString,
            ),
            'ListPathways': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPathways,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryListPathwaysRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryListPathwaysResponse.SerializeToString,
            ),
            'ListIonsByAddresses': grpc.unary_unary_rpc_method_handler(
                    servicer.ListIonsByAddresses,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryListIonsByAddressesRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryListIonsByAddressesResponse.SerializeToString,
            ),
            'UserPathwayStake': grpc.unary_unary_rpc_method_handler(
                    servicer.UserPathwayStake,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryUserPathwayStakeRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryUserPathwayStakeResponse.SerializeToString,
            ),
            'GetUserReward': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserReward,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetUserRewardRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetUserRewardResponse.SerializeToString,
            ),
            'GetProtocolFee': grpc.unary_unary_rpc_method_handler(
                    servicer.GetProtocolFee,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetProtocolFeeRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetProtocolFeeResponse.SerializeToString,
            ),
            'PathwaysUsingIon': grpc.unary_unary_rpc_method_handler(
                    servicer.PathwaysUsingIon,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryPathwaysUsingIonRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryPathwaysUsingIonResponse.SerializeToString,
            ),
            'IonsByReports': grpc.unary_unary_rpc_method_handler(
                    servicer.IonsByReports,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByReportsRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryIonsByReportsResponse.SerializeToString,
            ),
            'ListAllPathways': grpc.unary_unary_rpc_method_handler(
                    servicer.ListAllPathways,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryListAllPathwaysRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryListAllPathwaysResponse.SerializeToString,
            ),
            'GetReward': grpc.unary_unary_rpc_method_handler(
                    servicer.GetReward,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetRewardRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetRewardResponse.SerializeToString,
            ),
            'GetStake': grpc.unary_unary_rpc_method_handler(
                    servicer.GetStake,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakeRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakeResponse.SerializeToString,
            ),
            'GetIon': grpc.unary_unary_rpc_method_handler(
                    servicer.GetIon,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetIonRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetIonResponse.SerializeToString,
            ),
            'GetPathwayUnstakeInitiatedUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPathwayUnstakeInitiatedUsers,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayUnstakeInitiatedUsersRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayUnstakeInitiatedUsersResponse.SerializeToString,
            ),
            'GetStakerReward': grpc.unary_unary_rpc_method_handler(
                    servicer.GetStakerReward,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakerRewardRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetStakerRewardResponse.SerializeToString,
            ),
            'GetAvailableIons': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAvailableIons,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAvailableIonsRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAvailableIonsResponse.SerializeToString,
            ),
            'ValidateIonChain': grpc.unary_unary_rpc_method_handler(
                    servicer.ValidateIonChain,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryValidateIonChainRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryValidateIonChainResponse.SerializeToString,
            ),
            'GetAllowedIps': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAllowedIps,
                    request_deserializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAllowedIpsRequest.FromString,
                    response_serializer=neurion_dot_ganglion_dot_query__pb2.QueryGetAllowedIpsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'neurion.ganglion.Query', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('neurion.ganglion.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.ganglion.Query/Params',
            neurion_dot_ganglion_dot_query__pb2.QueryParamsRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryParamsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IonByIonAddress(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.ganglion.Query/IonByIonAddress',
            neurion_dot_ganglion_dot_query__pb2.QueryIonByIonAddressRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryIonByIonAddressResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IonByCreator(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.ganglion.Query/IonByCreator',
            neurion_dot_ganglion_dot_query__pb2.QueryIonByCreatorRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryIonByCreatorResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetValidators(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.ganglion.Query/GetValidators',
            neurion_dot_ganglion_dot_query__pb2.QueryGetValidatorsRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetValidatorsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IonsByInputSchemaHash(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.ganglion.Query/IonsByInputSchemaHash',
            neurion_dot_ganglion_dot_query__pb2.QueryIonsByInputSchemaHashRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryIonsByInputSchemaHashResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPathway(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.ganglion.Query/GetPathway',
            neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListPathways(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.ganglion.Query/ListPathways',
            neurion_dot_ganglion_dot_query__pb2.QueryListPathwaysRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryListPathwaysResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListIonsByAddresses(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.ganglion.Query/ListIonsByAddresses',
            neurion_dot_ganglion_dot_query__pb2.QueryListIonsByAddressesRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryListIonsByAddressesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def UserPathwayStake(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.ganglion.Query/UserPathwayStake',
            neurion_dot_ganglion_dot_query__pb2.QueryUserPathwayStakeRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryUserPathwayStakeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetUserReward(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.ganglion.Query/GetUserReward',
            neurion_dot_ganglion_dot_query__pb2.QueryGetUserRewardRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetUserRewardResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetProtocolFee(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.ganglion.Query/GetProtocolFee',
            neurion_dot_ganglion_dot_query__pb2.QueryGetProtocolFeeRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetProtocolFeeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def PathwaysUsingIon(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.ganglion.Query/PathwaysUsingIon',
            neurion_dot_ganglion_dot_query__pb2.QueryPathwaysUsingIonRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryPathwaysUsingIonResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IonsByReports(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.ganglion.Query/IonsByReports',
            neurion_dot_ganglion_dot_query__pb2.QueryIonsByReportsRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryIonsByReportsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ListAllPathways(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.ganglion.Query/ListAllPathways',
            neurion_dot_ganglion_dot_query__pb2.QueryListAllPathwaysRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryListAllPathwaysResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetReward(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.ganglion.Query/GetReward',
            neurion_dot_ganglion_dot_query__pb2.QueryGetRewardRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetRewardResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetStake(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.ganglion.Query/GetStake',
            neurion_dot_ganglion_dot_query__pb2.QueryGetStakeRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetStakeResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetIon(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.ganglion.Query/GetIon',
            neurion_dot_ganglion_dot_query__pb2.QueryGetIonRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetIonResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetPathwayUnstakeInitiatedUsers(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.ganglion.Query/GetPathwayUnstakeInitiatedUsers',
            neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayUnstakeInitiatedUsersRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetPathwayUnstakeInitiatedUsersResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetStakerReward(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.ganglion.Query/GetStakerReward',
            neurion_dot_ganglion_dot_query__pb2.QueryGetStakerRewardRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetStakerRewardResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAvailableIons(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.ganglion.Query/GetAvailableIons',
            neurion_dot_ganglion_dot_query__pb2.QueryGetAvailableIonsRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetAvailableIonsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ValidateIonChain(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.ganglion.Query/ValidateIonChain',
            neurion_dot_ganglion_dot_query__pb2.QueryValidateIonChainRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryValidateIonChainResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAllowedIps(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.ganglion.Query/GetAllowedIps',
            neurion_dot_ganglion_dot_query__pb2.QueryGetAllowedIpsRequest.SerializeToString,
            neurion_dot_ganglion_dot_query__pb2.QueryGetAllowedIpsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
