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

from exchange import injective_derivative_exchange_rpc_pb2 as exchange_dot_injective__derivative__exchange__rpc__pb2


class InjectiveDerivativeExchangeRPCStub(object):
    """InjectiveDerivativeExchangeRPC defines gRPC API of Derivative Markets
    provider.
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Markets = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsResponse.FromString,
                )
        self.Market = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketResponse.FromString,
                )
        self.StreamMarket = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketResponse.FromString,
                )
        self.BinaryOptionsMarkets = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsResponse.FromString,
                )
        self.BinaryOptionsMarket = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketResponse.FromString,
                )
        self.OrderbookV2 = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Request.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Response.FromString,
                )
        self.OrderbooksV2 = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Request.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Response.FromString,
                )
        self.StreamOrderbookV2 = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Request.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Response.FromString,
                )
        self.StreamOrderbookUpdate = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateResponse.FromString,
                )
        self.Orders = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersResponse.FromString,
                )
        self.Positions = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsResponse.FromString,
                )
        self.LiquidablePositions = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsResponse.FromString,
                )
        self.FundingPayments = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsResponse.FromString,
                )
        self.FundingRates = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesResponse.FromString,
                )
        self.StreamPositions = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.FromString,
                )
        self.StreamOrders = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersResponse.FromString,
                )
        self.Trades = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesResponse.FromString,
                )
        self.StreamTrades = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesResponse.FromString,
                )
        self.SubaccountOrdersList = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListResponse.FromString,
                )
        self.SubaccountTradesList = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListResponse.FromString,
                )
        self.OrdersHistory = channel.unary_unary(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryResponse.FromString,
                )
        self.StreamOrdersHistory = channel.unary_stream(
                '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory',
                request_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString,
                response_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.FromString,
                )


class InjectiveDerivativeExchangeRPCServicer(object):
    """InjectiveDerivativeExchangeRPC defines gRPC API of Derivative Markets
    provider.
    """

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

    def Market(self, request, context):
        """Market gets details of a single derivative market
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamMarket(self, request, context):
        """StreamMarket streams live updates of selected derivative markets
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BinaryOptionsMarkets(self, request, context):
        """BinaryOptionsMarkets gets a list of Binary Options Markets
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def BinaryOptionsMarket(self, request, context):
        """BinaryOptionMarket gets details of a single binary options market
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderbookV2(self, request, context):
        """Orderbook gets the Orderbook of a Derivative Market
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderbooksV2(self, request, context):
        """Orderbooks gets the Orderbooks of requested derivative markets
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamOrderbookV2(self, request, context):
        """Stream live snapshot updates of selected derivative market orderbook
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamOrderbookUpdate(self, request, context):
        """Stream live level updates of selected derivative market orderbook
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Orders(self, request, context):
        """DerivativeLimitOrders gets the limit orders of a derivative Market.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Positions(self, request, context):
        """Positions gets the positions for a trader.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LiquidablePositions(self, request, context):
        """LiquidablePositions gets all the liquidable positions.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FundingPayments(self, request, context):
        """FundingPayments gets the funding payments for a trader.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FundingRates(self, request, context):
        """FundingRates gets the historical funding rates for a market.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamPositions(self, request, context):
        """StreamPositions streams derivatives position updates.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamOrders(self, request, context):
        """StreamOrders streams updates to individual orders of a Derivative Market.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Trades(self, request, context):
        """Trades gets the trades of a Derivative Market.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamTrades(self, request, context):
        """StreamTrades streams newly executed trades from Derivative Market.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SubaccountOrdersList(self, request, context):
        """SubaccountOrdersList lists orders posted from this subaccount.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SubaccountTradesList(self, request, context):
        """SubaccountTradesList gets a list of derivatives trades executed by this
        subaccount.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrdersHistory(self, request, context):
        """Lists history orders posted from a subaccount
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def StreamOrdersHistory(self, request, context):
        """Stream updates to historical orders of a derivative Market
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_InjectiveDerivativeExchangeRPCServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Markets': grpc.unary_unary_rpc_method_handler(
                    servicer.Markets,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsResponse.SerializeToString,
            ),
            'Market': grpc.unary_unary_rpc_method_handler(
                    servicer.Market,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.MarketResponse.SerializeToString,
            ),
            'StreamMarket': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamMarket,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketResponse.SerializeToString,
            ),
            'BinaryOptionsMarkets': grpc.unary_unary_rpc_method_handler(
                    servicer.BinaryOptionsMarkets,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsResponse.SerializeToString,
            ),
            'BinaryOptionsMarket': grpc.unary_unary_rpc_method_handler(
                    servicer.BinaryOptionsMarket,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketResponse.SerializeToString,
            ),
            'OrderbookV2': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderbookV2,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Request.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Response.SerializeToString,
            ),
            'OrderbooksV2': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderbooksV2,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Request.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Response.SerializeToString,
            ),
            'StreamOrderbookV2': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamOrderbookV2,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Request.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Response.SerializeToString,
            ),
            'StreamOrderbookUpdate': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamOrderbookUpdate,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateResponse.SerializeToString,
            ),
            'Orders': grpc.unary_unary_rpc_method_handler(
                    servicer.Orders,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersResponse.SerializeToString,
            ),
            'Positions': grpc.unary_unary_rpc_method_handler(
                    servicer.Positions,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsResponse.SerializeToString,
            ),
            'LiquidablePositions': grpc.unary_unary_rpc_method_handler(
                    servicer.LiquidablePositions,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsResponse.SerializeToString,
            ),
            'FundingPayments': grpc.unary_unary_rpc_method_handler(
                    servicer.FundingPayments,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsResponse.SerializeToString,
            ),
            'FundingRates': grpc.unary_unary_rpc_method_handler(
                    servicer.FundingRates,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesResponse.SerializeToString,
            ),
            'StreamPositions': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamPositions,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.SerializeToString,
            ),
            'StreamOrders': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamOrders,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersResponse.SerializeToString,
            ),
            'Trades': grpc.unary_unary_rpc_method_handler(
                    servicer.Trades,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.TradesResponse.SerializeToString,
            ),
            'StreamTrades': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamTrades,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesResponse.SerializeToString,
            ),
            'SubaccountOrdersList': grpc.unary_unary_rpc_method_handler(
                    servicer.SubaccountOrdersList,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListResponse.SerializeToString,
            ),
            'SubaccountTradesList': grpc.unary_unary_rpc_method_handler(
                    servicer.SubaccountTradesList,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListResponse.SerializeToString,
            ),
            'OrdersHistory': grpc.unary_unary_rpc_method_handler(
                    servicer.OrdersHistory,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryResponse.SerializeToString,
            ),
            'StreamOrdersHistory': grpc.unary_stream_rpc_method_handler(
                    servicer.StreamOrdersHistory,
                    request_deserializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.FromString,
                    response_serializer=exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class InjectiveDerivativeExchangeRPC(object):
    """InjectiveDerivativeExchangeRPC defines gRPC API of Derivative Markets
    provider.
    """

    @staticmethod
    def Markets(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Markets',
            exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.MarketsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Market(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Market',
            exchange_dot_injective__derivative__exchange__rpc__pb2.MarketRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.MarketResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamMarket(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamMarket',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamMarketResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BinaryOptionsMarkets(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarkets',
            exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def BinaryOptionsMarket(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/BinaryOptionsMarket',
            exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.BinaryOptionsMarketResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderbookV2(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbookV2',
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Request.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbookV2Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderbooksV2(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrderbooksV2',
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Request.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrderbooksV2Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamOrderbookV2(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookV2',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Request.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookV2Response.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamOrderbookUpdate(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrderbookUpdate',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrderbookUpdateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Orders(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Orders',
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Positions(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Positions',
            exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.PositionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LiquidablePositions(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/LiquidablePositions',
            exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.LiquidablePositionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FundingPayments(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingPayments',
            exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.FundingPaymentsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FundingRates(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/FundingRates',
            exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.FundingRatesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamPositions(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamPositions',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamPositionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamOrders(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrders',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Trades(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/Trades',
            exchange_dot_injective__derivative__exchange__rpc__pb2.TradesRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.TradesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamTrades(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamTrades',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamTradesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SubaccountOrdersList(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountOrdersList',
            exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountOrdersListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SubaccountTradesList(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/SubaccountTradesList',
            exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.SubaccountTradesListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrdersHistory(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_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/OrdersHistory',
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.OrdersHistoryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def StreamOrdersHistory(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_stream(request, target, '/injective_derivative_exchange_rpc.InjectiveDerivativeExchangeRPC/StreamOrdersHistory',
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryRequest.SerializeToString,
            exchange_dot_injective__derivative__exchange__rpc__pb2.StreamOrdersHistoryResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
