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

from nibiru_proto.nibiru.inflation.v1 import query_pb2 as nibiru_dot_inflation_dot_v1_dot_query__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.Period = channel.unary_unary(
                '/nibiru.inflation.v1.Query/Period',
                request_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryPeriodRequest.SerializeToString,
                response_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryPeriodResponse.FromString,
                )
        self.EpochMintProvision = channel.unary_unary(
                '/nibiru.inflation.v1.Query/EpochMintProvision',
                request_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryEpochMintProvisionRequest.SerializeToString,
                response_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryEpochMintProvisionResponse.FromString,
                )
        self.SkippedEpochs = channel.unary_unary(
                '/nibiru.inflation.v1.Query/SkippedEpochs',
                request_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QuerySkippedEpochsRequest.SerializeToString,
                response_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QuerySkippedEpochsResponse.FromString,
                )
        self.CirculatingSupply = channel.unary_unary(
                '/nibiru.inflation.v1.Query/CirculatingSupply',
                request_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryCirculatingSupplyRequest.SerializeToString,
                response_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryCirculatingSupplyResponse.FromString,
                )
        self.InflationRate = channel.unary_unary(
                '/nibiru.inflation.v1.Query/InflationRate',
                request_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryInflationRateRequest.SerializeToString,
                response_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryInflationRateResponse.FromString,
                )
        self.Params = channel.unary_unary(
                '/nibiru.inflation.v1.Query/Params',
                request_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryParamsRequest.SerializeToString,
                response_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryParamsResponse.FromString,
                )


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

    def Period(self, request, context):
        """Period retrieves current period.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def EpochMintProvision(self, request, context):
        """EpochMintProvision retrieves current minting epoch provision value.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SkippedEpochs(self, request, context):
        """SkippedEpochs retrieves the total number of skipped epochs.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CirculatingSupply(self, request, context):
        """CirculatingSupply retrieves the total number of tokens that are in
        circulation (i.e. excluding unvested tokens).
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InflationRate(self, request, context):
        """InflationRate retrieves the inflation rate of the current period.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Params(self, request, context):
        """Params retrieves the total set of minting parameters.
        """
        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 = {
            'Period': grpc.unary_unary_rpc_method_handler(
                    servicer.Period,
                    request_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryPeriodRequest.FromString,
                    response_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryPeriodResponse.SerializeToString,
            ),
            'EpochMintProvision': grpc.unary_unary_rpc_method_handler(
                    servicer.EpochMintProvision,
                    request_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryEpochMintProvisionRequest.FromString,
                    response_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryEpochMintProvisionResponse.SerializeToString,
            ),
            'SkippedEpochs': grpc.unary_unary_rpc_method_handler(
                    servicer.SkippedEpochs,
                    request_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QuerySkippedEpochsRequest.FromString,
                    response_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QuerySkippedEpochsResponse.SerializeToString,
            ),
            'CirculatingSupply': grpc.unary_unary_rpc_method_handler(
                    servicer.CirculatingSupply,
                    request_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryCirculatingSupplyRequest.FromString,
                    response_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryCirculatingSupplyResponse.SerializeToString,
            ),
            'InflationRate': grpc.unary_unary_rpc_method_handler(
                    servicer.InflationRate,
                    request_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryInflationRateRequest.FromString,
                    response_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryInflationRateResponse.SerializeToString,
            ),
            'Params': grpc.unary_unary_rpc_method_handler(
                    servicer.Params,
                    request_deserializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryParamsRequest.FromString,
                    response_serializer=nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryParamsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'nibiru.inflation.v1.Query', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def Period(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, '/nibiru.inflation.v1.Query/Period',
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryPeriodRequest.SerializeToString,
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryPeriodResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def EpochMintProvision(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, '/nibiru.inflation.v1.Query/EpochMintProvision',
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryEpochMintProvisionRequest.SerializeToString,
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryEpochMintProvisionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SkippedEpochs(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, '/nibiru.inflation.v1.Query/SkippedEpochs',
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QuerySkippedEpochsRequest.SerializeToString,
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QuerySkippedEpochsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CirculatingSupply(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, '/nibiru.inflation.v1.Query/CirculatingSupply',
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryCirculatingSupplyRequest.SerializeToString,
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryCirculatingSupplyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InflationRate(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, '/nibiru.inflation.v1.Query/InflationRate',
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryInflationRateRequest.SerializeToString,
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryInflationRateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @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, '/nibiru.inflation.v1.Query/Params',
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryParamsRequest.SerializeToString,
            nibiru_dot_inflation_dot_v1_dot_query__pb2.QueryParamsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
