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

from hyperlane.core.post_dispatch.v1 import query_pb2 as hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2


class QueryStub(object):
    """Msg defines the module Msg service.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Igps = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/Igps',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpsRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpsResponse.FromString,
                _registered_method=True)
        self.Igp = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/Igp',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpResponse.FromString,
                _registered_method=True)
        self.DestinationGasConfigs = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/DestinationGasConfigs',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryDestinationGasConfigsRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryDestinationGasConfigsResponse.FromString,
                _registered_method=True)
        self.QuoteGasPayment = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/QuoteGasPayment',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryQuoteGasPaymentRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryQuoteGasPaymentResponse.FromString,
                _registered_method=True)
        self.MerkleTreeHooks = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/MerkleTreeHooks',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHooksRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHooksResponse.FromString,
                _registered_method=True)
        self.MerkleTreeHook = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/MerkleTreeHook',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHookRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHookResponse.FromString,
                _registered_method=True)
        self.NoopHooks = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/NoopHooks',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHooksRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHooksResponse.FromString,
                _registered_method=True)
        self.NoopHook = channel.unary_unary(
                '/hyperlane.core.post_dispatch.v1.Query/NoopHook',
                request_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHookRequest.SerializeToString,
                response_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHookResponse.FromString,
                _registered_method=True)


class QueryServicer(object):
    """Msg defines the module Msg service.
    """

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

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

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

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

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

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

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

    def NoopHook(self, request, context):
        """NoopHook ...
        """
        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 = {
            'Igps': grpc.unary_unary_rpc_method_handler(
                    servicer.Igps,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpsRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpsResponse.SerializeToString,
            ),
            'Igp': grpc.unary_unary_rpc_method_handler(
                    servicer.Igp,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpResponse.SerializeToString,
            ),
            'DestinationGasConfigs': grpc.unary_unary_rpc_method_handler(
                    servicer.DestinationGasConfigs,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryDestinationGasConfigsRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryDestinationGasConfigsResponse.SerializeToString,
            ),
            'QuoteGasPayment': grpc.unary_unary_rpc_method_handler(
                    servicer.QuoteGasPayment,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryQuoteGasPaymentRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryQuoteGasPaymentResponse.SerializeToString,
            ),
            'MerkleTreeHooks': grpc.unary_unary_rpc_method_handler(
                    servicer.MerkleTreeHooks,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHooksRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHooksResponse.SerializeToString,
            ),
            'MerkleTreeHook': grpc.unary_unary_rpc_method_handler(
                    servicer.MerkleTreeHook,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHookRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHookResponse.SerializeToString,
            ),
            'NoopHooks': grpc.unary_unary_rpc_method_handler(
                    servicer.NoopHooks,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHooksRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHooksResponse.SerializeToString,
            ),
            'NoopHook': grpc.unary_unary_rpc_method_handler(
                    servicer.NoopHook,
                    request_deserializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHookRequest.FromString,
                    response_serializer=hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHookResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'hyperlane.core.post_dispatch.v1.Query', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('hyperlane.core.post_dispatch.v1.Query', rpc_method_handlers)


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

    @staticmethod
    def Igps(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,
            '/hyperlane.core.post_dispatch.v1.Query/Igps',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpsRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def Igp(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,
            '/hyperlane.core.post_dispatch.v1.Query/Igp',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryIgpResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def DestinationGasConfigs(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,
            '/hyperlane.core.post_dispatch.v1.Query/DestinationGasConfigs',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryDestinationGasConfigsRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryDestinationGasConfigsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def QuoteGasPayment(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,
            '/hyperlane.core.post_dispatch.v1.Query/QuoteGasPayment',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryQuoteGasPaymentRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryQuoteGasPaymentResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MerkleTreeHooks(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,
            '/hyperlane.core.post_dispatch.v1.Query/MerkleTreeHooks',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHooksRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHooksResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def MerkleTreeHook(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,
            '/hyperlane.core.post_dispatch.v1.Query/MerkleTreeHook',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHookRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryMerkleTreeHookResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def NoopHooks(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,
            '/hyperlane.core.post_dispatch.v1.Query/NoopHooks',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHooksRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHooksResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def NoopHook(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,
            '/hyperlane.core.post_dispatch.v1.Query/NoopHook',
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHookRequest.SerializeToString,
            hyperlane_dot_core_dot_post__dispatch_dot_v1_dot_query__pb2.QueryNoopHookResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
