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

from injective.exchange.v1beta1 import tx_pb2 as injective_dot_exchange_dot_v1beta1_dot_tx__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.Deposit = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/Deposit',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgDeposit.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgDepositResponse.FromString,
                )
        self.Withdraw = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/Withdraw',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgWithdraw.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgWithdrawResponse.FromString,
                )
        self.InstantSpotMarketLaunch = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/InstantSpotMarketLaunch',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunch.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.FromString,
                )
        self.InstantPerpetualMarketLaunch = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/InstantPerpetualMarketLaunch',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.FromString,
                )
        self.InstantExpiryFuturesMarketLaunch = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/InstantExpiryFuturesMarketLaunch',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.FromString,
                )
        self.CreateSpotLimitOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CreateSpotLimitOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrderResponse.FromString,
                )
        self.BatchCreateSpotLimitOrders = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/BatchCreateSpotLimitOrders',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateSpotLimitOrders.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateSpotLimitOrdersResponse.FromString,
                )
        self.CreateSpotMarketOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CreateSpotMarketOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotMarketOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotMarketOrderResponse.FromString,
                )
        self.CancelSpotOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CancelSpotOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelSpotOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelSpotOrderResponse.FromString,
                )
        self.BatchCancelSpotOrders = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/BatchCancelSpotOrders',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelSpotOrders.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelSpotOrdersResponse.FromString,
                )
        self.BatchUpdateOrders = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/BatchUpdateOrders',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchUpdateOrders.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchUpdateOrdersResponse.FromString,
                )
        self.PrivilegedExecuteContract = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/PrivilegedExecuteContract',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgPrivilegedExecuteContract.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgPrivilegedExecuteContractResponse.FromString,
                )
        self.CreateDerivativeLimitOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CreateDerivativeLimitOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeLimitOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeLimitOrderResponse.FromString,
                )
        self.BatchCreateDerivativeLimitOrders = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/BatchCreateDerivativeLimitOrders',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrders.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrdersResponse.FromString,
                )
        self.CreateDerivativeMarketOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CreateDerivativeMarketOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeMarketOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeMarketOrderResponse.FromString,
                )
        self.CancelDerivativeOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CancelDerivativeOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelDerivativeOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelDerivativeOrderResponse.FromString,
                )
        self.BatchCancelDerivativeOrders = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/BatchCancelDerivativeOrders',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelDerivativeOrders.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelDerivativeOrdersResponse.FromString,
                )
        self.InstantBinaryOptionsMarketLaunch = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/InstantBinaryOptionsMarketLaunch',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunch.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunchResponse.FromString,
                )
        self.CreateBinaryOptionsLimitOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CreateBinaryOptionsLimitOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrderResponse.FromString,
                )
        self.CreateBinaryOptionsMarketOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CreateBinaryOptionsMarketOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrderResponse.FromString,
                )
        self.CancelBinaryOptionsOrder = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/CancelBinaryOptionsOrder',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelBinaryOptionsOrder.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelBinaryOptionsOrderResponse.FromString,
                )
        self.BatchCancelBinaryOptionsOrders = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/BatchCancelBinaryOptionsOrders',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrders.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrdersResponse.FromString,
                )
        self.SubaccountTransfer = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/SubaccountTransfer',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgSubaccountTransfer.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgSubaccountTransferResponse.FromString,
                )
        self.ExternalTransfer = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/ExternalTransfer',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgExternalTransfer.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgExternalTransferResponse.FromString,
                )
        self.LiquidatePosition = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/LiquidatePosition',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgLiquidatePosition.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgLiquidatePositionResponse.FromString,
                )
        self.IncreasePositionMargin = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/IncreasePositionMargin',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgIncreasePositionMargin.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgIncreasePositionMarginResponse.FromString,
                )
        self.RewardsOptOut = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/RewardsOptOut',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgRewardsOptOut.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgRewardsOptOutResponse.FromString,
                )
        self.AdminUpdateBinaryOptionsMarket = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/AdminUpdateBinaryOptionsMarket',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.FromString,
                )
        self.ReclaimLockedFunds = channel.unary_unary(
                '/injective.exchange.v1beta1.Msg/ReclaimLockedFunds',
                request_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgReclaimLockedFunds.SerializeToString,
                response_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgReclaimLockedFundsResponse.FromString,
                )


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

    def Deposit(self, request, context):
        """Deposit defines a method for transferring coins from the sender's bank balance into the subaccount's exchange deposits
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Withdraw(self, request, context):
        """Withdraw defines a method for withdrawing coins from a subaccount's deposits to the user's bank balance
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InstantSpotMarketLaunch(self, request, context):
        """InstantSpotMarketLaunch defines method for creating a spot market by paying listing fee without governance
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InstantPerpetualMarketLaunch(self, request, context):
        """InstantPerpetualMarketLaunch defines a method for creating a new perpetual futures market by paying listing fee without governance
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InstantExpiryFuturesMarketLaunch(self, request, context):
        """InstantExpiryFuturesMarketLaunch defines a method for creating a new expiry futures market by paying listing fee without governance
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSpotLimitOrder(self, request, context):
        """CreateSpotLimitOrder defines a method for creating a new spot limit order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchCreateSpotLimitOrders(self, request, context):
        """BatchCreateSpotLimitOrder defines a method for creating a new batch of spot limit orders.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSpotMarketOrder(self, request, context):
        """CreateSpotMarketOrder defines a method for creating a new spot market order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CancelSpotOrder(self, request, context):
        """MsgCancelSpotOrder defines a method for cancelling a spot order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchCancelSpotOrders(self, request, context):
        """BatchCancelSpotOrders defines a method for cancelling a batch of spot orders in a given market.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchUpdateOrders(self, request, context):
        """BatchUpdateOrders defines a method for updating a batch of orders.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PrivilegedExecuteContract(self, request, context):
        """PrivilegedExecuteContract defines a method for executing a Cosmwasm contract from the exchange module with privileged capabilities.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateDerivativeLimitOrder(self, request, context):
        """CreateDerivativeLimitOrder defines a method for creating a new derivative limit order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchCreateDerivativeLimitOrders(self, request, context):
        """BatchCreateDerivativeLimitOrders defines a method for creating a new batch of derivative limit orders.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateDerivativeMarketOrder(self, request, context):
        """MsgCreateDerivativeLimitOrder defines a method for creating a new derivative market order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CancelDerivativeOrder(self, request, context):
        """MsgCancelDerivativeOrder defines a method for cancelling a derivative order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchCancelDerivativeOrders(self, request, context):
        """MsgBatchCancelDerivativeOrders defines a method for cancelling a batch of derivative limit orders.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InstantBinaryOptionsMarketLaunch(self, request, context):
        """InstantBinaryOptionsMarketLaunch defines method for creating a binary options market by paying listing fee without governance
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateBinaryOptionsLimitOrder(self, request, context):
        """CreateBinaryOptionsLimitOrder defines a method for creating a new binary options limit order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateBinaryOptionsMarketOrder(self, request, context):
        """CreateBinaryOptionsMarketOrder defines a method for creating a new binary options market order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CancelBinaryOptionsOrder(self, request, context):
        """MsgCancelBinaryOptionsOrder defines a method for cancelling a binary options order.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BatchCancelBinaryOptionsOrders(self, request, context):
        """BatchCancelBinaryOptionsOrders defines a method for cancelling a batch of binary options limit orders.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SubaccountTransfer(self, request, context):
        """SubaccountTransfer defines a method for transfer between subaccounts
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ExternalTransfer(self, request, context):
        """ExternalTransfer defines a method for transfer between external accounts
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LiquidatePosition(self, request, context):
        """LiquidatePosition defines a method for liquidating a position
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IncreasePositionMargin(self, request, context):
        """IncreasePositionMargin defines a method for increasing margin of a position
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RewardsOptOut(self, request, context):
        """RewardsOptOut defines a method for opting out of rewards
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AdminUpdateBinaryOptionsMarket(self, request, context):
        """AdminUpdateBinaryOptionsMarket defines method for updating a binary options market by admin
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReclaimLockedFunds(self, request, context):
        """
        """
        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 = {
            'Deposit': grpc.unary_unary_rpc_method_handler(
                    servicer.Deposit,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgDeposit.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgDepositResponse.SerializeToString,
            ),
            'Withdraw': grpc.unary_unary_rpc_method_handler(
                    servicer.Withdraw,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgWithdraw.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgWithdrawResponse.SerializeToString,
            ),
            'InstantSpotMarketLaunch': grpc.unary_unary_rpc_method_handler(
                    servicer.InstantSpotMarketLaunch,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunch.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.SerializeToString,
            ),
            'InstantPerpetualMarketLaunch': grpc.unary_unary_rpc_method_handler(
                    servicer.InstantPerpetualMarketLaunch,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.SerializeToString,
            ),
            'InstantExpiryFuturesMarketLaunch': grpc.unary_unary_rpc_method_handler(
                    servicer.InstantExpiryFuturesMarketLaunch,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.SerializeToString,
            ),
            'CreateSpotLimitOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSpotLimitOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrderResponse.SerializeToString,
            ),
            'BatchCreateSpotLimitOrders': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchCreateSpotLimitOrders,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateSpotLimitOrders.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateSpotLimitOrdersResponse.SerializeToString,
            ),
            'CreateSpotMarketOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSpotMarketOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotMarketOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotMarketOrderResponse.SerializeToString,
            ),
            'CancelSpotOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CancelSpotOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelSpotOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelSpotOrderResponse.SerializeToString,
            ),
            'BatchCancelSpotOrders': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchCancelSpotOrders,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelSpotOrders.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelSpotOrdersResponse.SerializeToString,
            ),
            'BatchUpdateOrders': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchUpdateOrders,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchUpdateOrders.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchUpdateOrdersResponse.SerializeToString,
            ),
            'PrivilegedExecuteContract': grpc.unary_unary_rpc_method_handler(
                    servicer.PrivilegedExecuteContract,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgPrivilegedExecuteContract.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgPrivilegedExecuteContractResponse.SerializeToString,
            ),
            'CreateDerivativeLimitOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateDerivativeLimitOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeLimitOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeLimitOrderResponse.SerializeToString,
            ),
            'BatchCreateDerivativeLimitOrders': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchCreateDerivativeLimitOrders,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrders.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrdersResponse.SerializeToString,
            ),
            'CreateDerivativeMarketOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateDerivativeMarketOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeMarketOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeMarketOrderResponse.SerializeToString,
            ),
            'CancelDerivativeOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CancelDerivativeOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelDerivativeOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelDerivativeOrderResponse.SerializeToString,
            ),
            'BatchCancelDerivativeOrders': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchCancelDerivativeOrders,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelDerivativeOrders.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelDerivativeOrdersResponse.SerializeToString,
            ),
            'InstantBinaryOptionsMarketLaunch': grpc.unary_unary_rpc_method_handler(
                    servicer.InstantBinaryOptionsMarketLaunch,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunch.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunchResponse.SerializeToString,
            ),
            'CreateBinaryOptionsLimitOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateBinaryOptionsLimitOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrderResponse.SerializeToString,
            ),
            'CreateBinaryOptionsMarketOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateBinaryOptionsMarketOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrderResponse.SerializeToString,
            ),
            'CancelBinaryOptionsOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CancelBinaryOptionsOrder,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelBinaryOptionsOrder.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelBinaryOptionsOrderResponse.SerializeToString,
            ),
            'BatchCancelBinaryOptionsOrders': grpc.unary_unary_rpc_method_handler(
                    servicer.BatchCancelBinaryOptionsOrders,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrders.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrdersResponse.SerializeToString,
            ),
            'SubaccountTransfer': grpc.unary_unary_rpc_method_handler(
                    servicer.SubaccountTransfer,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgSubaccountTransfer.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgSubaccountTransferResponse.SerializeToString,
            ),
            'ExternalTransfer': grpc.unary_unary_rpc_method_handler(
                    servicer.ExternalTransfer,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgExternalTransfer.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgExternalTransferResponse.SerializeToString,
            ),
            'LiquidatePosition': grpc.unary_unary_rpc_method_handler(
                    servicer.LiquidatePosition,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgLiquidatePosition.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgLiquidatePositionResponse.SerializeToString,
            ),
            'IncreasePositionMargin': grpc.unary_unary_rpc_method_handler(
                    servicer.IncreasePositionMargin,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgIncreasePositionMargin.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgIncreasePositionMarginResponse.SerializeToString,
            ),
            'RewardsOptOut': grpc.unary_unary_rpc_method_handler(
                    servicer.RewardsOptOut,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgRewardsOptOut.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgRewardsOptOutResponse.SerializeToString,
            ),
            'AdminUpdateBinaryOptionsMarket': grpc.unary_unary_rpc_method_handler(
                    servicer.AdminUpdateBinaryOptionsMarket,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.SerializeToString,
            ),
            'ReclaimLockedFunds': grpc.unary_unary_rpc_method_handler(
                    servicer.ReclaimLockedFunds,
                    request_deserializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgReclaimLockedFunds.FromString,
                    response_serializer=injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgReclaimLockedFundsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'injective.exchange.v1beta1.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 exchange Msg service.
    """

    @staticmethod
    def Deposit(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, '/injective.exchange.v1beta1.Msg/Deposit',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgDeposit.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgDepositResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Withdraw(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, '/injective.exchange.v1beta1.Msg/Withdraw',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgWithdraw.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgWithdrawResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InstantSpotMarketLaunch(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, '/injective.exchange.v1beta1.Msg/InstantSpotMarketLaunch',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunch.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantSpotMarketLaunchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InstantPerpetualMarketLaunch(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, '/injective.exchange.v1beta1.Msg/InstantPerpetualMarketLaunch',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunch.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantPerpetualMarketLaunchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InstantExpiryFuturesMarketLaunch(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, '/injective.exchange.v1beta1.Msg/InstantExpiryFuturesMarketLaunch',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunch.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantExpiryFuturesMarketLaunchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSpotLimitOrder(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, '/injective.exchange.v1beta1.Msg/CreateSpotLimitOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotLimitOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchCreateSpotLimitOrders(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, '/injective.exchange.v1beta1.Msg/BatchCreateSpotLimitOrders',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateSpotLimitOrders.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateSpotLimitOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSpotMarketOrder(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, '/injective.exchange.v1beta1.Msg/CreateSpotMarketOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotMarketOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateSpotMarketOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CancelSpotOrder(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, '/injective.exchange.v1beta1.Msg/CancelSpotOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelSpotOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelSpotOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchCancelSpotOrders(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, '/injective.exchange.v1beta1.Msg/BatchCancelSpotOrders',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelSpotOrders.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelSpotOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchUpdateOrders(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, '/injective.exchange.v1beta1.Msg/BatchUpdateOrders',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchUpdateOrders.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchUpdateOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PrivilegedExecuteContract(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, '/injective.exchange.v1beta1.Msg/PrivilegedExecuteContract',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgPrivilegedExecuteContract.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgPrivilegedExecuteContractResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateDerivativeLimitOrder(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, '/injective.exchange.v1beta1.Msg/CreateDerivativeLimitOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeLimitOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeLimitOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchCreateDerivativeLimitOrders(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, '/injective.exchange.v1beta1.Msg/BatchCreateDerivativeLimitOrders',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrders.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCreateDerivativeLimitOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateDerivativeMarketOrder(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, '/injective.exchange.v1beta1.Msg/CreateDerivativeMarketOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeMarketOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateDerivativeMarketOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CancelDerivativeOrder(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, '/injective.exchange.v1beta1.Msg/CancelDerivativeOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelDerivativeOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelDerivativeOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchCancelDerivativeOrders(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, '/injective.exchange.v1beta1.Msg/BatchCancelDerivativeOrders',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelDerivativeOrders.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelDerivativeOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InstantBinaryOptionsMarketLaunch(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, '/injective.exchange.v1beta1.Msg/InstantBinaryOptionsMarketLaunch',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunch.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgInstantBinaryOptionsMarketLaunchResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateBinaryOptionsLimitOrder(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, '/injective.exchange.v1beta1.Msg/CreateBinaryOptionsLimitOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsLimitOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateBinaryOptionsMarketOrder(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, '/injective.exchange.v1beta1.Msg/CreateBinaryOptionsMarketOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCreateBinaryOptionsMarketOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CancelBinaryOptionsOrder(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, '/injective.exchange.v1beta1.Msg/CancelBinaryOptionsOrder',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelBinaryOptionsOrder.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgCancelBinaryOptionsOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BatchCancelBinaryOptionsOrders(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, '/injective.exchange.v1beta1.Msg/BatchCancelBinaryOptionsOrders',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrders.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgBatchCancelBinaryOptionsOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SubaccountTransfer(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, '/injective.exchange.v1beta1.Msg/SubaccountTransfer',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgSubaccountTransfer.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgSubaccountTransferResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ExternalTransfer(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, '/injective.exchange.v1beta1.Msg/ExternalTransfer',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgExternalTransfer.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgExternalTransferResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LiquidatePosition(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, '/injective.exchange.v1beta1.Msg/LiquidatePosition',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgLiquidatePosition.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgLiquidatePositionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def IncreasePositionMargin(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, '/injective.exchange.v1beta1.Msg/IncreasePositionMargin',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgIncreasePositionMargin.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgIncreasePositionMarginResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RewardsOptOut(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, '/injective.exchange.v1beta1.Msg/RewardsOptOut',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgRewardsOptOut.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgRewardsOptOutResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AdminUpdateBinaryOptionsMarket(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, '/injective.exchange.v1beta1.Msg/AdminUpdateBinaryOptionsMarket',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarket.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgAdminUpdateBinaryOptionsMarketResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReclaimLockedFunds(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, '/injective.exchange.v1beta1.Msg/ReclaimLockedFunds',
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgReclaimLockedFunds.SerializeToString,
            injective_dot_exchange_dot_v1beta1_dot_tx__pb2.MsgReclaimLockedFundsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
