diff --git a/CHANGELOG.md b/CHANGELOG.md index 786e6852..981fb6f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,9 @@ All notable changes to this project will be documented in this file. -## [1.14.0] - 9999-99-99 +## [1.14.0] - 2026-04-27 +### Changed +- Updated all compiled protos for compatibility with Injective core v1.19.0 and Indexer v1.19.0 ## [1.13.0] - 2026-02-13 ### Changed diff --git a/Makefile b/Makefile index 0fcbac48..37678810 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ clean-all: $(call clean_repos) clone-injective-indexer: - git clone https://github.com/InjectiveLabs/injective-indexer.git -b v1.18.59 --depth 1 --single-branch + git clone https://github.com/InjectiveLabs/injective-indexer.git -b v1.19.0 --depth 1 --single-branch clone-all: clone-injective-indexer diff --git a/buf.gen.yaml b/buf.gen.yaml index ae63dedd..505ee300 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -26,7 +26,7 @@ inputs: # tag: v1.0.1-inj # subdir: proto - git_repo: https://github.com/InjectiveLabs/injective-core - tag: v1.19.0-beta + tag: v1.19.0 subdir: proto # - git_repo: https://github.com/InjectiveLabs/injective-core # branch: c-655/add_chainlink_data_streams_oracle diff --git a/examples/exchange_client/oracle_rpc/1_StreamPrices.py b/examples/exchange_client/oracle_rpc/1_StreamPrices.py index c76adf76..1ed16b0f 100644 --- a/examples/exchange_client/oracle_rpc/1_StreamPrices.py +++ b/examples/exchange_client/oracle_rpc/1_StreamPrices.py @@ -23,13 +23,14 @@ async def main() -> None: # select network: local, testnet, mainnet network = Network.testnet() client = IndexerClient(network) - market = (await client.all_derivative_markets())[ - "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" - ] + market_response = await client.fetch_derivative_market( + market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + ) + market = market_response["market"] - base_symbol = market.oracle_base - quote_symbol = market.oracle_quote - oracle_type = market.oracle_type.lower() + base_symbol = market["oracleBase"] + quote_symbol = market["oracleQuote"] + oracle_type = market["oracleType"].lower() task = asyncio.get_event_loop().create_task( client.listen_oracle_prices_updates( diff --git a/examples/exchange_client/oracle_rpc/5_StreamOracleList.py b/examples/exchange_client/oracle_rpc/5_StreamOracleList.py new file mode 100644 index 00000000..438b627c --- /dev/null +++ b/examples/exchange_client/oracle_rpc/5_StreamOracleList.py @@ -0,0 +1,41 @@ +import asyncio +from typing import Any, Dict + +from grpc import RpcError + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def oracle_list_event_processor(event: Dict[str, Any]): + print(event) + + +def stream_error_processor(exception: RpcError): + print(f"There was an error listening to oracle list updates ({exception})") + + +def stream_closed_processor(): + print("The oracle list updates stream has been closed") + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network) + + task = asyncio.get_event_loop().create_task( + client.listen_oracle_list_updates( + callback=oracle_list_event_processor, + on_end_callback=stream_closed_processor, + on_status_callback=stream_error_processor, + oracle_type="provider", + symbols=["TIA"], + ) + ) + + await asyncio.sleep(delay=60) + task.cancel() + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/exchange_client/oracle_rpc/6_StreamPricesByMarkets.py b/examples/exchange_client/oracle_rpc/6_StreamPricesByMarkets.py new file mode 100644 index 00000000..2f5f8563 --- /dev/null +++ b/examples/exchange_client/oracle_rpc/6_StreamPricesByMarkets.py @@ -0,0 +1,41 @@ +import asyncio +from typing import Any, Dict + +from grpc import RpcError + +from pyinjective.core.network import Network +from pyinjective.indexer_client import IndexerClient + + +async def price_event_processor(event: Dict[str, Any]): + print(event) + + +def stream_error_processor(exception: RpcError): + print(f"There was an error listening to oracle prices by markets updates ({exception})") + + +def stream_closed_processor(): + print("The oracle prices by markets updates stream has been closed") + + +async def main() -> None: + network = Network.testnet() + client = IndexerClient(network) + market_id = "0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6" + + task = asyncio.get_event_loop().create_task( + client.listen_oracle_prices_by_markets_updates( + market_ids=[market_id], + callback=price_event_processor, + on_end_callback=stream_closed_processor, + on_status_callback=stream_error_processor, + ) + ) + + await asyncio.sleep(delay=60) + task.cancel() + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py b/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py index 5ff2e4d5..c6b5bdb9 100644 --- a/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py +++ b/pyinjective/client/indexer/grpc_stream/indexer_grpc_oracle_stream.py @@ -12,7 +12,7 @@ class IndexerGrpcOracleStream: def __init__(self, channel: Channel, cookie_assistant: CookieAssistant): - self._stub = self._stub = exchange_oracle_grpc.InjectiveOracleRPCStub(channel) + self._stub = exchange_oracle_grpc.InjectiveOracleRPCStub(channel) self._assistant = GrpcApiStreamAssistant(cookie_assistant=cookie_assistant) async def stream_oracle_prices( @@ -38,6 +38,27 @@ async def stream_oracle_prices( on_status_callback=on_status_callback, ) + async def stream_oracle_list( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + oracle_type: Optional[str] = None, + symbols: Optional[List[str]] = None, + ): + request = exchange_oracle_pb.StreamOracleListRequest( + oracle_type=oracle_type, + symbols=symbols or [], + ) + + await self._assistant.listen_stream( + call=self._stub.StreamOracleList, + request=request, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + async def stream_oracle_prices_by_markets( self, market_ids: List[str], diff --git a/pyinjective/indexer_client.py b/pyinjective/indexer_client.py index c6cf8efc..34354757 100644 --- a/pyinjective/indexer_client.py +++ b/pyinjective/indexer_client.py @@ -663,6 +663,36 @@ async def listen_oracle_prices_updates( oracle_type=oracle_type, ) + async def listen_oracle_list_updates( + self, + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + oracle_type: Optional[str] = None, + symbols: Optional[List[str]] = None, + ): + await self.oracle_stream_api.stream_oracle_list( + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + oracle_type=oracle_type, + symbols=symbols, + ) + + async def listen_oracle_prices_by_markets_updates( + self, + market_ids: List[str], + callback: Callable, + on_end_callback: Optional[Callable] = None, + on_status_callback: Optional[Callable] = None, + ): + await self.oracle_stream_api.stream_oracle_prices_by_markets( + market_ids=market_ids, + callback=callback, + on_end_callback=on_end_callback, + on_status_callback=on_status_callback, + ) + # endregion # region portfolio diff --git a/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py b/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py index 6b4cc304..03347a51 100644 --- a/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_oracle_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#exchange/injective_oracle_rpc.proto\x12\x14injective_oracle_rpc\"}\n\x11OracleListRequest\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0boracle_type\x18\x02 \x01(\tR\noracleType\x12\x19\n\x08per_page\x18\x03 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\"`\n\x12OracleListResponse\x12\x36\n\x07oracles\x18\x01 \x03(\x0b\x32\x1c.injective_oracle_rpc.OracleR\x07oracles\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x9b\x01\n\x06Oracle\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0b\x62\x61se_symbol\x18\x02 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x03 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x04 \x01(\tR\noracleType\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\"\xa3\x01\n\x0cPriceRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"%\n\rPriceResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"P\n\x0ePriceV2Request\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32$.injective_oracle_rpc.PricePayloadV2R\x07\x66ilters\"\xa5\x01\n\x0ePricePayloadV2\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"N\n\x0fPriceV2Response\x12;\n\x06prices\x18\x01 \x03(\x0b\x32#.injective_oracle_rpc.PriceV2ResultR\x06prices\"\xd7\x01\n\rPriceV2Result\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1b\n\tmarket_id\x18\x06 \x01(\tR\x08marketId\"z\n\x13StreamPricesRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\"J\n\x14StreamPricesResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"=\n\x1cStreamPricesByMarketsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"p\n\x1dStreamPricesByMarketsResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId2\x8d\x04\n\x12InjectiveOracleRPC\x12_\n\nOracleList\x12\'.injective_oracle_rpc.OracleListRequest\x1a(.injective_oracle_rpc.OracleListResponse\x12P\n\x05Price\x12\".injective_oracle_rpc.PriceRequest\x1a#.injective_oracle_rpc.PriceResponse\x12V\n\x07PriceV2\x12$.injective_oracle_rpc.PriceV2Request\x1a%.injective_oracle_rpc.PriceV2Response\x12g\n\x0cStreamPrices\x12).injective_oracle_rpc.StreamPricesRequest\x1a*.injective_oracle_rpc.StreamPricesResponse0\x01\x12\x82\x01\n\x15StreamPricesByMarkets\x12\x32.injective_oracle_rpc.StreamPricesByMarketsRequest\x1a\x33.injective_oracle_rpc.StreamPricesByMarketsResponse0\x01\x42\xb4\x01\n\x18\x63om.injective_oracle_rpcB\x17InjectiveOracleRpcProtoP\x01Z\x17/injective_oracle_rpcpb\xa2\x02\x03IXX\xaa\x02\x12InjectiveOracleRpc\xca\x02\x12InjectiveOracleRpc\xe2\x02\x1eInjectiveOracleRpc\\GPBMetadata\xea\x02\x12InjectiveOracleRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#exchange/injective_oracle_rpc.proto\x12\x14injective_oracle_rpc\"}\n\x11OracleListRequest\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0boracle_type\x18\x02 \x01(\tR\noracleType\x12\x19\n\x08per_page\x18\x03 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x04 \x01(\tR\x05token\"`\n\x12OracleListResponse\x12\x36\n\x07oracles\x18\x01 \x03(\x0b\x32\x1c.injective_oracle_rpc.OracleR\x07oracles\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x9b\x01\n\x06Oracle\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0b\x62\x61se_symbol\x18\x02 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x03 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x04 \x01(\tR\noracleType\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\"\xa3\x01\n\x0cPriceRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"%\n\rPriceResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"P\n\x0ePriceV2Request\x12>\n\x07\x66ilters\x18\x01 \x03(\x0b\x32$.injective_oracle_rpc.PricePayloadV2R\x07\x66ilters\"\xa5\x01\n\x0ePricePayloadV2\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\"N\n\x0fPriceV2Response\x12;\n\x06prices\x18\x01 \x03(\x0b\x32#.injective_oracle_rpc.PriceV2ResultR\x06prices\"\xd7\x01\n\rPriceV2Result\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\x12.\n\x13oracle_scale_factor\x18\x04 \x01(\rR\x11oracleScaleFactor\x12\x14\n\x05price\x18\x05 \x01(\tR\x05price\x12\x1b\n\tmarket_id\x18\x06 \x01(\tR\x08marketId\"z\n\x13StreamPricesRequest\x12\x1f\n\x0b\x62\x61se_symbol\x18\x01 \x01(\tR\nbaseSymbol\x12!\n\x0cquote_symbol\x18\x02 \x01(\tR\x0bquoteSymbol\x12\x1f\n\x0boracle_type\x18\x03 \x01(\tR\noracleType\"J\n\x14StreamPricesResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\"T\n\x17StreamOracleListRequest\x12\x1f\n\x0boracle_type\x18\x01 \x01(\tR\noracleType\x12\x18\n\x07symbols\x18\x02 \x03(\tR\x07symbols\"\x87\x01\n\x18StreamOracleListResponse\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1f\n\x0boracle_type\x18\x02 \x01(\tR\noracleType\x12\x14\n\x05price\x18\x03 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x04 \x01(\x12R\ttimestamp\"=\n\x1cStreamPricesByMarketsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"p\n\x1dStreamPricesByMarketsResponse\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId2\x82\x05\n\x12InjectiveOracleRPC\x12_\n\nOracleList\x12\'.injective_oracle_rpc.OracleListRequest\x1a(.injective_oracle_rpc.OracleListResponse\x12P\n\x05Price\x12\".injective_oracle_rpc.PriceRequest\x1a#.injective_oracle_rpc.PriceResponse\x12V\n\x07PriceV2\x12$.injective_oracle_rpc.PriceV2Request\x1a%.injective_oracle_rpc.PriceV2Response\x12g\n\x0cStreamPrices\x12).injective_oracle_rpc.StreamPricesRequest\x1a*.injective_oracle_rpc.StreamPricesResponse0\x01\x12s\n\x10StreamOracleList\x12-.injective_oracle_rpc.StreamOracleListRequest\x1a..injective_oracle_rpc.StreamOracleListResponse0\x01\x12\x82\x01\n\x15StreamPricesByMarkets\x12\x32.injective_oracle_rpc.StreamPricesByMarketsRequest\x1a\x33.injective_oracle_rpc.StreamPricesByMarketsResponse0\x01\x42\xb4\x01\n\x18\x63om.injective_oracle_rpcB\x17InjectiveOracleRpcProtoP\x01Z\x17/injective_oracle_rpcpb\xa2\x02\x03IXX\xaa\x02\x12InjectiveOracleRpc\xca\x02\x12InjectiveOracleRpc\xe2\x02\x1eInjectiveOracleRpc\\GPBMetadata\xea\x02\x12InjectiveOracleRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -44,10 +44,14 @@ _globals['_STREAMPRICESREQUEST']._serialized_end=1319 _globals['_STREAMPRICESRESPONSE']._serialized_start=1321 _globals['_STREAMPRICESRESPONSE']._serialized_end=1395 - _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_start=1397 - _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_end=1458 - _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_start=1460 - _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_end=1572 - _globals['_INJECTIVEORACLERPC']._serialized_start=1575 - _globals['_INJECTIVEORACLERPC']._serialized_end=2100 + _globals['_STREAMORACLELISTREQUEST']._serialized_start=1397 + _globals['_STREAMORACLELISTREQUEST']._serialized_end=1481 + _globals['_STREAMORACLELISTRESPONSE']._serialized_start=1484 + _globals['_STREAMORACLELISTRESPONSE']._serialized_end=1619 + _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_start=1621 + _globals['_STREAMPRICESBYMARKETSREQUEST']._serialized_end=1682 + _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_start=1684 + _globals['_STREAMPRICESBYMARKETSRESPONSE']._serialized_end=1796 + _globals['_INJECTIVEORACLERPC']._serialized_start=1799 + _globals['_INJECTIVEORACLERPC']._serialized_end=2441 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py index 3e166415..edc67753 100644 --- a/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py +++ b/pyinjective/proto/exchange/injective_oracle_rpc_pb2_grpc.py @@ -35,6 +35,11 @@ def __init__(self, channel): request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesRequest.SerializeToString, response_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesResponse.FromString, _registered_method=True) + self.StreamOracleList = channel.unary_stream( + '/injective_oracle_rpc.InjectiveOracleRPC/StreamOracleList', + request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListRequest.SerializeToString, + response_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListResponse.FromString, + _registered_method=True) self.StreamPricesByMarkets = channel.unary_stream( '/injective_oracle_rpc.InjectiveOracleRPC/StreamPricesByMarkets', request_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.SerializeToString, @@ -75,6 +80,14 @@ def StreamPrices(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def StreamOracleList(self, request, context): + """StreamOracleList streams oracle data updates filtered by oracle type and + optionally by symbols. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def StreamPricesByMarkets(self, request, context): """StreamPrices streams new price changes markets """ @@ -105,6 +118,11 @@ def add_InjectiveOracleRPCServicer_to_server(servicer, server): request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesRequest.FromString, response_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesResponse.SerializeToString, ), + 'StreamOracleList': grpc.unary_stream_rpc_method_handler( + servicer.StreamOracleList, + request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListRequest.FromString, + response_serializer=exchange_dot_injective__oracle__rpc__pb2.StreamOracleListResponse.SerializeToString, + ), 'StreamPricesByMarkets': grpc.unary_stream_rpc_method_handler( servicer.StreamPricesByMarkets, request_deserializer=exchange_dot_injective__oracle__rpc__pb2.StreamPricesByMarketsRequest.FromString, @@ -230,6 +248,33 @@ def StreamPrices(request, metadata, _registered_method=True) + @staticmethod + def StreamOracleList(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_oracle_rpc.InjectiveOracleRPC/StreamOracleList', + exchange_dot_injective__oracle__rpc__pb2.StreamOracleListRequest.SerializeToString, + exchange_dot_injective__oracle__rpc__pb2.StreamOracleListResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def StreamPricesByMarkets(request, target, diff --git a/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2.py b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2.py new file mode 100644 index 00000000..bebceb0a --- /dev/null +++ b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: exchange/injective_rfq_gw_rpc.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#exchange/injective_rfq_gw_rpc.proto\x12\x14injective_rfq_gw_rpc\"i\n\x16PrepareAutoSignRequest\x12O\n\x07request\x18\x01 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQGwPrepareAutoSignRequestTypeR\x07request\"\x96\x06\n\x1fRFQGwPrepareAutoSignRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12)\n\x10\x61utosign_address\x18\x07 \x01(\tR\x0f\x61utosignAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12(\n\x10\x61utosign_pub_key\x18\t \x01(\tR\x0e\x61utosignPubKey\x12\x36\n\x17\x61utosign_account_number\x18\n \x01(\x04R\x15\x61utosignAccountNumber\x12:\n\x19\x61utosign_account_sequence\x18\x0b \x01(\x04R\x17\x61utosignAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0c \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\r \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12-\n\x13quotes_wait_time_ms\x18\x14 \x01(\x04R\x10quotesWaitTimeMs\x12^\n\x0funfilled_action\x18\x15 \x01(\x0b\x32\x35.injective_rfq_gw_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12)\n\x10subaccount_nonce\x18\x16 \x01(\rR\x0fsubaccountNonce\x12\x10\n\x03\x63id\x18\x17 \x01(\tR\x03\x63id\x12#\n\rtaker_address\x18\x1e \x01(\tR\x0ctakerAddress\"\xb8\x01\n\x1fRFQSettlementUnfilledActionType\x12H\n\x05limit\x18\x01 \x01(\x0b\x32\x32.injective_rfq_gw_rpc.RFQSettlementLimitActionTypeR\x05limit\x12K\n\x06market\x18\x02 \x01(\x0b\x32\x33.injective_rfq_gw_rpc.RFQSettlementMarketActionTypeR\x06market\"4\n\x1cRFQSettlementLimitActionType\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"\x1f\n\x1dRFQSettlementMarketActionType\"\xe6\x04\n\x17PrepareAutoSignResponse\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x0e\n\x02tx\x18\x02 \x01(\x0cR\x02tx\x12\"\n\rfee_payer_sig\x18\x03 \x01(\tR\x0b\x66\x65\x65PayerSig\x12\x1b\n\tfee_payer\x18\x04 \x01(\tR\x08\x66\x65\x65Payer\x12\x1b\n\tsign_mode\x18\x05 \x01(\tR\x08signMode\x12 \n\x0cpub_key_type\x18\x06 \x01(\tR\npubKeyType\x12M\n\x11\x66\x65\x65_payer_pub_key\x18\x07 \x01(\x0b\x32\".injective_rfq_gw_rpc.CosmosPubKeyR\x0e\x66\x65\x65PayerPubKey\x12\x45\n\x06quotes\x18\x08 \x03(\x0b\x32-.injective_rfq_gw_rpc.RFQGwPrepareQuoteResultR\x06quotes\x12\x36\n\x17\x61utosign_account_number\x18\t \x01(\x04R\x15\x61utosignAccountNumber\x12:\n\x19\x61utosign_account_sequence\x18\n \x01(\x04R\x17\x61utosignAccountSequence\x12\x37\n\x18\x66\x65\x65_payer_account_number\x18\x0b \x01(\x04R\x15\x66\x65\x65PayerAccountNumber\x12;\n\x1a\x66\x65\x65_payer_account_sequence\x18\x0c \x01(\x04R\x17\x66\x65\x65PayerAccountSequence\x12$\n\x0equotes_wait_ms\x18\r \x01(\x04R\x0cquotesWaitMs\"4\n\x0c\x43osmosPubKey\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\"y\n\x17RFQGwPrepareQuoteResult\x12\x14\n\x05maker\x18\x01 \x01(\tR\x05maker\x12\x14\n\x05price\x18\x02 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x03 \x01(\tR\x08quantity\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin2\x83\x01\n\x11InjectiveRfqGwRPC\x12n\n\x0fPrepareAutoSign\x12,.injective_rfq_gw_rpc.PrepareAutoSignRequest\x1a-.injective_rfq_gw_rpc.PrepareAutoSignResponseB\xaf\x01\n\x18\x63om.injective_rfq_gw_rpcB\x16InjectiveRfqGwRpcProtoP\x01Z\x17/injective_rfq_gw_rpcpb\xa2\x02\x03IXX\xaa\x02\x11InjectiveRfqGwRpc\xca\x02\x11InjectiveRfqGwRpc\xe2\x02\x1dInjectiveRfqGwRpc\\GPBMetadata\xea\x02\x11InjectiveRfqGwRpcb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'exchange.injective_rfq_gw_rpc_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\030com.injective_rfq_gw_rpcB\026InjectiveRfqGwRpcProtoP\001Z\027/injective_rfq_gw_rpcpb\242\002\003IXX\252\002\021InjectiveRfqGwRpc\312\002\021InjectiveRfqGwRpc\342\002\035InjectiveRfqGwRpc\\GPBMetadata\352\002\021InjectiveRfqGwRpc' + _globals['_PREPAREAUTOSIGNREQUEST']._serialized_start=61 + _globals['_PREPAREAUTOSIGNREQUEST']._serialized_end=166 + _globals['_RFQGWPREPAREAUTOSIGNREQUESTTYPE']._serialized_start=169 + _globals['_RFQGWPREPAREAUTOSIGNREQUESTTYPE']._serialized_end=959 + _globals['_RFQSETTLEMENTUNFILLEDACTIONTYPE']._serialized_start=962 + _globals['_RFQSETTLEMENTUNFILLEDACTIONTYPE']._serialized_end=1146 + _globals['_RFQSETTLEMENTLIMITACTIONTYPE']._serialized_start=1148 + _globals['_RFQSETTLEMENTLIMITACTIONTYPE']._serialized_end=1200 + _globals['_RFQSETTLEMENTMARKETACTIONTYPE']._serialized_start=1202 + _globals['_RFQSETTLEMENTMARKETACTIONTYPE']._serialized_end=1233 + _globals['_PREPAREAUTOSIGNRESPONSE']._serialized_start=1236 + _globals['_PREPAREAUTOSIGNRESPONSE']._serialized_end=1850 + _globals['_COSMOSPUBKEY']._serialized_start=1852 + _globals['_COSMOSPUBKEY']._serialized_end=1904 + _globals['_RFQGWPREPAREQUOTERESULT']._serialized_start=1906 + _globals['_RFQGWPREPAREQUOTERESULT']._serialized_end=2027 + _globals['_INJECTIVERFQGWRPC']._serialized_start=2030 + _globals['_INJECTIVERFQGWRPC']._serialized_end=2161 +# @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2_grpc.py b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2_grpc.py new file mode 100644 index 00000000..485b5ffd --- /dev/null +++ b/pyinjective/proto/exchange/injective_rfq_gw_rpc_pb2_grpc.py @@ -0,0 +1,82 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from pyinjective.proto.exchange import injective_rfq_gw_rpc_pb2 as exchange_dot_injective__rfq__gw__rpc__pb2 + + +class InjectiveRfqGwRPCStub(object): + """InjectiveRfqGwRPC defines gRPC API of the RFQ Gw service. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.PrepareAutoSign = channel.unary_unary( + '/injective_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareAutoSign', + request_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignRequest.SerializeToString, + response_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignResponse.FromString, + _registered_method=True) + + +class InjectiveRfqGwRPCServicer(object): + """InjectiveRfqGwRPC defines gRPC API of the RFQ Gw service. + """ + + def PrepareAutoSign(self, request, context): + """Full RFQ cycle for autosign wallets: create request, wait for quotes, + prepare fee-delegated MsgExec tx signable by the ephemeral autosign key + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InjectiveRfqGwRPCServicer_to_server(servicer, server): + rpc_method_handlers = { + 'PrepareAutoSign': grpc.unary_unary_rpc_method_handler( + servicer.PrepareAutoSign, + request_deserializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignRequest.FromString, + response_serializer=exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'injective_rfq_gw_rpc.InjectiveRfqGwRPC', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + server.add_registered_method_handlers('injective_rfq_gw_rpc.InjectiveRfqGwRPC', rpc_method_handlers) + + + # This class is part of an EXPERIMENTAL API. +class InjectiveRfqGwRPC(object): + """InjectiveRfqGwRPC defines gRPC API of the RFQ Gw service. + """ + + @staticmethod + def PrepareAutoSign(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_rfq_gw_rpc.InjectiveRfqGwRPC/PrepareAutoSign', + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignRequest.SerializeToString, + exchange_dot_injective__rfq__gw__rpc__pb2.PrepareAutoSignResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) diff --git a/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py b/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py index 3b198cbc..b6059b4e 100644 --- a/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_rfq_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n exchange/injective_rfq_rpc.proto\x12\x11injective_rfq_rpc\"R\n\x0eRequestRequest\x12@\n\x07request\x18\x01 \x01(\x0b\x32&.injective_rfq_rpc.RFQRequestInputTypeR\x07request\"\xcf\x02\n\x13RFQRequestInputType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x07 \x01(\tR\x0erequestAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12)\n\x10transaction_time\x18\t \x01(\x04R\x0ftransactionTime\x12\x1f\n\x0bprice_check\x18\n \x01(\x08R\npriceCheck\"]\n\x0fRequestResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08\x63lientId\x12\x15\n\x06rfq_id\x18\x03 \x01(\x04R\x05rfqId\"5\n\x14StreamRequestRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\x7f\n\x15StreamRequestResponse\x12;\n\x07request\x18\x01 \x01(\x0b\x32!.injective_rfq_rpc.RFQRequestTypeR\x07request\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\xae\x03\n\x0eRFQRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x15\n\x06rfq_id\x18\x02 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x08 \x01(\tR\x0erequestAddress\x12\x16\n\x06\x65xpiry\x18\t \x01(\x04R\x06\x65xpiry\x12\x16\n\x06status\x18\n \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12)\n\x10transaction_time\x18\r \x01(\x04R\x0ftransactionTime\x12\x16\n\x06height\x18\x0e \x01(\x04R\x06height\"E\n\x0cQuoteRequest\x12\x35\n\x05quote\x18\x01 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\"\xd7\x05\n\x0cRFQQuoteType\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x15\n\x06rfq_id\x18\x04 \x01(\x04R\x05rfqId\x12\'\n\x0ftaker_direction\x18\x05 \x01(\tR\x0etakerDirection\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x07 \x01(\tR\x08quantity\x12\x14\n\x05price\x18\x08 \x01(\tR\x05price\x12\x38\n\x06\x65xpiry\x18\t \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x14\n\x05maker\x18\n \x01(\tR\x05maker\x12\x14\n\x05taker\x18\x0b \x01(\tR\x05taker\x12\x1c\n\tsignature\x18\x0c \x01(\tR\tsignature\x12\x16\n\x06status\x18\r \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0e \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0f \x01(\x12R\tupdatedAt\x12\x16\n\x06height\x18\x10 \x01(\x04R\x06height\x12\x1d\n\nevent_time\x18\x11 \x01(\x04R\teventTime\x12)\n\x10transaction_time\x18\x12 \x01(\x04R\x0ftransactionTime\x12\x34\n\x16maker_subaccount_nonce\x18\x13 \x01(\x04R\x14makerSubaccountNonce\x12*\n\x11min_fill_quantity\x18\x14 \x01(\tR\x0fminFillQuantity\x12\x1f\n\x0bprice_check\x18\x15 \x01(\x08R\npriceCheck\x12\x1b\n\tclient_id\x18\x16 \x01(\tR\x08\x63lientId\"E\n\rRFQExpiryType\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"\'\n\rQuoteResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"Q\n\x12StreamQuoteRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\x80\x01\n\x13StreamQuoteResponse\x12>\n\x05quote\x18\x01 \x01(\x0b\x32(.injective_rfq_rpc.RFQProcessedQuoteTypeR\x05quote\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\xcc\x06\n\x15RFQProcessedQuoteType\x12\x14\n\x05\x65rror\x18\x32 \x01(\tR\x05\x65rror\x12+\n\x11\x65xecuted_quantity\x18\x33 \x01(\tR\x10\x65xecutedQuantity\x12\'\n\x0f\x65xecuted_margin\x18\x34 \x01(\tR\x0e\x65xecutedMargin\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x15\n\x06rfq_id\x18\x04 \x01(\x04R\x05rfqId\x12\'\n\x0ftaker_direction\x18\x05 \x01(\tR\x0etakerDirection\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x07 \x01(\tR\x08quantity\x12\x14\n\x05price\x18\x08 \x01(\tR\x05price\x12\x38\n\x06\x65xpiry\x18\t \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x14\n\x05maker\x18\n \x01(\tR\x05maker\x12\x14\n\x05taker\x18\x0b \x01(\tR\x05taker\x12\x1c\n\tsignature\x18\x0c \x01(\tR\tsignature\x12\x16\n\x06status\x18\r \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0e \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0f \x01(\x12R\tupdatedAt\x12\x16\n\x06height\x18\x10 \x01(\x04R\x06height\x12\x1d\n\nevent_time\x18\x11 \x01(\x04R\teventTime\x12)\n\x10transaction_time\x18\x12 \x01(\x04R\x0ftransactionTime\x12\x34\n\x16maker_subaccount_nonce\x18\x13 \x01(\x04R\x14makerSubaccountNonce\x12*\n\x11min_fill_quantity\x18\x14 \x01(\tR\x0fminFillQuantity\x12\x1f\n\x0bprice_check\x18\x15 \x01(\x08R\npriceCheck\x12\x1b\n\tclient_id\x18\x16 \x01(\tR\x08\x63lientId\"f\n\x15ListSettlementRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\x12\x19\n\x08per_page\x18\x02 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\"t\n\x16ListSettlementResponse\x12\x46\n\x0bsettlements\x18\x01 \x03(\x0b\x32$.injective_rfq_rpc.RFQSettlementTypeR\x0bsettlements\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xb5\x04\n\x11RFQSettlementType\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12[\n\x0funfilled_action\x18\x08 \x01(\x0b\x32\x32.injective_rfq_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12+\n\x11\x66\x61llback_quantity\x18\t \x01(\tR\x10\x66\x61llbackQuantity\x12\'\n\x0f\x66\x61llback_margin\x18\n \x01(\tR\x0e\x66\x61llbackMargin\x12)\n\x10transaction_time\x18\x0b \x01(\x04R\x0ftransactionTime\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1d\n\nevent_time\x18\x0e \x01(\x04R\teventTime\x12\x16\n\x06height\x18\x0f \x01(\x04R\x06height\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xb2\x01\n\x1fRFQSettlementUnfilledActionType\x12\x45\n\x05limit\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.RFQSettlementLimitActionTypeR\x05limit\x12H\n\x06market\x18\x02 \x01(\x0b\x32\x30.injective_rfq_rpc.RFQSettlementMarketActionTypeR\x06market\"4\n\x1cRFQSettlementLimitActionType\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"\x1f\n\x1dRFQSettlementMarketActionType\"7\n\x17StreamSettlementRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\"\x8b\x01\n\x18StreamSettlementResponse\x12\x44\n\nsettlement\x18\x01 \x01(\x0b\x32$.injective_rfq_rpc.RFQSettlementTypeR\nsettlement\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"}\n\x1d\x43reateConditionalOrderRequest\x12>\n\x05order\x18\x01 \x01(\x0b\x32(.injective_rfq_rpc.ConditionalOrderInputR\x05order\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\"\x9c\x05\n\x15\x43onditionalOrderInput\x12\x18\n\x07version\x18\x01 \x01(\rR\x07version\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x14\n\x05taker\x18\x04 \x01(\tR\x05taker\x12\x14\n\x05\x65poch\x18\x05 \x01(\x04R\x05\x65poch\x12\x15\n\x06rfq_id\x18\x06 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12)\n\x10subaccount_nonce\x18\x08 \x01(\rR\x0fsubaccountNonce\x12!\n\x0clane_version\x18\t \x01(\x04R\x0blaneVersion\x12\x1f\n\x0b\x64\x65\x61\x64line_ms\x18\n \x01(\x04R\ndeadlineMs\x12\x1c\n\tdirection\x18\x0b \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x0c \x01(\tR\x08quantity\x12\x16\n\x06margin\x18\r \x01(\tR\x06margin\x12\x1f\n\x0bworst_price\x18\x0e \x01(\tR\nworstPrice\x12\x35\n\x17min_total_fill_quantity\x18\x0f \x01(\tR\x14minTotalFillQuantity\x12!\n\x0ctrigger_type\x18\x10 \x01(\tR\x0btriggerType\x12#\n\rtrigger_price\x18\x11 \x01(\tR\x0ctriggerPrice\x12\'\n\x0funfilled_action\x18\x12 \x01(\tR\x0eunfilledAction\x12\x10\n\x03\x63id\x18\x13 \x01(\tR\x03\x63id\x12\'\n\x0f\x61llowed_relayer\x18\x14 \x01(\tR\x0e\x61llowedRelayer\"g\n\x1e\x43reateConditionalOrderResponse\x12\x45\n\x05order\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x05order\"\x88\x03\n\x1c\x43onditionalOrderResponseType\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x07 \x01(\tR\x0erequestAddress\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x16\n\x06status\x18\t \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\n \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x1d\n\nexpires_at\x18\x0c \x01(\x12R\texpiresAt\"\xad\x01\n\x1cListConditionalOrdersRequest\x12\'\n\x0frequest_address\x18\x01 \x01(\tR\x0erequestAddress\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"|\n\x1dListConditionalOrdersResponse\x12G\n\x06orders\x18\x01 \x03(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x9a\x02\n\x1bTakerStreamStreamingRequest\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x41\n\x07request\x18\x02 \x01(\x0b\x32\'.injective_rfq_rpc.CreateRFQRequestTypeR\x07request\x12U\n\x11\x63onditional_order\x18\x03 \x01(\x0b\x32(.injective_rfq_rpc.ConditionalOrderInputR\x10\x63onditionalOrder\x12>\n\x1b\x63onditional_order_signature\x18\x04 \x01(\tR\x19\x63onditionalOrderSignature\"\xfc\x01\n\x14\x43reateRFQRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\x16\n\x06\x65xpiry\x18\x07 \x01(\x04R\x06\x65xpiry\x12\x1f\n\x0bprice_check\x18\x08 \x01(\x08R\npriceCheck\"\xc7\x02\n\x13TakerStreamResponse\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x35\n\x05quote\x18\x02 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\x12\x44\n\x0brequest_ack\x18\x03 \x01(\x0b\x32#.injective_rfq_rpc.RequestStreamAckR\nrequestAck\x12\x34\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.injective_rfq_rpc.StreamErrorR\x05\x65rror\x12Z\n\x15\x63onditional_order_ack\x18\x05 \x01(\x0b\x32&.injective_rfq_rpc.ConditionalOrderAckR\x13\x63onditionalOrderAck\"^\n\x10RequestStreamAck\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08\x63lientId\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\"<\n\x0bStreamError\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\x12\x19\n\x08message_\x18\x02 \x01(\tR\x07message\"\\\n\x13\x43onditionalOrderAck\x12\x45\n\x05order\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x05order\"w\n\x1bMakerStreamStreamingRequest\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x35\n\x05quote\x18\x02 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\"\x8b\x03\n\x13MakerStreamResponse\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12;\n\x07request\x18\x02 \x01(\x0b\x32!.injective_rfq_rpc.RFQRequestTypeR\x07request\x12>\n\tquote_ack\x18\x03 \x01(\x0b\x32!.injective_rfq_rpc.QuoteStreamAckR\x08quoteAck\x12\x34\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.injective_rfq_rpc.StreamErrorR\x05\x65rror\x12Q\n\x0fprocessed_quote\x18\x05 \x01(\x0b\x32(.injective_rfq_rpc.RFQProcessedQuoteTypeR\x0eprocessedQuote\x12K\n\nsettlement\x18\x06 \x01(\x0b\x32+.injective_rfq_rpc.RFQSettlementMakerUpdateR\nsettlement\"?\n\x0eQuoteStreamAck\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\"\xfb\x04\n\x18RFQSettlementMakerUpdate\x12=\n\x06quotes\x18\x32 \x03(\x0b\x32%.injective_rfq_rpc.RFQSettlementQuoteR\x06quotes\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12[\n\x0funfilled_action\x18\x08 \x01(\x0b\x32\x32.injective_rfq_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12+\n\x11\x66\x61llback_quantity\x18\t \x01(\tR\x10\x66\x61llbackQuantity\x12\'\n\x0f\x66\x61llback_margin\x18\n \x01(\tR\x0e\x66\x61llbackMargin\x12)\n\x10transaction_time\x18\x0b \x01(\x04R\x0ftransactionTime\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1d\n\nevent_time\x18\x0e \x01(\x04R\teventTime\x12\x16\n\x06height\x18\x0f \x01(\x04R\x06height\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xea\x02\n\x12RFQSettlementQuote\x12\x14\n\x05maker\x18\x01 \x01(\tR\x05maker\x12\x14\n\x05price\x18\x02 \x01(\tR\x05price\x12#\n\rquoted_margin\x18\x03 \x01(\tR\x0cquotedMargin\x12\'\n\x0fquoted_quantity\x18\x04 \x01(\tR\x0equotedQuantity\x12\'\n\x0f\x65xecuted_margin\x18\x05 \x01(\tR\x0e\x65xecutedMargin\x12+\n\x11\x65xecuted_quantity\x18\x06 \x01(\tR\x10\x65xecutedQuantity\x12\x38\n\x06\x65xpiry\x18\x07 \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x1c\n\tsignature\x18\x08 \x01(\tR\tsignature\x12\x14\n\x05nonce\x18\t \x01(\x04R\x05nonce\x12\x16\n\x06status\x18\n \x01(\tR\x06status2\x9c\x08\n\x0fInjectiveRfqRPC\x12P\n\x07Request\x12!.injective_rfq_rpc.RequestRequest\x1a\".injective_rfq_rpc.RequestResponse\x12\x64\n\rStreamRequest\x12\'.injective_rfq_rpc.StreamRequestRequest\x1a(.injective_rfq_rpc.StreamRequestResponse0\x01\x12J\n\x05Quote\x12\x1f.injective_rfq_rpc.QuoteRequest\x1a .injective_rfq_rpc.QuoteResponse\x12^\n\x0bStreamQuote\x12%.injective_rfq_rpc.StreamQuoteRequest\x1a&.injective_rfq_rpc.StreamQuoteResponse0\x01\x12\x65\n\x0eListSettlement\x12(.injective_rfq_rpc.ListSettlementRequest\x1a).injective_rfq_rpc.ListSettlementResponse\x12m\n\x10StreamSettlement\x12*.injective_rfq_rpc.StreamSettlementRequest\x1a+.injective_rfq_rpc.StreamSettlementResponse0\x01\x12}\n\x16\x43reateConditionalOrder\x12\x30.injective_rfq_rpc.CreateConditionalOrderRequest\x1a\x31.injective_rfq_rpc.CreateConditionalOrderResponse\x12z\n\x15ListConditionalOrders\x12/.injective_rfq_rpc.ListConditionalOrdersRequest\x1a\x30.injective_rfq_rpc.ListConditionalOrdersResponse\x12i\n\x0bTakerStream\x12..injective_rfq_rpc.TakerStreamStreamingRequest\x1a&.injective_rfq_rpc.TakerStreamResponse(\x01\x30\x01\x12i\n\x0bMakerStream\x12..injective_rfq_rpc.MakerStreamStreamingRequest\x1a&.injective_rfq_rpc.MakerStreamResponse(\x01\x30\x01\x42\x9f\x01\n\x15\x63om.injective_rfq_rpcB\x14InjectiveRfqRpcProtoP\x01Z\x14/injective_rfq_rpcpb\xa2\x02\x03IXX\xaa\x02\x0fInjectiveRfqRpc\xca\x02\x0fInjectiveRfqRpc\xe2\x02\x1bInjectiveRfqRpc\\GPBMetadata\xea\x02\x0fInjectiveRfqRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n exchange/injective_rfq_rpc.proto\x12\x11injective_rfq_rpc\"R\n\x0eRequestRequest\x12@\n\x07request\x18\x01 \x01(\x0b\x32&.injective_rfq_rpc.RFQRequestInputTypeR\x07request\"\xcf\x02\n\x13RFQRequestInputType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x07 \x01(\tR\x0erequestAddress\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x04R\x06\x65xpiry\x12)\n\x10transaction_time\x18\t \x01(\x04R\x0ftransactionTime\x12\x1f\n\x0bprice_check\x18\n \x01(\x08R\npriceCheck\"]\n\x0fRequestResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08\x63lientId\x12\x15\n\x06rfq_id\x18\x03 \x01(\x04R\x05rfqId\"5\n\x14StreamRequestRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"\x7f\n\x15StreamRequestResponse\x12;\n\x07request\x18\x01 \x01(\x0b\x32!.injective_rfq_rpc.RFQRequestTypeR\x07request\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\xae\x03\n\x0eRFQRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x15\n\x06rfq_id\x18\x02 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x08 \x01(\tR\x0erequestAddress\x12\x16\n\x06\x65xpiry\x18\t \x01(\x04R\x06\x65xpiry\x12\x16\n\x06status\x18\n \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0b \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0c \x01(\x12R\tupdatedAt\x12)\n\x10transaction_time\x18\r \x01(\x04R\x0ftransactionTime\x12\x16\n\x06height\x18\x0e \x01(\x04R\x06height\"E\n\x0cQuoteRequest\x12\x35\n\x05quote\x18\x01 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\"\xd7\x05\n\x0cRFQQuoteType\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x15\n\x06rfq_id\x18\x04 \x01(\x04R\x05rfqId\x12\'\n\x0ftaker_direction\x18\x05 \x01(\tR\x0etakerDirection\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x07 \x01(\tR\x08quantity\x12\x14\n\x05price\x18\x08 \x01(\tR\x05price\x12\x38\n\x06\x65xpiry\x18\t \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x14\n\x05maker\x18\n \x01(\tR\x05maker\x12\x14\n\x05taker\x18\x0b \x01(\tR\x05taker\x12\x1c\n\tsignature\x18\x0c \x01(\tR\tsignature\x12\x16\n\x06status\x18\r \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0e \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0f \x01(\x12R\tupdatedAt\x12\x16\n\x06height\x18\x10 \x01(\x04R\x06height\x12\x1d\n\nevent_time\x18\x11 \x01(\x04R\teventTime\x12)\n\x10transaction_time\x18\x12 \x01(\x04R\x0ftransactionTime\x12\x34\n\x16maker_subaccount_nonce\x18\x13 \x01(\x04R\x14makerSubaccountNonce\x12*\n\x11min_fill_quantity\x18\x14 \x01(\tR\x0fminFillQuantity\x12\x1f\n\x0bprice_check\x18\x15 \x01(\x08R\npriceCheck\x12\x1b\n\tclient_id\x18\x16 \x01(\tR\x08\x63lientId\"E\n\rRFQExpiryType\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\x16\n\x06height\x18\x02 \x01(\x04R\x06height\"\'\n\rQuoteResponse\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"Q\n\x12StreamQuoteRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\x80\x01\n\x13StreamQuoteResponse\x12>\n\x05quote\x18\x01 \x01(\x0b\x32(.injective_rfq_rpc.RFQProcessedQuoteTypeR\x05quote\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"\xcc\x06\n\x15RFQProcessedQuoteType\x12\x14\n\x05\x65rror\x18\x32 \x01(\tR\x05\x65rror\x12+\n\x11\x65xecuted_quantity\x18\x33 \x01(\tR\x10\x65xecutedQuantity\x12\'\n\x0f\x65xecuted_margin\x18\x34 \x01(\tR\x0e\x65xecutedMargin\x12\x19\n\x08\x63hain_id\x18\x01 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x02 \x01(\tR\x0f\x63ontractAddress\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x15\n\x06rfq_id\x18\x04 \x01(\x04R\x05rfqId\x12\'\n\x0ftaker_direction\x18\x05 \x01(\tR\x0etakerDirection\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x07 \x01(\tR\x08quantity\x12\x14\n\x05price\x18\x08 \x01(\tR\x05price\x12\x38\n\x06\x65xpiry\x18\t \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x14\n\x05maker\x18\n \x01(\tR\x05maker\x12\x14\n\x05taker\x18\x0b \x01(\tR\x05taker\x12\x1c\n\tsignature\x18\x0c \x01(\tR\tsignature\x12\x16\n\x06status\x18\r \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\x0e \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0f \x01(\x12R\tupdatedAt\x12\x16\n\x06height\x18\x10 \x01(\x04R\x06height\x12\x1d\n\nevent_time\x18\x11 \x01(\x04R\teventTime\x12)\n\x10transaction_time\x18\x12 \x01(\x04R\x0ftransactionTime\x12\x34\n\x16maker_subaccount_nonce\x18\x13 \x01(\x04R\x14makerSubaccountNonce\x12*\n\x11min_fill_quantity\x18\x14 \x01(\tR\x0fminFillQuantity\x12\x1f\n\x0bprice_check\x18\x15 \x01(\x08R\npriceCheck\x12\x1b\n\tclient_id\x18\x16 \x01(\tR\x08\x63lientId\"f\n\x15ListSettlementRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\x12\x19\n\x08per_page\x18\x02 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x03 \x01(\tR\x05token\"t\n\x16ListSettlementResponse\x12\x46\n\x0bsettlements\x18\x01 \x03(\x0b\x32$.injective_rfq_rpc.RFQSettlementTypeR\x0bsettlements\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xb5\x04\n\x11RFQSettlementType\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12[\n\x0funfilled_action\x18\x08 \x01(\x0b\x32\x32.injective_rfq_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12+\n\x11\x66\x61llback_quantity\x18\t \x01(\tR\x10\x66\x61llbackQuantity\x12\'\n\x0f\x66\x61llback_margin\x18\n \x01(\tR\x0e\x66\x61llbackMargin\x12)\n\x10transaction_time\x18\x0b \x01(\x04R\x0ftransactionTime\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1d\n\nevent_time\x18\x0e \x01(\x04R\teventTime\x12\x16\n\x06height\x18\x0f \x01(\x04R\x06height\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xb2\x01\n\x1fRFQSettlementUnfilledActionType\x12\x45\n\x05limit\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.RFQSettlementLimitActionTypeR\x05limit\x12H\n\x06market\x18\x02 \x01(\x0b\x32\x30.injective_rfq_rpc.RFQSettlementMarketActionTypeR\x06market\"4\n\x1cRFQSettlementLimitActionType\x12\x14\n\x05price\x18\x01 \x01(\tR\x05price\"\x1f\n\x1dRFQSettlementMarketActionType\"7\n\x17StreamSettlementRequest\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\"\x8b\x01\n\x18StreamSettlementResponse\x12\x44\n\nsettlement\x18\x01 \x01(\x0b\x32$.injective_rfq_rpc.RFQSettlementTypeR\nsettlement\x12)\n\x10stream_operation\x18\x02 \x01(\tR\x0fstreamOperation\"}\n\x1d\x43reateConditionalOrderRequest\x12>\n\x05order\x18\x01 \x01(\x0b\x32(.injective_rfq_rpc.ConditionalOrderInputR\x05order\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\"\x9c\x05\n\x15\x43onditionalOrderInput\x12\x18\n\x07version\x18\x01 \x01(\rR\x07version\x12\x19\n\x08\x63hain_id\x18\x02 \x01(\tR\x07\x63hainId\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x14\n\x05taker\x18\x04 \x01(\tR\x05taker\x12\x14\n\x05\x65poch\x18\x05 \x01(\x04R\x05\x65poch\x12\x15\n\x06rfq_id\x18\x06 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12)\n\x10subaccount_nonce\x18\x08 \x01(\rR\x0fsubaccountNonce\x12!\n\x0clane_version\x18\t \x01(\x04R\x0blaneVersion\x12\x1f\n\x0b\x64\x65\x61\x64line_ms\x18\n \x01(\x04R\ndeadlineMs\x12\x1c\n\tdirection\x18\x0b \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x0c \x01(\tR\x08quantity\x12\x16\n\x06margin\x18\r \x01(\tR\x06margin\x12\x1f\n\x0bworst_price\x18\x0e \x01(\tR\nworstPrice\x12\x35\n\x17min_total_fill_quantity\x18\x0f \x01(\tR\x14minTotalFillQuantity\x12!\n\x0ctrigger_type\x18\x10 \x01(\tR\x0btriggerType\x12#\n\rtrigger_price\x18\x11 \x01(\tR\x0ctriggerPrice\x12\'\n\x0funfilled_action\x18\x12 \x01(\tR\x0eunfilledAction\x12\x10\n\x03\x63id\x18\x13 \x01(\tR\x03\x63id\x12\'\n\x0f\x61llowed_relayer\x18\x14 \x01(\tR\x0e\x61llowedRelayer\"g\n\x1e\x43reateConditionalOrderResponse\x12\x45\n\x05order\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x05order\"\x97\x04\n\x1c\x43onditionalOrderResponseType\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\'\n\x0frequest_address\x18\x07 \x01(\tR\x0erequestAddress\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x16\n\x06status\x18\t \x01(\tR\x06status\x12\x1d\n\ncreated_at\x18\n \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x1d\n\nexpires_at\x18\x0c \x01(\x12R\texpiresAt\x12!\n\x0ctrigger_type\x18\r \x01(\tR\x0btriggerType\x12\x35\n\x17min_total_fill_quantity\x18\x0e \x01(\tR\x14minTotalFillQuantity\x12\x1d\n\nevent_time\x18\x0f \x01(\x04R\teventTime\x12\x14\n\x05\x65rror\x18\x10 \x01(\tR\x05\x65rror\"\xad\x01\n\x1cListConditionalOrdersRequest\x12\'\n\x0frequest_address\x18\x01 \x01(\tR\x0erequestAddress\x12\x16\n\x06status\x18\x02 \x03(\tR\x06status\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"|\n\x1dListConditionalOrdersResponse\x12G\n\x06orders\x18\x01 \x03(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x9a\x02\n\x1bTakerStreamStreamingRequest\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x41\n\x07request\x18\x02 \x01(\x0b\x32\'.injective_rfq_rpc.CreateRFQRequestTypeR\x07request\x12U\n\x11\x63onditional_order\x18\x03 \x01(\x0b\x32(.injective_rfq_rpc.ConditionalOrderInputR\x10\x63onditionalOrder\x12>\n\x1b\x63onditional_order_signature\x18\x04 \x01(\tR\x19\x63onditionalOrderSignature\"\xfc\x01\n\x14\x43reateRFQRequestType\x12\x1b\n\tclient_id\x18\x01 \x01(\tR\x08\x63lientId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1c\n\tdirection\x18\x03 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x04 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x06 \x01(\tR\nworstPrice\x12\x16\n\x06\x65xpiry\x18\x07 \x01(\x04R\x06\x65xpiry\x12\x1f\n\x0bprice_check\x18\x08 \x01(\x08R\npriceCheck\"\xa5\x03\n\x13TakerStreamResponse\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x35\n\x05quote\x18\x02 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\x12\x44\n\x0brequest_ack\x18\x03 \x01(\x0b\x32#.injective_rfq_rpc.RequestStreamAckR\nrequestAck\x12\x34\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.injective_rfq_rpc.StreamErrorR\x05\x65rror\x12Z\n\x15\x63onditional_order_ack\x18\x05 \x01(\x0b\x32&.injective_rfq_rpc.ConditionalOrderAckR\x13\x63onditionalOrderAck\x12\\\n\x11\x63onditional_order\x18\x06 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x10\x63onditionalOrder\"^\n\x10RequestStreamAck\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tclient_id\x18\x02 \x01(\tR\x08\x63lientId\x12\x16\n\x06status\x18\x03 \x01(\tR\x06status\"<\n\x0bStreamError\x12\x12\n\x04\x63ode\x18\x01 \x01(\tR\x04\x63ode\x12\x19\n\x08message_\x18\x02 \x01(\tR\x07message\"\\\n\x13\x43onditionalOrderAck\x12\x45\n\x05order\x18\x01 \x01(\x0b\x32/.injective_rfq_rpc.ConditionalOrderResponseTypeR\x05order\"w\n\x1bMakerStreamStreamingRequest\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12\x35\n\x05quote\x18\x02 \x01(\x0b\x32\x1f.injective_rfq_rpc.RFQQuoteTypeR\x05quote\"\x8b\x03\n\x13MakerStreamResponse\x12!\n\x0cmessage_type\x18\x01 \x01(\tR\x0bmessageType\x12;\n\x07request\x18\x02 \x01(\x0b\x32!.injective_rfq_rpc.RFQRequestTypeR\x07request\x12>\n\tquote_ack\x18\x03 \x01(\x0b\x32!.injective_rfq_rpc.QuoteStreamAckR\x08quoteAck\x12\x34\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x1e.injective_rfq_rpc.StreamErrorR\x05\x65rror\x12Q\n\x0fprocessed_quote\x18\x05 \x01(\x0b\x32(.injective_rfq_rpc.RFQProcessedQuoteTypeR\x0eprocessedQuote\x12K\n\nsettlement\x18\x06 \x01(\x0b\x32+.injective_rfq_rpc.RFQSettlementMakerUpdateR\nsettlement\"?\n\x0eQuoteStreamAck\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\"\xfb\x04\n\x18RFQSettlementMakerUpdate\x12=\n\x06quotes\x18\x32 \x03(\x0b\x32%.injective_rfq_rpc.RFQSettlementQuoteR\x06quotes\x12\x15\n\x06rfq_id\x18\x01 \x01(\x04R\x05rfqId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05taker\x18\x03 \x01(\tR\x05taker\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x16\n\x06margin\x18\x05 \x01(\tR\x06margin\x12\x1a\n\x08quantity\x18\x06 \x01(\tR\x08quantity\x12\x1f\n\x0bworst_price\x18\x07 \x01(\tR\nworstPrice\x12[\n\x0funfilled_action\x18\x08 \x01(\x0b\x32\x32.injective_rfq_rpc.RFQSettlementUnfilledActionTypeR\x0eunfilledAction\x12+\n\x11\x66\x61llback_quantity\x18\t \x01(\tR\x10\x66\x61llbackQuantity\x12\'\n\x0f\x66\x61llback_margin\x18\n \x01(\tR\x0e\x66\x61llbackMargin\x12)\n\x10transaction_time\x18\x0b \x01(\x04R\x0ftransactionTime\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12\x1d\n\nevent_time\x18\x0e \x01(\x04R\teventTime\x12\x16\n\x06height\x18\x0f \x01(\x04R\x06height\x12\x10\n\x03\x63id\x18\x10 \x01(\tR\x03\x63id\"\xea\x02\n\x12RFQSettlementQuote\x12\x14\n\x05maker\x18\x01 \x01(\tR\x05maker\x12\x14\n\x05price\x18\x02 \x01(\tR\x05price\x12#\n\rquoted_margin\x18\x03 \x01(\tR\x0cquotedMargin\x12\'\n\x0fquoted_quantity\x18\x04 \x01(\tR\x0equotedQuantity\x12\'\n\x0f\x65xecuted_margin\x18\x05 \x01(\tR\x0e\x65xecutedMargin\x12+\n\x11\x65xecuted_quantity\x18\x06 \x01(\tR\x10\x65xecutedQuantity\x12\x38\n\x06\x65xpiry\x18\x07 \x01(\x0b\x32 .injective_rfq_rpc.RFQExpiryTypeR\x06\x65xpiry\x12\x1c\n\tsignature\x18\x08 \x01(\tR\tsignature\x12\x14\n\x05nonce\x18\t \x01(\x04R\x05nonce\x12\x16\n\x06status\x18\n \x01(\tR\x06status2\x9c\x08\n\x0fInjectiveRfqRPC\x12P\n\x07Request\x12!.injective_rfq_rpc.RequestRequest\x1a\".injective_rfq_rpc.RequestResponse\x12\x64\n\rStreamRequest\x12\'.injective_rfq_rpc.StreamRequestRequest\x1a(.injective_rfq_rpc.StreamRequestResponse0\x01\x12J\n\x05Quote\x12\x1f.injective_rfq_rpc.QuoteRequest\x1a .injective_rfq_rpc.QuoteResponse\x12^\n\x0bStreamQuote\x12%.injective_rfq_rpc.StreamQuoteRequest\x1a&.injective_rfq_rpc.StreamQuoteResponse0\x01\x12\x65\n\x0eListSettlement\x12(.injective_rfq_rpc.ListSettlementRequest\x1a).injective_rfq_rpc.ListSettlementResponse\x12m\n\x10StreamSettlement\x12*.injective_rfq_rpc.StreamSettlementRequest\x1a+.injective_rfq_rpc.StreamSettlementResponse0\x01\x12}\n\x16\x43reateConditionalOrder\x12\x30.injective_rfq_rpc.CreateConditionalOrderRequest\x1a\x31.injective_rfq_rpc.CreateConditionalOrderResponse\x12z\n\x15ListConditionalOrders\x12/.injective_rfq_rpc.ListConditionalOrdersRequest\x1a\x30.injective_rfq_rpc.ListConditionalOrdersResponse\x12i\n\x0bTakerStream\x12..injective_rfq_rpc.TakerStreamStreamingRequest\x1a&.injective_rfq_rpc.TakerStreamResponse(\x01\x30\x01\x12i\n\x0bMakerStream\x12..injective_rfq_rpc.MakerStreamStreamingRequest\x1a&.injective_rfq_rpc.MakerStreamResponse(\x01\x30\x01\x42\x9f\x01\n\x15\x63om.injective_rfq_rpcB\x14InjectiveRfqRpcProtoP\x01Z\x14/injective_rfq_rpcpb\xa2\x02\x03IXX\xaa\x02\x0fInjectiveRfqRpc\xca\x02\x0fInjectiveRfqRpc\xe2\x02\x1bInjectiveRfqRpc\\GPBMetadata\xea\x02\x0fInjectiveRfqRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -71,33 +71,33 @@ _globals['_CREATECONDITIONALORDERRESPONSE']._serialized_start=5218 _globals['_CREATECONDITIONALORDERRESPONSE']._serialized_end=5321 _globals['_CONDITIONALORDERRESPONSETYPE']._serialized_start=5324 - _globals['_CONDITIONALORDERRESPONSETYPE']._serialized_end=5716 - _globals['_LISTCONDITIONALORDERSREQUEST']._serialized_start=5719 - _globals['_LISTCONDITIONALORDERSREQUEST']._serialized_end=5892 - _globals['_LISTCONDITIONALORDERSRESPONSE']._serialized_start=5894 - _globals['_LISTCONDITIONALORDERSRESPONSE']._serialized_end=6018 - _globals['_TAKERSTREAMSTREAMINGREQUEST']._serialized_start=6021 - _globals['_TAKERSTREAMSTREAMINGREQUEST']._serialized_end=6303 - _globals['_CREATERFQREQUESTTYPE']._serialized_start=6306 - _globals['_CREATERFQREQUESTTYPE']._serialized_end=6558 - _globals['_TAKERSTREAMRESPONSE']._serialized_start=6561 - _globals['_TAKERSTREAMRESPONSE']._serialized_end=6888 - _globals['_REQUESTSTREAMACK']._serialized_start=6890 - _globals['_REQUESTSTREAMACK']._serialized_end=6984 - _globals['_STREAMERROR']._serialized_start=6986 - _globals['_STREAMERROR']._serialized_end=7046 - _globals['_CONDITIONALORDERACK']._serialized_start=7048 - _globals['_CONDITIONALORDERACK']._serialized_end=7140 - _globals['_MAKERSTREAMSTREAMINGREQUEST']._serialized_start=7142 - _globals['_MAKERSTREAMSTREAMINGREQUEST']._serialized_end=7261 - _globals['_MAKERSTREAMRESPONSE']._serialized_start=7264 - _globals['_MAKERSTREAMRESPONSE']._serialized_end=7659 - _globals['_QUOTESTREAMACK']._serialized_start=7661 - _globals['_QUOTESTREAMACK']._serialized_end=7724 - _globals['_RFQSETTLEMENTMAKERUPDATE']._serialized_start=7727 - _globals['_RFQSETTLEMENTMAKERUPDATE']._serialized_end=8362 - _globals['_RFQSETTLEMENTQUOTE']._serialized_start=8365 - _globals['_RFQSETTLEMENTQUOTE']._serialized_end=8727 - _globals['_INJECTIVERFQRPC']._serialized_start=8730 - _globals['_INJECTIVERFQRPC']._serialized_end=9782 + _globals['_CONDITIONALORDERRESPONSETYPE']._serialized_end=5859 + _globals['_LISTCONDITIONALORDERSREQUEST']._serialized_start=5862 + _globals['_LISTCONDITIONALORDERSREQUEST']._serialized_end=6035 + _globals['_LISTCONDITIONALORDERSRESPONSE']._serialized_start=6037 + _globals['_LISTCONDITIONALORDERSRESPONSE']._serialized_end=6161 + _globals['_TAKERSTREAMSTREAMINGREQUEST']._serialized_start=6164 + _globals['_TAKERSTREAMSTREAMINGREQUEST']._serialized_end=6446 + _globals['_CREATERFQREQUESTTYPE']._serialized_start=6449 + _globals['_CREATERFQREQUESTTYPE']._serialized_end=6701 + _globals['_TAKERSTREAMRESPONSE']._serialized_start=6704 + _globals['_TAKERSTREAMRESPONSE']._serialized_end=7125 + _globals['_REQUESTSTREAMACK']._serialized_start=7127 + _globals['_REQUESTSTREAMACK']._serialized_end=7221 + _globals['_STREAMERROR']._serialized_start=7223 + _globals['_STREAMERROR']._serialized_end=7283 + _globals['_CONDITIONALORDERACK']._serialized_start=7285 + _globals['_CONDITIONALORDERACK']._serialized_end=7377 + _globals['_MAKERSTREAMSTREAMINGREQUEST']._serialized_start=7379 + _globals['_MAKERSTREAMSTREAMINGREQUEST']._serialized_end=7498 + _globals['_MAKERSTREAMRESPONSE']._serialized_start=7501 + _globals['_MAKERSTREAMRESPONSE']._serialized_end=7896 + _globals['_QUOTESTREAMACK']._serialized_start=7898 + _globals['_QUOTESTREAMACK']._serialized_end=7961 + _globals['_RFQSETTLEMENTMAKERUPDATE']._serialized_start=7964 + _globals['_RFQSETTLEMENTMAKERUPDATE']._serialized_end=8599 + _globals['_RFQSETTLEMENTQUOTE']._serialized_start=8602 + _globals['_RFQSETTLEMENTQUOTE']._serialized_end=8964 + _globals['_INJECTIVERFQRPC']._serialized_start=8967 + _globals['_INJECTIVERFQRPC']._serialized_end=10019 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py b/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py index c3383818..dcccfb38 100644 --- a/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py +++ b/pyinjective/proto/exchange/injective_tc_derivatives_rpc_pb2.py @@ -14,7 +14,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+exchange/injective_tc_derivatives_rpc.proto\x12\x1cinjective_tc_derivatives_rpc\"\xad\x01\n\x14OrdersHistoryRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"\x7f\n\x15OrdersHistoryResponse\x12R\n\x06orders\x18\x01 \x03(\x0b\x32:.injective_tc_derivatives_rpc.TCDerivativeOrderHistoryTypeR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xaf\x05\n\x1cTCDerivativeOrderHistoryType\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\"d\n\x1aStreamOrdersHistoryRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xb4\x01\n\x1bStreamOrdersHistoryResponse\x12P\n\x05order\x18\x01 \x01(\x0b\x32:.injective_tc_derivatives_rpc.TCDerivativeOrderHistoryTypeR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xa6\x01\n\rOrdersRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"p\n\x0eOrdersResponse\x12J\n\x06orders\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeLimitOrderR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xd7\x05\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\"]\n\x13StreamOrdersRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xa5\x01\n\x14StreamOrdersResponse\x12H\n\x05order\x18\x01 \x01(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xa6\x01\n\rTradesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"k\n\x0eTradesResponse\x12\x45\n\x06trades\x18\x01 \x03(\x0b\x32-.injective_tc_derivatives_rpc.DerivativeTradeR\x06trades\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xf5\x03\n\x0f\x44\x65rivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12R\n\x0eposition_delta\x18\x06 \x01(\x0b\x32+.injective_tc_derivatives_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\x12\x10\n\x03pnl\x18\x0e \x01(\tR\x03pnl\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"]\n\x13StreamTradesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xa0\x01\n\x14StreamTradesResponse\x12\x43\n\x05trade\x18\x01 \x01(\x0b\x32-.injective_tc_derivatives_rpc.DerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xe5\x01\n\x10PositionsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1d\n\nwith_count\x18\x04 \x01(\x08R\twithCount\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x1b\n\twith_upnl\x18\x07 \x01(\x08R\x08withUpnl\"\x8f\x01\n\x11PositionsResponse\x12P\n\tpositions\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativePositionV2R\tpositions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\x12\x14\n\x05total\x18\x03 \x01(\x04R\x05total\"\xc3\x04\n\x14\x44\x65rivativePositionV2\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x14\n\x05\x64\x65nom\x18\x0c \x01(\tR\x05\x64\x65nom\x12!\n\x0c\x66unding_last\x18\r \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\x0e \x01(\tR\nfundingSum\x12\x38\n\x18\x63umulative_funding_entry\x18\x0f \x01(\tR\x16\x63umulativeFundingEntry\x12K\n\"effective_cumulative_funding_entry\x18\x10 \x01(\tR\x1f\x65\x66\x66\x65\x63tiveCumulativeFundingEntry\x12\x12\n\x04upnl\x18\x11 \x01(\tR\x04upnl\"`\n\x16StreamPositionsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x87\x01\n\x17StreamPositionsResponse\x12N\n\x08position\x18\x01 \x01(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativePositionV2R\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp2\xd1\x07\n\x19InjectiveTCDerivativesRPC\x12x\n\rOrdersHistory\x12\x32.injective_tc_derivatives_rpc.OrdersHistoryRequest\x1a\x33.injective_tc_derivatives_rpc.OrdersHistoryResponse\x12\x8c\x01\n\x13StreamOrdersHistory\x12\x38.injective_tc_derivatives_rpc.StreamOrdersHistoryRequest\x1a\x39.injective_tc_derivatives_rpc.StreamOrdersHistoryResponse0\x01\x12\x63\n\x06Orders\x12+.injective_tc_derivatives_rpc.OrdersRequest\x1a,.injective_tc_derivatives_rpc.OrdersResponse\x12w\n\x0cStreamOrders\x12\x31.injective_tc_derivatives_rpc.StreamOrdersRequest\x1a\x32.injective_tc_derivatives_rpc.StreamOrdersResponse0\x01\x12\x63\n\x06Trades\x12+.injective_tc_derivatives_rpc.TradesRequest\x1a,.injective_tc_derivatives_rpc.TradesResponse\x12w\n\x0cStreamTrades\x12\x31.injective_tc_derivatives_rpc.StreamTradesRequest\x1a\x32.injective_tc_derivatives_rpc.StreamTradesResponse0\x01\x12l\n\tPositions\x12..injective_tc_derivatives_rpc.PositionsRequest\x1a/.injective_tc_derivatives_rpc.PositionsResponse\x12\x80\x01\n\x0fStreamPositions\x12\x34.injective_tc_derivatives_rpc.StreamPositionsRequest\x1a\x35.injective_tc_derivatives_rpc.StreamPositionsResponse0\x01\x42\xe7\x01\n com.injective_tc_derivatives_rpcB\x1eInjectiveTcDerivativesRpcProtoP\x01Z\x1f/injective_tc_derivatives_rpcpb\xa2\x02\x03IXX\xaa\x02\x19InjectiveTcDerivativesRpc\xca\x02\x19InjectiveTcDerivativesRpc\xe2\x02%InjectiveTcDerivativesRpc\\GPBMetadata\xea\x02\x19InjectiveTcDerivativesRpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+exchange/injective_tc_derivatives_rpc.proto\x12\x1cinjective_tc_derivatives_rpc\"\xad\x01\n\x14OrdersHistoryRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"\x7f\n\x15OrdersHistoryResponse\x12R\n\x06orders\x18\x01 \x03(\x0b\x32:.injective_tc_derivatives_rpc.TCDerivativeOrderHistoryTypeR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xaf\x05\n\x1cTCDerivativeOrderHistoryType\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1b\n\tis_active\x18\x03 \x01(\x08R\x08isActive\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12%\n\x0e\x65xecution_type\x18\x05 \x01(\tR\rexecutionType\x12\x1d\n\norder_type\x18\x06 \x01(\tR\torderType\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12#\n\rtrigger_price\x18\x08 \x01(\tR\x0ctriggerPrice\x12\x1a\n\x08quantity\x18\t \x01(\tR\x08quantity\x12\'\n\x0f\x66illed_quantity\x18\n \x01(\tR\x0e\x66illedQuantity\x12\x14\n\x05state\x18\x0b \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\x0c \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\r \x01(\x12R\tupdatedAt\x12$\n\x0eis_reduce_only\x18\x0e \x01(\x08R\x0cisReduceOnly\x12\x1c\n\tdirection\x18\x0f \x01(\tR\tdirection\x12%\n\x0eis_conditional\x18\x10 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x11 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x12 \x01(\tR\x0fplacedOrderHash\x12\x16\n\x06margin\x18\x13 \x01(\tR\x06margin\x12\x17\n\x07tx_hash\x18\x14 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x15 \x01(\tR\x03\x63id\"d\n\x1aStreamOrdersHistoryRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xb4\x01\n\x1bStreamOrdersHistoryResponse\x12P\n\x05order\x18\x01 \x01(\x0b\x32:.injective_tc_derivatives_rpc.TCDerivativeOrderHistoryTypeR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xa6\x01\n\rOrdersRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\"p\n\x0eOrdersResponse\x12J\n\x06orders\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeLimitOrderR\x06orders\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\xd7\x05\n\x14\x44\x65rivativeLimitOrder\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x1d\n\norder_side\x18\x02 \x01(\tR\torderSide\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12$\n\x0eis_reduce_only\x18\x05 \x01(\x08R\x0cisReduceOnly\x12\x16\n\x06margin\x18\x06 \x01(\tR\x06margin\x12\x14\n\x05price\x18\x07 \x01(\tR\x05price\x12\x1a\n\x08quantity\x18\x08 \x01(\tR\x08quantity\x12+\n\x11unfilled_quantity\x18\t \x01(\tR\x10unfilledQuantity\x12#\n\rtrigger_price\x18\n \x01(\tR\x0ctriggerPrice\x12#\n\rfee_recipient\x18\x0b \x01(\tR\x0c\x66\x65\x65Recipient\x12\x14\n\x05state\x18\x0c \x01(\tR\x05state\x12\x1d\n\ncreated_at\x18\r \x01(\x12R\tcreatedAt\x12\x1d\n\nupdated_at\x18\x0e \x01(\x12R\tupdatedAt\x12!\n\x0corder_number\x18\x0f \x01(\x12R\x0borderNumber\x12\x1d\n\norder_type\x18\x10 \x01(\tR\torderType\x12%\n\x0eis_conditional\x18\x11 \x01(\x08R\risConditional\x12\x1d\n\ntrigger_at\x18\x12 \x01(\x04R\ttriggerAt\x12*\n\x11placed_order_hash\x18\x13 \x01(\tR\x0fplacedOrderHash\x12%\n\x0e\x65xecution_type\x18\x14 \x01(\tR\rexecutionType\x12\x17\n\x07tx_hash\x18\x15 \x01(\tR\x06txHash\x12\x10\n\x03\x63id\x18\x16 \x01(\tR\x03\x63id\"]\n\x13StreamOrdersRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xa5\x01\n\x14StreamOrdersResponse\x12H\n\x05order\x18\x01 \x01(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativeLimitOrderR\x05order\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xa0\x02\n\rTradesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x19\n\x08per_page\x18\x04 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x05 \x01(\tR\x05token\x12\x17\n\x07sort_by\x18\x06 \x01(\tR\x06sortBy\x12%\n\x0esort_direction\x18\x07 \x01(\tR\rsortDirection\x12\x1d\n\nstart_time\x18\x08 \x01(\x12R\tstartTime\x12\x19\n\x08\x65nd_time\x18\t \x01(\x12R\x07\x65ndTime\"m\n\x0eTradesResponse\x12G\n\x06trades\x18\x01 \x03(\x0b\x32/.injective_tc_derivatives_rpc.TCDerivativeTradeR\x06trades\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\"\x81\x05\n\x11TCDerivativeTrade\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12\x30\n\x14trade_execution_type\x18\x04 \x01(\tR\x12tradeExecutionType\x12%\n\x0eis_liquidation\x18\x05 \x01(\x08R\risLiquidation\x12R\n\x0eposition_delta\x18\x06 \x01(\x0b\x32+.injective_tc_derivatives_rpc.PositionDeltaR\rpositionDelta\x12\x16\n\x06payout\x18\x07 \x01(\tR\x06payout\x12\x10\n\x03\x66\x65\x65\x18\x08 \x01(\tR\x03\x66\x65\x65\x12\x1f\n\x0b\x65xecuted_at\x18\t \x01(\x12R\nexecutedAt\x12#\n\rfee_recipient\x18\n \x01(\tR\x0c\x66\x65\x65Recipient\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\x12%\n\x0e\x65xecution_side\x18\x0c \x01(\tR\rexecutionSide\x12\x10\n\x03\x63id\x18\r \x01(\tR\x03\x63id\x12\x10\n\x03pnl\x18\x0e \x01(\tR\x03pnl\x12(\n\x10position_is_long\x18\x0f \x01(\x08R\x0epositionIsLong\x12,\n\x12position_opened_at\x18\x10 \x01(\x12R\x10positionOpenedAt\x12\x30\n\x14position_entry_price\x18\x11 \x01(\tR\x12positionEntryPrice\"\xbb\x01\n\rPositionDelta\x12\'\n\x0ftrade_direction\x18\x01 \x01(\tR\x0etradeDirection\x12\'\n\x0f\x65xecution_price\x18\x02 \x01(\tR\x0e\x65xecutionPrice\x12-\n\x12\x65xecution_quantity\x18\x03 \x01(\tR\x11\x65xecutionQuantity\x12)\n\x10\x65xecution_margin\x18\x04 \x01(\tR\x0f\x65xecutionMargin\"]\n\x13StreamTradesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xa2\x01\n\x14StreamTradesResponse\x12\x45\n\x05trade\x18\x01 \x01(\x0b\x32/.injective_tc_derivatives_rpc.TCDerivativeTradeR\x05trade\x12%\n\x0eoperation_type\x18\x02 \x01(\tR\roperationType\x12\x1c\n\ttimestamp\x18\x03 \x01(\x12R\ttimestamp\"\xe5\x01\n\x10PositionsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\x1c\n\tdirection\x18\x02 \x01(\tR\tdirection\x12\'\n\x0f\x61\x63\x63ount_address\x18\x03 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x1d\n\nwith_count\x18\x04 \x01(\x08R\twithCount\x12\x19\n\x08per_page\x18\x05 \x01(\x11R\x07perPage\x12\x14\n\x05token\x18\x06 \x01(\tR\x05token\x12\x1b\n\twith_upnl\x18\x07 \x01(\x08R\x08withUpnl\"\x8f\x01\n\x11PositionsResponse\x12P\n\tpositions\x18\x01 \x03(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativePositionV2R\tpositions\x12\x12\n\x04next\x18\x02 \x03(\tR\x04next\x12\x14\n\x05total\x18\x03 \x01(\x04R\x05total\"\xc3\x04\n\x14\x44\x65rivativePositionV2\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1c\n\tdirection\x18\x04 \x01(\tR\tdirection\x12\x1a\n\x08quantity\x18\x05 \x01(\tR\x08quantity\x12\x1f\n\x0b\x65ntry_price\x18\x06 \x01(\tR\nentryPrice\x12\x16\n\x06margin\x18\x07 \x01(\tR\x06margin\x12+\n\x11liquidation_price\x18\x08 \x01(\tR\x10liquidationPrice\x12\x1d\n\nmark_price\x18\t \x01(\tR\tmarkPrice\x12\x1d\n\nupdated_at\x18\x0b \x01(\x12R\tupdatedAt\x12\x14\n\x05\x64\x65nom\x18\x0c \x01(\tR\x05\x64\x65nom\x12!\n\x0c\x66unding_last\x18\r \x01(\tR\x0b\x66undingLast\x12\x1f\n\x0b\x66unding_sum\x18\x0e \x01(\tR\nfundingSum\x12\x38\n\x18\x63umulative_funding_entry\x18\x0f \x01(\tR\x16\x63umulativeFundingEntry\x12K\n\"effective_cumulative_funding_entry\x18\x10 \x01(\tR\x1f\x65\x66\x66\x65\x63tiveCumulativeFundingEntry\x12\x12\n\x04upnl\x18\x11 \x01(\tR\x04upnl\"`\n\x16StreamPositionsRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x87\x01\n\x17StreamPositionsResponse\x12N\n\x08position\x18\x01 \x01(\x0b\x32\x32.injective_tc_derivatives_rpc.DerivativePositionV2R\x08position\x12\x1c\n\ttimestamp\x18\x02 \x01(\x12R\ttimestamp2\xd1\x07\n\x19InjectiveTCDerivativesRPC\x12x\n\rOrdersHistory\x12\x32.injective_tc_derivatives_rpc.OrdersHistoryRequest\x1a\x33.injective_tc_derivatives_rpc.OrdersHistoryResponse\x12\x8c\x01\n\x13StreamOrdersHistory\x12\x38.injective_tc_derivatives_rpc.StreamOrdersHistoryRequest\x1a\x39.injective_tc_derivatives_rpc.StreamOrdersHistoryResponse0\x01\x12\x63\n\x06Orders\x12+.injective_tc_derivatives_rpc.OrdersRequest\x1a,.injective_tc_derivatives_rpc.OrdersResponse\x12w\n\x0cStreamOrders\x12\x31.injective_tc_derivatives_rpc.StreamOrdersRequest\x1a\x32.injective_tc_derivatives_rpc.StreamOrdersResponse0\x01\x12\x63\n\x06Trades\x12+.injective_tc_derivatives_rpc.TradesRequest\x1a,.injective_tc_derivatives_rpc.TradesResponse\x12w\n\x0cStreamTrades\x12\x31.injective_tc_derivatives_rpc.StreamTradesRequest\x1a\x32.injective_tc_derivatives_rpc.StreamTradesResponse0\x01\x12l\n\tPositions\x12..injective_tc_derivatives_rpc.PositionsRequest\x1a/.injective_tc_derivatives_rpc.PositionsResponse\x12\x80\x01\n\x0fStreamPositions\x12\x34.injective_tc_derivatives_rpc.StreamPositionsRequest\x1a\x35.injective_tc_derivatives_rpc.StreamPositionsResponse0\x01\x42\xe7\x01\n com.injective_tc_derivatives_rpcB\x1eInjectiveTcDerivativesRpcProtoP\x01Z\x1f/injective_tc_derivatives_rpcpb\xa2\x02\x03IXX\xaa\x02\x19InjectiveTcDerivativesRpc\xca\x02\x19InjectiveTcDerivativesRpc\xe2\x02%InjectiveTcDerivativesRpc\\GPBMetadata\xea\x02\x19InjectiveTcDerivativesRpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,27 +43,27 @@ _globals['_STREAMORDERSRESPONSE']._serialized_start=2466 _globals['_STREAMORDERSRESPONSE']._serialized_end=2631 _globals['_TRADESREQUEST']._serialized_start=2634 - _globals['_TRADESREQUEST']._serialized_end=2800 - _globals['_TRADESRESPONSE']._serialized_start=2802 - _globals['_TRADESRESPONSE']._serialized_end=2909 - _globals['_DERIVATIVETRADE']._serialized_start=2912 - _globals['_DERIVATIVETRADE']._serialized_end=3413 - _globals['_POSITIONDELTA']._serialized_start=3416 - _globals['_POSITIONDELTA']._serialized_end=3603 - _globals['_STREAMTRADESREQUEST']._serialized_start=3605 - _globals['_STREAMTRADESREQUEST']._serialized_end=3698 - _globals['_STREAMTRADESRESPONSE']._serialized_start=3701 - _globals['_STREAMTRADESRESPONSE']._serialized_end=3861 - _globals['_POSITIONSREQUEST']._serialized_start=3864 - _globals['_POSITIONSREQUEST']._serialized_end=4093 - _globals['_POSITIONSRESPONSE']._serialized_start=4096 - _globals['_POSITIONSRESPONSE']._serialized_end=4239 - _globals['_DERIVATIVEPOSITIONV2']._serialized_start=4242 - _globals['_DERIVATIVEPOSITIONV2']._serialized_end=4821 - _globals['_STREAMPOSITIONSREQUEST']._serialized_start=4823 - _globals['_STREAMPOSITIONSREQUEST']._serialized_end=4919 - _globals['_STREAMPOSITIONSRESPONSE']._serialized_start=4922 - _globals['_STREAMPOSITIONSRESPONSE']._serialized_end=5057 - _globals['_INJECTIVETCDERIVATIVESRPC']._serialized_start=5060 - _globals['_INJECTIVETCDERIVATIVESRPC']._serialized_end=6037 + _globals['_TRADESREQUEST']._serialized_end=2922 + _globals['_TRADESRESPONSE']._serialized_start=2924 + _globals['_TRADESRESPONSE']._serialized_end=3033 + _globals['_TCDERIVATIVETRADE']._serialized_start=3036 + _globals['_TCDERIVATIVETRADE']._serialized_end=3677 + _globals['_POSITIONDELTA']._serialized_start=3680 + _globals['_POSITIONDELTA']._serialized_end=3867 + _globals['_STREAMTRADESREQUEST']._serialized_start=3869 + _globals['_STREAMTRADESREQUEST']._serialized_end=3962 + _globals['_STREAMTRADESRESPONSE']._serialized_start=3965 + _globals['_STREAMTRADESRESPONSE']._serialized_end=4127 + _globals['_POSITIONSREQUEST']._serialized_start=4130 + _globals['_POSITIONSREQUEST']._serialized_end=4359 + _globals['_POSITIONSRESPONSE']._serialized_start=4362 + _globals['_POSITIONSRESPONSE']._serialized_end=4505 + _globals['_DERIVATIVEPOSITIONV2']._serialized_start=4508 + _globals['_DERIVATIVEPOSITIONV2']._serialized_end=5087 + _globals['_STREAMPOSITIONSREQUEST']._serialized_start=5089 + _globals['_STREAMPOSITIONSREQUEST']._serialized_end=5185 + _globals['_STREAMPOSITIONSRESPONSE']._serialized_start=5188 + _globals['_STREAMPOSITIONSRESPONSE']._serialized_end=5323 + _globals['_INJECTIVETCDERIVATIVESRPC']._serialized_start=5326 + _globals['_INJECTIVETCDERIVATIVESRPC']._serialized_end=6303 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py b/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py index 1aef2660..19895f19 100644 --- a/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py +++ b/pyinjective/proto/google/api/expr/v1alpha1/checked_pb2.py @@ -17,14 +17,14 @@ from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&google/api/expr/v1alpha1/checked.proto\x12\x18google.api.expr.v1alpha1\x1a%google/api/expr/v1alpha1/syntax.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1cgoogle/protobuf/struct.proto\"\x9a\x04\n\x0b\x43heckedExpr\x12\\\n\rreference_map\x18\x02 \x03(\x0b\x32\x37.google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntryR\x0creferenceMap\x12M\n\x08type_map\x18\x03 \x03(\x0b\x32\x32.google.api.expr.v1alpha1.CheckedExpr.TypeMapEntryR\x07typeMap\x12\x45\n\x0bsource_info\x18\x05 \x01(\x0b\x32$.google.api.expr.v1alpha1.SourceInfoR\nsourceInfo\x12!\n\x0c\x65xpr_version\x18\x06 \x01(\tR\x0b\x65xprVersion\x12\x32\n\x04\x65xpr\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.ExprR\x04\x65xpr\x1a\x64\n\x11ReferenceMapEntry\x12\x10\n\x03key\x18\x01 \x01(\x03R\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.google.api.expr.v1alpha1.ReferenceR\x05value:\x02\x38\x01\x1aZ\n\x0cTypeMapEntry\x12\x10\n\x03key\x18\x01 \x01(\x03R\x03key\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x05value:\x02\x38\x01\"\xc8\x0b\n\x04Type\x12*\n\x03\x64yn\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00R\x03\x64yn\x12\x30\n\x04null\x18\x02 \x01(\x0e\x32\x1a.google.protobuf.NullValueH\x00R\x04null\x12L\n\tprimitive\x18\x03 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00R\tprimitive\x12H\n\x07wrapper\x18\x04 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.PrimitiveTypeH\x00R\x07wrapper\x12M\n\nwell_known\x18\x05 \x01(\x0e\x32,.google.api.expr.v1alpha1.Type.WellKnownTypeH\x00R\twellKnown\x12\x46\n\tlist_type\x18\x06 \x01(\x0b\x32\'.google.api.expr.v1alpha1.Type.ListTypeH\x00R\x08listType\x12\x43\n\x08map_type\x18\x07 \x01(\x0b\x32&.google.api.expr.v1alpha1.Type.MapTypeH\x00R\x07mapType\x12I\n\x08\x66unction\x18\x08 \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.FunctionTypeH\x00R\x08\x66unction\x12#\n\x0cmessage_type\x18\t \x01(\tH\x00R\x0bmessageType\x12\x1f\n\ntype_param\x18\n \x01(\tH\x00R\ttypeParam\x12\x34\n\x04type\x18\x0b \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeH\x00R\x04type\x12.\n\x05\x65rror\x18\x0c \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00R\x05\x65rror\x12R\n\rabstract_type\x18\x0e \x01(\x0b\x32+.google.api.expr.v1alpha1.Type.AbstractTypeH\x00R\x0c\x61\x62stractType\x1aG\n\x08ListType\x12;\n\telem_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x08\x65lemType\x1a\x83\x01\n\x07MapType\x12\x39\n\x08key_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x07keyType\x12=\n\nvalue_type\x18\x02 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\tvalueType\x1a\x8c\x01\n\x0c\x46unctionType\x12?\n\x0bresult_type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\nresultType\x12;\n\targ_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x08\x61rgTypes\x1ak\n\x0c\x41\x62stractType\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12G\n\x0fparameter_types\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x0eparameterTypes\"s\n\rPrimitiveType\x12\x1e\n\x1aPRIMITIVE_TYPE_UNSPECIFIED\x10\x00\x12\x08\n\x04\x42OOL\x10\x01\x12\t\n\x05INT64\x10\x02\x12\n\n\x06UINT64\x10\x03\x12\n\n\x06\x44OUBLE\x10\x04\x12\n\n\x06STRING\x10\x05\x12\t\n\x05\x42YTES\x10\x06\"V\n\rWellKnownType\x12\x1f\n\x1bWELL_KNOWN_TYPE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41NY\x10\x01\x12\r\n\tTIMESTAMP\x10\x02\x12\x0c\n\x08\x44URATION\x10\x03\x42\x0b\n\ttype_kind\"\xb3\x05\n\x04\x44\x65\x63l\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12@\n\x05ident\x18\x02 \x01(\x0b\x32(.google.api.expr.v1alpha1.Decl.IdentDeclH\x00R\x05ident\x12I\n\x08\x66unction\x18\x03 \x01(\x0b\x32+.google.api.expr.v1alpha1.Decl.FunctionDeclH\x00R\x08\x66unction\x1a\x8b\x01\n\tIdentDecl\x12\x32\n\x04type\x18\x01 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x04type\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantR\x05value\x12\x10\n\x03\x64oc\x18\x03 \x01(\tR\x03\x64oc\x1a\xee\x02\n\x0c\x46unctionDecl\x12R\n\toverloads\x18\x01 \x03(\x0b\x32\x34.google.api.expr.v1alpha1.Decl.FunctionDecl.OverloadR\toverloads\x1a\x89\x02\n\x08Overload\x12\x1f\n\x0boverload_id\x18\x01 \x01(\tR\noverloadId\x12\x36\n\x06params\x18\x02 \x03(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\x06params\x12\x1f\n\x0btype_params\x18\x03 \x03(\tR\ntypeParams\x12?\n\x0bresult_type\x18\x04 \x01(\x0b\x32\x1e.google.api.expr.v1alpha1.TypeR\nresultType\x12\x30\n\x14is_instance_function\x18\x05 \x01(\x08R\x12isInstanceFunction\x12\x10\n\x03\x64oc\x18\x06 \x01(\tR\x03\x64ocB\x0b\n\tdecl_kind\"z\n\tReference\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0boverload_id\x18\x03 \x03(\tR\noverloadId\x12\x38\n\x05value\x18\x04 \x01(\x0b\x32\".google.api.expr.v1alpha1.ConstantR\x05valueB\xf0\x01\n\x1c\x63om.google.api.expr.v1alpha1B\x0c\x43heckedProtoP\x01Z.google.rpc.context.AttributeContext.Resource.AnnotationsEntryR\x0b\x61nnotations\x12!\n\x0c\x64isplay_name\x18\x07 \x01(\tR\x0b\x64isplayName\x12;\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nupdateTime\x12;\n\x0b\x64\x65lete_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndeleteTime\x12\x12\n\x04\x65tag\x18\x0b \x01(\tR\x04\x65tag\x12\x1a\n\x08location\x18\x0c \x01(\tR\x08location\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\xf3\x01\n\x16\x63om.google.rpc.contextB\x15\x41ttributeContextProtoP\x01ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\xf8\x01\x01\xa2\x02\x03GRC\xaa\x02\x12Google.Rpc.Context\xca\x02\x12Google\\Rpc\\Context\xe2\x02\x1eGoogle\\Rpc\\Context\\GPBMetadata\xea\x02\x14Google::Rpc::Contextb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*google/rpc/context/attribute_context.proto\x12\x12google.rpc.context\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x99\x14\n\x10\x41ttributeContext\x12\x41\n\x06origin\x18\x07 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x06origin\x12\x41\n\x06source\x18\x01 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x06source\x12K\n\x0b\x64\x65stination\x18\x02 \x01(\x0b\x32).google.rpc.context.AttributeContext.PeerR\x0b\x64\x65stination\x12\x46\n\x07request\x18\x03 \x01(\x0b\x32,.google.rpc.context.AttributeContext.RequestR\x07request\x12I\n\x08response\x18\x04 \x01(\x0b\x32-.google.rpc.context.AttributeContext.ResponseR\x08response\x12I\n\x08resource\x18\x05 \x01(\x0b\x32-.google.rpc.context.AttributeContext.ResourceR\x08resource\x12:\n\x03\x61pi\x18\x06 \x01(\x0b\x32(.google.rpc.context.AttributeContext.ApiR\x03\x61pi\x12\x34\n\nextensions\x18\x08 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensions\x1a\xf3\x01\n\x04Peer\x12\x0e\n\x02ip\x18\x01 \x01(\tR\x02ip\x12\x12\n\x04port\x18\x02 \x01(\x03R\x04port\x12M\n\x06labels\x18\x06 \x03(\x0b\x32\x35.google.rpc.context.AttributeContext.Peer.LabelsEntryR\x06labels\x12\x1c\n\tprincipal\x18\x07 \x01(\tR\tprincipal\x12\x1f\n\x0bregion_code\x18\x08 \x01(\tR\nregionCode\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1as\n\x03\x41pi\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12\x1c\n\toperation\x18\x02 \x01(\tR\toperation\x12\x1a\n\x08protocol\x18\x03 \x01(\tR\x08protocol\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x1a\xb6\x01\n\x04\x41uth\x12\x1c\n\tprincipal\x18\x01 \x01(\tR\tprincipal\x12\x1c\n\taudiences\x18\x02 \x03(\tR\taudiences\x12\x1c\n\tpresenter\x18\x03 \x01(\tR\tpresenter\x12/\n\x06\x63laims\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x06\x63laims\x12#\n\raccess_levels\x18\x05 \x03(\tR\x0c\x61\x63\x63\x65ssLevels\x1a\xe7\x03\n\x07Request\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x12S\n\x07headers\x18\x03 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Request.HeadersEntryR\x07headers\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path\x12\x12\n\x04host\x18\x05 \x01(\tR\x04host\x12\x16\n\x06scheme\x18\x06 \x01(\tR\x06scheme\x12\x14\n\x05query\x18\x07 \x01(\tR\x05query\x12.\n\x04time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x12\n\x04size\x18\n \x01(\x03R\x04size\x12\x1a\n\x08protocol\x18\x0b \x01(\tR\x08protocol\x12\x16\n\x06reason\x18\x0c \x01(\tR\x06reason\x12=\n\x04\x61uth\x18\r \x01(\x0b\x32).google.rpc.context.AttributeContext.AuthR\x04\x61uth\x12\x16\n\x06origin\x18\x0e \x01(\tR\x06origin\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\xb8\x02\n\x08Response\x12\x12\n\x04\x63ode\x18\x01 \x01(\x03R\x04\x63ode\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size\x12T\n\x07headers\x18\x03 \x03(\x0b\x32:.google.rpc.context.AttributeContext.Response.HeadersEntryR\x07headers\x12.\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x04time\x12\x42\n\x0f\x62\x61\x63kend_latency\x18\x05 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0e\x62\x61\x63kendLatency\x1a:\n\x0cHeadersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x98\x05\n\x08Resource\x12\x18\n\x07service\x18\x01 \x01(\tR\x07service\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32\x39.google.rpc.context.AttributeContext.Resource.LabelsEntryR\x06labels\x12\x10\n\x03uid\x18\x05 \x01(\tR\x03uid\x12`\n\x0b\x61nnotations\x18\x06 \x03(\x0b\x32>.google.rpc.context.AttributeContext.Resource.AnnotationsEntryR\x0b\x61nnotations\x12!\n\x0c\x64isplay_name\x18\x07 \x01(\tR\x0b\x64isplayName\x12;\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampR\nupdateTime\x12;\n\x0b\x64\x65lete_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ndeleteTime\x12\x12\n\x04\x65tag\x18\x0b \x01(\tR\x04\x65tag\x12\x1a\n\x08location\x18\x0c \x01(\tR\x08location\x1a\x39\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a>\n\x10\x41nnotationsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\xf0\x01\n\x16\x63om.google.rpc.contextB\x15\x41ttributeContextProtoP\x01ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\xa2\x02\x03GRC\xaa\x02\x12Google.Rpc.Context\xca\x02\x12Google\\Rpc\\Context\xe2\x02\x1eGoogle\\Rpc\\Context\\GPBMetadata\xea\x02\x14Google::Rpc::Contextb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.context.attribute_context_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\370\001\001\242\002\003GRC\252\002\022Google.Rpc.Context\312\002\022Google\\Rpc\\Context\342\002\036Google\\Rpc\\Context\\GPBMetadata\352\002\024Google::Rpc::Context' + _globals['DESCRIPTOR']._serialized_options = b'\n\026com.google.rpc.contextB\025AttributeContextProtoP\001ZUgoogle.golang.org/genproto/googleapis/rpc/context/attribute_context;attribute_context\242\002\003GRC\252\002\022Google.Rpc.Context\312\002\022Google\\Rpc\\Context\342\002\036Google\\Rpc\\Context\\GPBMetadata\352\002\024Google::Rpc::Context' _globals['_ATTRIBUTECONTEXT_PEER_LABELSENTRY']._loaded_options = None _globals['_ATTRIBUTECONTEXT_PEER_LABELSENTRY']._serialized_options = b'8\001' _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._loaded_options = None @@ -37,7 +37,7 @@ _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._loaded_options = None _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_options = b'8\001' _globals['_ATTRIBUTECONTEXT']._serialized_start=189 - _globals['_ATTRIBUTECONTEXT']._serialized_end=2750 + _globals['_ATTRIBUTECONTEXT']._serialized_end=2774 _globals['_ATTRIBUTECONTEXT_PEER']._serialized_start=757 _globals['_ATTRIBUTECONTEXT_PEER']._serialized_end=1000 _globals['_ATTRIBUTECONTEXT_PEER_LABELSENTRY']._serialized_start=943 @@ -47,17 +47,17 @@ _globals['_ATTRIBUTECONTEXT_AUTH']._serialized_start=1120 _globals['_ATTRIBUTECONTEXT_AUTH']._serialized_end=1302 _globals['_ATTRIBUTECONTEXT_REQUEST']._serialized_start=1305 - _globals['_ATTRIBUTECONTEXT_REQUEST']._serialized_end=1768 - _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_start=1710 - _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_end=1768 - _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_start=1771 - _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_end=2083 - _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_start=1710 - _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_end=1768 - _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_start=2086 - _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_end=2750 + _globals['_ATTRIBUTECONTEXT_REQUEST']._serialized_end=1792 + _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_start=1734 + _globals['_ATTRIBUTECONTEXT_REQUEST_HEADERSENTRY']._serialized_end=1792 + _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_start=1795 + _globals['_ATTRIBUTECONTEXT_RESPONSE']._serialized_end=2107 + _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_start=1734 + _globals['_ATTRIBUTECONTEXT_RESPONSE_HEADERSENTRY']._serialized_end=1792 + _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_start=2110 + _globals['_ATTRIBUTECONTEXT_RESOURCE']._serialized_end=2774 _globals['_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY']._serialized_start=943 _globals['_ATTRIBUTECONTEXT_RESOURCE_LABELSENTRY']._serialized_end=1000 - _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_start=2688 - _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_end=2750 + _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_start=2712 + _globals['_ATTRIBUTECONTEXT_RESOURCE_ANNOTATIONSENTRY']._serialized_end=2774 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/rpc/status_pb2.py b/pyinjective/proto/google/rpc/status_pb2.py index f631b92b..58dc9dc2 100644 --- a/pyinjective/proto/google/rpc/status_pb2.py +++ b/pyinjective/proto/google/rpc/status_pb2.py @@ -15,14 +15,14 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"f\n\x06Status\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tailsB\xa2\x01\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xf8\x01\x01\xa2\x02\x03GRX\xaa\x02\nGoogle.Rpc\xca\x02\nGoogle\\Rpc\xe2\x02\x16Google\\Rpc\\GPBMetadata\xea\x02\x0bGoogle::Rpcb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/rpc/status.proto\x12\ngoogle.rpc\x1a\x19google/protobuf/any.proto\"f\n\x06Status\x12\x12\n\x04\x63ode\x18\x01 \x01(\x05R\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message\x12.\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\x07\x64\x65tailsB\x9f\x01\n\x0e\x63om.google.rpcB\x0bStatusProtoP\x01Z7google.golang.org/genproto/googleapis/rpc/status;status\xa2\x02\x03GRX\xaa\x02\nGoogle.Rpc\xca\x02\nGoogle\\Rpc\xe2\x02\x16Google\\Rpc\\GPBMetadata\xea\x02\x0bGoogle::Rpcb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.rpc.status_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\370\001\001\242\002\003GRX\252\002\nGoogle.Rpc\312\002\nGoogle\\Rpc\342\002\026Google\\Rpc\\GPBMetadata\352\002\013Google::Rpc' + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.rpcB\013StatusProtoP\001Z7google.golang.org/genproto/googleapis/rpc/status;status\242\002\003GRX\252\002\nGoogle.Rpc\312\002\nGoogle\\Rpc\342\002\026Google\\Rpc\\GPBMetadata\352\002\013Google::Rpc' _globals['_STATUS']._serialized_start=66 _globals['_STATUS']._serialized_end=168 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/type/color_pb2.py b/pyinjective/proto/google/type/color_pb2.py index 1ed0f915..b7b9a420 100644 --- a/pyinjective/proto/google/type/color_pb2.py +++ b/pyinjective/proto/google/type/color_pb2.py @@ -15,14 +15,14 @@ from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/type/color.proto\x12\x0bgoogle.type\x1a\x1egoogle/protobuf/wrappers.proto\"v\n\x05\x43olor\x12\x10\n\x03red\x18\x01 \x01(\x02R\x03red\x12\x14\n\x05green\x18\x02 \x01(\x02R\x05green\x12\x12\n\x04\x62lue\x18\x03 \x01(\x02R\x04\x62lue\x12\x31\n\x05\x61lpha\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.FloatValueR\x05\x61lphaB\xa5\x01\n\x0f\x63om.google.typeB\nColorProtoP\x01Z6google.golang.org/genproto/googleapis/type/color;color\xf8\x01\x01\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/type/color.proto\x12\x0bgoogle.type\x1a\x1egoogle/protobuf/wrappers.proto\"v\n\x05\x43olor\x12\x10\n\x03red\x18\x01 \x01(\x02R\x03red\x12\x14\n\x05green\x18\x02 \x01(\x02R\x05green\x12\x12\n\x04\x62lue\x18\x03 \x01(\x02R\x04\x62lue\x12\x31\n\x05\x61lpha\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.FloatValueR\x05\x61lphaB\xa2\x01\n\x0f\x63om.google.typeB\nColorProtoP\x01Z6google.golang.org/genproto/googleapis/type/color;color\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.type.color_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\nColorProtoP\001Z6google.golang.org/genproto/googleapis/type/color;color\370\001\001\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' + _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\nColorProtoP\001Z6google.golang.org/genproto/googleapis/type/color;color\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' _globals['_COLOR']._serialized_start=72 _globals['_COLOR']._serialized_end=190 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/type/date_pb2.py b/pyinjective/proto/google/type/date_pb2.py index ac5364e7..cb5c9e0c 100644 --- a/pyinjective/proto/google/type/date_pb2.py +++ b/pyinjective/proto/google/type/date_pb2.py @@ -14,14 +14,14 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16google/type/date.proto\x12\x0bgoogle.type\"B\n\x04\x44\x61te\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61yB\xa2\x01\n\x0f\x63om.google.typeB\tDateProtoP\x01Z4google.golang.org/genproto/googleapis/type/date;date\xf8\x01\x01\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16google/type/date.proto\x12\x0bgoogle.type\"B\n\x04\x44\x61te\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61yB\x9f\x01\n\x0f\x63om.google.typeB\tDateProtoP\x01Z4google.golang.org/genproto/googleapis/type/date;date\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.type.date_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\tDateProtoP\001Z4google.golang.org/genproto/googleapis/type/date;date\370\001\001\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' + _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\tDateProtoP\001Z4google.golang.org/genproto/googleapis/type/date;date\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' _globals['_DATE']._serialized_start=39 _globals['_DATE']._serialized_end=105 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/type/datetime_pb2.py b/pyinjective/proto/google/type/datetime_pb2.py index 24a5a73f..b836fcb6 100644 --- a/pyinjective/proto/google/type/datetime_pb2.py +++ b/pyinjective/proto/google/type/datetime_pb2.py @@ -15,14 +15,14 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1agoogle/type/datetime.proto\x12\x0bgoogle.type\x1a\x1egoogle/protobuf/duration.proto\"\xa7\x02\n\x08\x44\x61teTime\x12\x12\n\x04year\x18\x01 \x01(\x05R\x04year\x12\x14\n\x05month\x18\x02 \x01(\x05R\x05month\x12\x10\n\x03\x64\x61y\x18\x03 \x01(\x05R\x03\x64\x61y\x12\x14\n\x05hours\x18\x04 \x01(\x05R\x05hours\x12\x18\n\x07minutes\x18\x05 \x01(\x05R\x07minutes\x12\x18\n\x07seconds\x18\x06 \x01(\x05R\x07seconds\x12\x14\n\x05nanos\x18\x07 \x01(\x05R\x05nanos\x12:\n\nutc_offset\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationH\x00R\tutcOffset\x12\x34\n\ttime_zone\x18\t \x01(\x0b\x32\x15.google.type.TimeZoneH\x00R\x08timeZoneB\r\n\x0btime_offset\"4\n\x08TimeZone\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07versionB\xae\x01\n\x0f\x63om.google.typeB\rDatetimeProtoP\x01Zgoogle.golang.org/genproto/googleapis/type/timeofday;timeofday\xf8\x01\x01\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bgoogle/type/timeofday.proto\x12\x0bgoogle.type\"k\n\tTimeOfDay\x12\x14\n\x05hours\x18\x01 \x01(\x05R\x05hours\x12\x18\n\x07minutes\x18\x02 \x01(\x05R\x07minutes\x12\x18\n\x07seconds\x18\x03 \x01(\x05R\x07seconds\x12\x14\n\x05nanos\x18\x04 \x01(\x05R\x05nanosB\xae\x01\n\x0f\x63om.google.typeB\x0eTimeofdayProtoP\x01Z>google.golang.org/genproto/googleapis/type/timeofday;timeofday\xa2\x02\x03GTX\xaa\x02\x0bGoogle.Type\xca\x02\x0bGoogle\\Type\xe2\x02\x17Google\\Type\\GPBMetadata\xea\x02\x0cGoogle::Typeb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.type.timeofday_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\016TimeofdayProtoP\001Z>google.golang.org/genproto/googleapis/type/timeofday;timeofday\370\001\001\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' + _globals['DESCRIPTOR']._serialized_options = b'\n\017com.google.typeB\016TimeofdayProtoP\001Z>google.golang.org/genproto/googleapis/type/timeofday;timeofday\242\002\003GTX\252\002\013Google.Type\312\002\013Google\\Type\342\002\027Google\\Type\\GPBMetadata\352\002\014Google::Type' _globals['_TIMEOFDAY']._serialized_start=44 _globals['_TIMEOFDAY']._serialized_end=151 # @@protoc_insertion_point(module_scope) diff --git a/pyproject.toml b/pyproject.toml index 8586b963..1a2a3e58 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "injective-py" -version = "1.14.0-rc1" +version = "1.14.0" description = "Injective Python SDK, with Exchange API Client" authors = ["Injective Labs "] license = "Apache-2.0" diff --git a/tests/client/indexer/configurable_oracle_query_servicer.py b/tests/client/indexer/configurable_oracle_query_servicer.py index 56ea1116..5100d7c8 100644 --- a/tests/client/indexer/configurable_oracle_query_servicer.py +++ b/tests/client/indexer/configurable_oracle_query_servicer.py @@ -14,6 +14,7 @@ def __init__(self): self.price_v2_responses = deque() self.stream_prices_responses = deque() self.stream_prices_by_markets_responses = deque() + self.stream_oracle_list_responses = deque() async def OracleList(self, request: exchange_oracle_pb.OracleListRequest, context=None, metadata=None): return self.oracle_list_responses.pop() @@ -33,3 +34,7 @@ async def StreamPricesByMarkets( ): for event in self.stream_prices_by_markets_responses: yield event + + async def StreamOracleList(self, request: exchange_oracle_pb.StreamOracleListRequest, context=None, metadata=None): + for event in self.stream_oracle_list_responses: + yield event diff --git a/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py b/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py index 2e60d84a..4c68ea6d 100644 --- a/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py +++ b/tests/client/indexer/stream_grpc/test_indexer_grpc_oracle_stream.py @@ -97,6 +97,55 @@ async def test_stream_oracle_prices_by_markets( assert first_update == expected_update assert end_event.is_set() + @pytest.mark.asyncio + async def test_stream_oracle_list( + self, + oracle_servicer, + ): + symbol = "TIA" + oracle_type = "provider" + price = "1.23" + timestamp = 1672218001897 + + oracle_servicer.stream_oracle_list_responses.append( + exchange_oracle_pb.StreamOracleListResponse( + symbol=symbol, + oracle_type=oracle_type, + price=price, + timestamp=timestamp, + ) + ) + + api = self._api_instance(servicer=oracle_servicer) + + updates = asyncio.Queue() + end_event = asyncio.Event() + + callback = lambda update: updates.put_nowait(update) + error_callback = lambda exception: pytest.fail(str(exception)) + end_callback = lambda: end_event.set() + + asyncio.get_event_loop().create_task( + api.stream_oracle_list( + callback=callback, + on_end_callback=end_callback, + on_status_callback=error_callback, + oracle_type=oracle_type, + symbols=[symbol], + ) + ) + expected_update = { + "symbol": symbol, + "oracleType": oracle_type, + "price": price, + "timestamp": str(timestamp), + } + + first_update = await asyncio.wait_for(updates.get(), timeout=1) + + assert first_update == expected_update + assert end_event.is_set() + def _api_instance(self, servicer): network = Network.devnet() channel = grpc.aio.insecure_channel(network.grpc_endpoint)