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

from osmosis.superfluid import tx_pb2 as osmosis_dot_superfluid_dot_tx__pb2


class MsgStub(object):
    """Msg defines the Msg service.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.SuperfluidDelegate = channel.unary_unary(
                '/osmosis.superfluid.Msg/SuperfluidDelegate',
                request_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidDelegate.SerializeToString,
                response_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidDelegateResponse.FromString,
                )
        self.SuperfluidUndelegate = channel.unary_unary(
                '/osmosis.superfluid.Msg/SuperfluidUndelegate',
                request_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUndelegate.SerializeToString,
                response_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUndelegateResponse.FromString,
                )
        self.SuperfluidUnbondLock = channel.unary_unary(
                '/osmosis.superfluid.Msg/SuperfluidUnbondLock',
                request_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUnbondLock.SerializeToString,
                response_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUnbondLockResponse.FromString,
                )
        self.LockAndSuperfluidDelegate = channel.unary_unary(
                '/osmosis.superfluid.Msg/LockAndSuperfluidDelegate',
                request_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgLockAndSuperfluidDelegate.SerializeToString,
                response_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgLockAndSuperfluidDelegateResponse.FromString,
                )
        self.UnPoolWhitelistedPool = channel.unary_unary(
                '/osmosis.superfluid.Msg/UnPoolWhitelistedPool',
                request_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgUnPoolWhitelistedPool.SerializeToString,
                response_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgUnPoolWhitelistedPoolResponse.FromString,
                )


class MsgServicer(object):
    """Msg defines the Msg service.
    """

    def SuperfluidDelegate(self, request, context):
        """Execute superfluid delegation for a lockup
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SuperfluidUndelegate(self, request, context):
        """Execute superfluid undelegation for a lockup
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SuperfluidUnbondLock(self, request, context):
        """Execute superfluid redelegation for a lockup
        rpc SuperfluidRedelegate(MsgSuperfluidRedelegate) returns
        (MsgSuperfluidRedelegateResponse);

        For a given lock that is being superfluidly undelegated,
        also unbond the underlying lock.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LockAndSuperfluidDelegate(self, request, context):
        """Execute lockup lock and superfluid delegation in a single msg
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UnPoolWhitelistedPool(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_MsgServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'SuperfluidDelegate': grpc.unary_unary_rpc_method_handler(
                    servicer.SuperfluidDelegate,
                    request_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidDelegate.FromString,
                    response_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidDelegateResponse.SerializeToString,
            ),
            'SuperfluidUndelegate': grpc.unary_unary_rpc_method_handler(
                    servicer.SuperfluidUndelegate,
                    request_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUndelegate.FromString,
                    response_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUndelegateResponse.SerializeToString,
            ),
            'SuperfluidUnbondLock': grpc.unary_unary_rpc_method_handler(
                    servicer.SuperfluidUnbondLock,
                    request_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUnbondLock.FromString,
                    response_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUnbondLockResponse.SerializeToString,
            ),
            'LockAndSuperfluidDelegate': grpc.unary_unary_rpc_method_handler(
                    servicer.LockAndSuperfluidDelegate,
                    request_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgLockAndSuperfluidDelegate.FromString,
                    response_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgLockAndSuperfluidDelegateResponse.SerializeToString,
            ),
            'UnPoolWhitelistedPool': grpc.unary_unary_rpc_method_handler(
                    servicer.UnPoolWhitelistedPool,
                    request_deserializer=osmosis_dot_superfluid_dot_tx__pb2.MsgUnPoolWhitelistedPool.FromString,
                    response_serializer=osmosis_dot_superfluid_dot_tx__pb2.MsgUnPoolWhitelistedPoolResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'osmosis.superfluid.Msg', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def SuperfluidDelegate(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, '/osmosis.superfluid.Msg/SuperfluidDelegate',
            osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidDelegate.SerializeToString,
            osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidDelegateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SuperfluidUndelegate(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, '/osmosis.superfluid.Msg/SuperfluidUndelegate',
            osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUndelegate.SerializeToString,
            osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUndelegateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SuperfluidUnbondLock(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, '/osmosis.superfluid.Msg/SuperfluidUnbondLock',
            osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUnbondLock.SerializeToString,
            osmosis_dot_superfluid_dot_tx__pb2.MsgSuperfluidUnbondLockResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LockAndSuperfluidDelegate(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, '/osmosis.superfluid.Msg/LockAndSuperfluidDelegate',
            osmosis_dot_superfluid_dot_tx__pb2.MsgLockAndSuperfluidDelegate.SerializeToString,
            osmosis_dot_superfluid_dot_tx__pb2.MsgLockAndSuperfluidDelegateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UnPoolWhitelistedPool(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, '/osmosis.superfluid.Msg/UnPoolWhitelistedPool',
            osmosis_dot_superfluid_dot_tx__pb2.MsgUnPoolWhitelistedPool.SerializeToString,
            osmosis_dot_superfluid_dot_tx__pb2.MsgUnPoolWhitelistedPoolResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
