From 9395b55e1ed639a6dce0bc0a79c75b3e2bde44cb Mon Sep 17 00:00:00 2001 From: PavelInjective Date: Tue, 3 Dec 2024 20:47:26 +0100 Subject: [PATCH 1/4] (fix) Update OFAC list URL and filename --- CHANGELOG.md | 5 +++++ pyinjective/ofac.json | 5 ++++- pyinjective/ofac.py | 3 ++- pyproject.toml | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfaaa926..dcd41f91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. + +## [1.8.1] - 2024-12-04 +### Changed +- Updated OFAC list link and contents + ## [1.8.0] - 2024-11-14 ### Changed - The markets initialization in AsyncClient has been modified to get markets information from the chain endpoints instead of the Indexer endpoints diff --git a/pyinjective/ofac.json b/pyinjective/ofac.json index 553224bd..daaccbcc 100644 --- a/pyinjective/ofac.json +++ b/pyinjective/ofac.json @@ -154,5 +154,8 @@ "0xfac583c0cf07ea434052c49115a4682172ab6b4f", "0xfd8610d20aa15b7b2e3be39b396a1bc3516c7144", "0xfec8a60023265364d066a1212fde3930f6ae8da7", - "0xffbac21a641dcfe4552920138d90f3638b3c9fba" + "0xffbac21a641dcfe4552920138d90f3638b3c9fba", + "0xc5801cd781d168e2d3899ad9c39d8a2541871298", + "0x0992E2D17e0082Df8a31Bf36Bd8Cc662551de68B", + "0x8aa07899eb940f40e514b8efdb3b6af5d1cf7bb" ] diff --git a/pyinjective/ofac.py b/pyinjective/ofac.py index b94ccd9a..a1a004bf 100644 --- a/pyinjective/ofac.py +++ b/pyinjective/ofac.py @@ -5,7 +5,8 @@ import aiohttp OFAC_LIST_URL = ( - "https://raw.githubusercontent.com/InjectiveLabs/injective-lists/refs/heads/master/json/wallets/ofac.json" + "https://raw.githubusercontent.com/InjectiveLabs/injective-lists/" + "refs/heads/master/json/wallets/ofacAndRestricted.json" ) OFAC_LIST_FILENAME_DEFAULT = "ofac.json" OFAC_LIST_FILENAME = OFAC_LIST_FILENAME_DEFAULT diff --git a/pyproject.toml b/pyproject.toml index 3bb35049..067056d3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "injective-py" -version = "1.8.0" +version = "1.8.1" description = "Injective Python SDK, with Exchange API Client" authors = ["Injective Labs "] license = "Apache-2.0" From 97a172f098c19b6c10e989d2a50a0f118a42fe46 Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 5 Dec 2024 16:42:00 -0300 Subject: [PATCH 2/4] (feat) Updated queries and messages from the Permissions module to support the new version --- CHANGELOG.md | 4 + buf.gen.yaml | 8 +- .../exchange/3_MsgInstantSpotMarketLaunch.py | 2 + .../permissions/1_MsgCreateNamespace.py | 68 ++- .../permissions/2_MsgDeleteNamespace.py | 42 -- .../permissions/2_MsgUpdateNamespace.py | 82 +++ ...spaceRoles.py => 3_MsgUpdateActorRoles.py} | 30 +- .../permissions/3_MsgUpdateNamespace.py | 47 -- ...sgClaimVoucher.py => 4_MsgClaimVoucher.py} | 0 .../permissions/5_MsgRevokeNamespaceRoles.py | 46 -- .../permissions/query/10_Vouchers.py | 17 + .../{3_AddressRoles.py => 11_Voucher.py} | 4 +- ...ddress.py => 12_PermissionsModuleState.py} | 5 +- .../permissions/query/1_NamespaceDenoms.py | 16 + .../{1_AllNamespaces.py => 2_Namespaces.py} | 2 +- .../{2_NamespaceByDenom.py => 3_Namespace.py} | 2 +- .../permissions/query/4_RolesByActor.py | 18 + ...4_AddressesByRole.py => 5_ActorsByRole.py} | 2 +- .../permissions/query/6_RoleManagers.py | 17 + .../permissions/query/7_RoleManager.py | 18 + .../permissions/query/8_PolicyStatuses.py | 17 + .../query/9_PolicyManagerCapabilities.py | 17 + .../tokenfactory/1_CreateDenom.py | 1 + .../chain_client/tokenfactory/2_MsgMint.py | 1 + .../chain_client/tokenfactory/3_MsgBurn.py | 1 + pyinjective/async_client.py | 43 +- .../chain/grpc/chain_grpc_permissions_api.py | 72 ++- pyinjective/composer.py | 129 ++--- pyinjective/proto/google/api/client_pb2.py | 78 +-- pyinjective/proto/google/api/httpbody_pb2.py | 4 +- .../google/longrunning/operations_pb2.py | 4 +- .../google/longrunning/operations_pb2_grpc.py | 49 +- .../injective/auction/v1beta1/auction_pb2.py | 26 +- .../exchange/v1beta1/exchange_pb2.py | 216 ++++---- .../exchange/v1beta1/proposal_pb2.py | 88 ++-- .../injective/exchange/v1beta1/query_pb2.py | 64 ++- .../exchange/v1beta1/query_pb2_grpc.py | 86 +++ .../injective/exchange/v1beta1/tx_pb2.py | 256 ++++----- .../permissions/v1beta1/genesis_pb2.py | 4 +- .../permissions/v1beta1/permissions_pb2.py | 40 +- .../permissions/v1beta1/query_pb2.py | 112 ++-- .../permissions/v1beta1/query_pb2_grpc.py | 452 +++++++++++++--- .../injective/permissions/v1beta1/tx_pb2.py | 64 +-- .../permissions/v1beta1/tx_pb2_grpc.py | 112 +--- .../injective/stream/v1beta1/query_pb2.py | 2 +- .../v1beta1/authorityMetadata_pb2.py | 8 +- .../tokenfactory/v1beta1/events_pb2.py | 34 +- .../injective/tokenfactory/v1beta1/tx_pb2.py | 64 ++- .../tokenfactory/v1beta1/tx_pb2_grpc.py | 6 +- ...configurable_permissions_query_servicer.py | 68 ++- .../chain/grpc/test_chain_grpc_auction_api.py | 48 +- .../grpc/test_chain_grpc_exchange_api.py | 22 + .../grpc/test_chain_grpc_permissions_api.py | 491 +++++++++++++++--- .../grpc/test_chain_grpc_token_factory_api.py | 4 + .../test_chain_grpc_chain_stream.py | 14 +- tests/rpc_fixtures/markets_fixtures.py | 6 + tests/test_composer.py | 367 ++++++++----- 57 files changed, 2317 insertions(+), 1183 deletions(-) delete mode 100644 examples/chain_client/permissions/2_MsgDeleteNamespace.py create mode 100644 examples/chain_client/permissions/2_MsgUpdateNamespace.py rename examples/chain_client/permissions/{4_MsgUpdateNamespaceRoles.py => 3_MsgUpdateActorRoles.py} (62%) delete mode 100644 examples/chain_client/permissions/3_MsgUpdateNamespace.py rename examples/chain_client/permissions/{6_MsgClaimVoucher.py => 4_MsgClaimVoucher.py} (100%) delete mode 100644 examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py create mode 100644 examples/chain_client/permissions/query/10_Vouchers.py rename examples/chain_client/permissions/query/{3_AddressRoles.py => 11_Voucher.py} (77%) rename examples/chain_client/permissions/query/{5_VouchersForAddress.py => 12_PermissionsModuleState.py} (63%) create mode 100644 examples/chain_client/permissions/query/1_NamespaceDenoms.py rename examples/chain_client/permissions/query/{1_AllNamespaces.py => 2_Namespaces.py} (82%) rename examples/chain_client/permissions/query/{2_NamespaceByDenom.py => 3_Namespace.py} (76%) create mode 100644 examples/chain_client/permissions/query/4_RolesByActor.py rename examples/chain_client/permissions/query/{4_AddressesByRole.py => 5_ActorsByRole.py} (79%) create mode 100644 examples/chain_client/permissions/query/6_RoleManagers.py create mode 100644 examples/chain_client/permissions/query/7_RoleManager.py create mode 100644 examples/chain_client/permissions/query/8_PolicyStatuses.py create mode 100644 examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py diff --git a/CHANGELOG.md b/CHANGELOG.md index cfaaa926..c168e8da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ All notable changes to this project will be documented in this file. +## [1.9.0] - 9999-99-99 +### Added +- Added support for all new queries and messages from the new Permissions module + ## [1.8.0] - 2024-11-14 ### Changed - The markets initialization in AsyncClient has been modified to get markets information from the chain endpoints instead of the Indexer endpoints diff --git a/buf.gen.yaml b/buf.gen.yaml index 1cb56c02..4e0739c5 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -20,10 +20,10 @@ inputs: # - git_repo: https://github.com/InjectiveLabs/wasmd # branch: v0.51.x-inj # subdir: proto - - git_repo: https://github.com/InjectiveLabs/injective-core - tag: v1.13.0 - subdir: proto # - git_repo: https://github.com/InjectiveLabs/injective-core -# branch: master +# tag: v1.13.0 # subdir: proto + - git_repo: https://github.com/InjectiveLabs/injective-core + branch: f/permissions-rework + subdir: proto - directory: proto diff --git a/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py b/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py index fe7c5ad4..53459eeb 100644 --- a/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py +++ b/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py @@ -43,6 +43,8 @@ async def main() -> None: min_price_tick_size=Decimal("0.001"), min_quantity_tick_size=Decimal("0.01"), min_notional=Decimal("1"), + base_decimals=18, + quote_decimals=6, ) # broadcast the transaction diff --git a/examples/chain_client/permissions/1_MsgCreateNamespace.py b/examples/chain_client/permissions/1_MsgCreateNamespace.py index bc21752d..25dca4e3 100644 --- a/examples/chain_client/permissions/1_MsgCreateNamespace.py +++ b/examples/chain_client/permissions/1_MsgCreateNamespace.py @@ -26,26 +26,68 @@ async def main() -> None: pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" role1 = composer.permissions_role( - role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE, - permissions=composer.MINT_ACTION_PERMISSION - | composer.RECEIVE_ACTION_PERMISSION - | composer.BURN_ACTION_PERMISSION, + name="EVERYONE", + role_id=0, + permissions=composer.PERMISSIONS_ACTION["RECEIVE"] | composer.PERMISSIONS_ACTION["SEND"], + ) + role2 = composer.permissions_role( + name="admin", + role_id=1, + permissions=composer.PERMISSIONS_ACTION["MODIFY_ROLE_PERMISSIONS"] + | composer.PERMISSIONS_ACTION["MODIFY_ADDRESS_ROLES"], + ) + role3 = composer.permissions_role( + name="user", + role_id=2, + permissions=composer.PERMISSIONS_ACTION["MINT"] + | composer.PERMISSIONS_ACTION["RECEIVE"] + | composer.PERMISSIONS_ACTION["BURN"] + | composer.PERMISSIONS_ACTION["SEND"], + ) + + actor_role1 = composer.permissions_actor_roles( + actor="inj1specificactoraddress", + roles=["admin"], + ) + actor_role2 = composer.permissions_actor_roles( + actor="inj1anotheractoraddress", + roles=["user"], + ) + + role_manager = composer.permissions_role_manager( + manager="inj1manageraddress", + roles=["admin"], + ) + + policy_status1 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=False, + ) + policy_status2 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["BURN"], + is_disabled=False, + is_sealed=False, + ) + + policy_manager_capability = composer.permissions_policy_manager_capability( + manager="inj1policymanageraddress", + action=composer.PERMISSIONS_ACTION["MODIFY_CONTRACT_HOOK"], + can_disable=True, + can_seal=False, ) - role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION) - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) message = composer.msg_create_namespace( sender=address.to_acc_bech32(), denom=denom, - wasm_hook="", - mints_paused=False, - sends_paused=False, - burns_paused=False, - role_permissions=[role1, role2], - address_roles=[address_role1], + contract_hook="", + role_permissions=[role1, role2, role3], + actor_roles=[actor_role1, actor_role2], + role_managers=[role_manager], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability], ) # broadcast the transaction diff --git a/examples/chain_client/permissions/2_MsgDeleteNamespace.py b/examples/chain_client/permissions/2_MsgDeleteNamespace.py deleted file mode 100644 index fc412b5a..00000000 --- a/examples/chain_client/permissions/2_MsgDeleteNamespace.py +++ /dev/null @@ -1,42 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - message = composer.msg_delete_namespace( - sender=address.to_acc_bech32(), - namespace_denom=denom, - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/2_MsgUpdateNamespace.py b/examples/chain_client/permissions/2_MsgUpdateNamespace.py new file mode 100644 index 00000000..aefc13d4 --- /dev/null +++ b/examples/chain_client/permissions/2_MsgUpdateNamespace.py @@ -0,0 +1,82 @@ +import asyncio +import os + +import dotenv + +from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.devnet() + composer = ProtoMsgComposer(network=network.string()) + + message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( + network=network, + private_key=private_key_in_hexa, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + + denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + role1 = composer.permissions_role( + name="EVERYONE", + role_id=0, + permissions=composer.PERMISSIONS_ACTION["UNSPECIFIED"], # revoke all permissions + ) + role2 = composer.permissions_role( + name="user", + role_id=2, + permissions=composer.PERMISSIONS_ACTION["RECEIVE"] | composer.PERMISSIONS_ACTION["SEND"], + ) + + role_manager = composer.permissions_role_manager( + manager="inj1manageraddress", + roles=["admin", "user"], + ) + + policy_status1 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["MINT"], + is_disabled=True, + is_sealed=False, + ) + policy_status2 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["BURN"], + is_disabled=False, + is_sealed=True, + ) + + policy_manager_capability = composer.permissions_policy_manager_capability( + manager="inj1policymanageraddress", + action=composer.PERMISSIONS_ACTION["MODIFY_ROLE_PERMISSIONS"], + can_disable=True, + can_seal=False, + ) + + message = composer.msg_update_namespace( + sender=address.to_acc_bech32(), + denom=denom, + contract_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m", + role_permissions=[role1, role2], + role_managers=[role_manager], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability], + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([message]) + print("---Transaction Response---") + print(result) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py b/examples/chain_client/permissions/3_MsgUpdateActorRoles.py similarity index 62% rename from examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py rename to examples/chain_client/permissions/3_MsgUpdateActorRoles.py index 1af4e96f..7ab3e86a 100644 --- a/examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py +++ b/examples/chain_client/permissions/3_MsgUpdateActorRoles.py @@ -26,20 +26,30 @@ async def main() -> None: pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - role1 = composer.permissions_role( - role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE, - permissions=composer.RECEIVE_ACTION_PERMISSION, + + role_actors1 = composer.permissions_role_actors( + role="admin", + actors=["inj1actoraddress1", "inj1actoraddress2"], + ) + role_actors2 = composer.permissions_role_actors( + role="user", + actors=["inj1actoraddress3"], + ) + role_actors3 = composer.permissions_role_actors( + role="user", + actors=["inj1actoraddress4"], + ) + role_actors4 = composer.permissions_role_actors( + role="admin", + actors=["inj1actoraddress5"], ) - role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION) - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) - message = composer.msg_update_namespace_roles( + message = composer.msg_update_actor_roles( sender=address.to_acc_bech32(), - namespace_denom=denom, - role_permissions=[role1, role2], - address_roles=[address_role1], + denom=denom, + role_actors_to_add=[role_actors1, role_actors2], + role_actors_to_revoke=[role_actors3, role_actors4], ) # broadcast the transaction diff --git a/examples/chain_client/permissions/3_MsgUpdateNamespace.py b/examples/chain_client/permissions/3_MsgUpdateNamespace.py deleted file mode 100644 index 96c671c8..00000000 --- a/examples/chain_client/permissions/3_MsgUpdateNamespace.py +++ /dev/null @@ -1,47 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - - message = composer.msg_update_namespace( - sender=address.to_acc_bech32(), - namespace_denom=denom, - wasm_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m", - mints_paused=True, - sends_paused=True, - burns_paused=True, - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/6_MsgClaimVoucher.py b/examples/chain_client/permissions/4_MsgClaimVoucher.py similarity index 100% rename from examples/chain_client/permissions/6_MsgClaimVoucher.py rename to examples/chain_client/permissions/4_MsgClaimVoucher.py diff --git a/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py b/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py deleted file mode 100644 index 313aff42..00000000 --- a/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py +++ /dev/null @@ -1,46 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) - - message = composer.msg_revoke_namespace_roles( - sender=address.to_acc_bech32(), - namespace_denom=denom, - address_roles_to_revoke=[address_role1], - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/10_Vouchers.py b/examples/chain_client/permissions/query/10_Vouchers.py new file mode 100644 index 00000000..46f250b6 --- /dev/null +++ b/examples/chain_client/permissions/query/10_Vouchers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + vouchers = await client.fetch_permissions_vouchers(denom=denom) + print(vouchers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/3_AddressRoles.py b/examples/chain_client/permissions/query/11_Voucher.py similarity index 77% rename from examples/chain_client/permissions/query/3_AddressRoles.py rename to examples/chain_client/permissions/query/11_Voucher.py index 18482aa8..01bfcb10 100644 --- a/examples/chain_client/permissions/query/3_AddressRoles.py +++ b/examples/chain_client/permissions/query/11_Voucher.py @@ -10,8 +10,8 @@ async def main() -> None: denom = "inj" address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" - roles = await client.fetch_permissions_address_roles(denom=denom, address=address) - print(roles) + voucher = await client.fetch_permissions_voucher(denom=denom, address=address) + print(voucher) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/query/5_VouchersForAddress.py b/examples/chain_client/permissions/query/12_PermissionsModuleState.py similarity index 63% rename from examples/chain_client/permissions/query/5_VouchersForAddress.py rename to examples/chain_client/permissions/query/12_PermissionsModuleState.py index 91e91df7..14d7f22f 100644 --- a/examples/chain_client/permissions/query/5_VouchersForAddress.py +++ b/examples/chain_client/permissions/query/12_PermissionsModuleState.py @@ -8,9 +8,8 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" - addresses = await client.fetch_permissions_vouchers_for_address(address=address) - print(addresses) + state = await client.fetch_permissions_module_state() + print(state) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/query/1_NamespaceDenoms.py b/examples/chain_client/permissions/query/1_NamespaceDenoms.py new file mode 100644 index 00000000..bafc7f0a --- /dev/null +++ b/examples/chain_client/permissions/query/1_NamespaceDenoms.py @@ -0,0 +1,16 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + namespaces = await client.fetch_permissions_namespace_denoms() + print(namespaces) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/1_AllNamespaces.py b/examples/chain_client/permissions/query/2_Namespaces.py similarity index 82% rename from examples/chain_client/permissions/query/1_AllNamespaces.py rename to examples/chain_client/permissions/query/2_Namespaces.py index 775ee1c6..a9a1b25c 100644 --- a/examples/chain_client/permissions/query/1_AllNamespaces.py +++ b/examples/chain_client/permissions/query/2_Namespaces.py @@ -8,7 +8,7 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - namespaces = await client.fetch_all_permissions_namespaces() + namespaces = await client.fetch_permissions_namespaces() print(namespaces) diff --git a/examples/chain_client/permissions/query/2_NamespaceByDenom.py b/examples/chain_client/permissions/query/3_Namespace.py similarity index 76% rename from examples/chain_client/permissions/query/2_NamespaceByDenom.py rename to examples/chain_client/permissions/query/3_Namespace.py index 165ddb06..a8046443 100644 --- a/examples/chain_client/permissions/query/2_NamespaceByDenom.py +++ b/examples/chain_client/permissions/query/3_Namespace.py @@ -9,7 +9,7 @@ async def main() -> None: client = AsyncClient(network) denom = "inj" - namespace = await client.fetch_permissions_namespace_by_denom(denom=denom, include_roles=True) + namespace = await client.fetch_permissions_namespace(denom=denom) print(namespace) diff --git a/examples/chain_client/permissions/query/4_RolesByActor.py b/examples/chain_client/permissions/query/4_RolesByActor.py new file mode 100644 index 00000000..03840eaf --- /dev/null +++ b/examples/chain_client/permissions/query/4_RolesByActor.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + actor = "actor" + roles = await client.fetch_permissions_roles_by_actor(denom=denom, actor=actor) + print(roles) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/4_AddressesByRole.py b/examples/chain_client/permissions/query/5_ActorsByRole.py similarity index 79% rename from examples/chain_client/permissions/query/4_AddressesByRole.py rename to examples/chain_client/permissions/query/5_ActorsByRole.py index 05466776..c1f93b44 100644 --- a/examples/chain_client/permissions/query/4_AddressesByRole.py +++ b/examples/chain_client/permissions/query/5_ActorsByRole.py @@ -10,7 +10,7 @@ async def main() -> None: denom = "inj" role = "roleName" - addresses = await client.fetch_permissions_addresses_by_role(denom=denom, role=role) + addresses = await client.fetch_permissions_actors_by_role(denom=denom, role=role) print(addresses) diff --git a/examples/chain_client/permissions/query/6_RoleManagers.py b/examples/chain_client/permissions/query/6_RoleManagers.py new file mode 100644 index 00000000..67cf0a39 --- /dev/null +++ b/examples/chain_client/permissions/query/6_RoleManagers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + managers = await client.fetch_permissions_role_managers(denom=denom) + print(managers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/7_RoleManager.py b/examples/chain_client/permissions/query/7_RoleManager.py new file mode 100644 index 00000000..e6ff8d2a --- /dev/null +++ b/examples/chain_client/permissions/query/7_RoleManager.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + manager = "manager" + managers = await client.fetch_permissions_role_manager(denom=denom, manager=manager) + print(managers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/8_PolicyStatuses.py b/examples/chain_client/permissions/query/8_PolicyStatuses.py new file mode 100644 index 00000000..4617a72b --- /dev/null +++ b/examples/chain_client/permissions/query/8_PolicyStatuses.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + policy_statuses = await client.fetch_permissions_policy_statuses(denom=denom) + print(policy_statuses) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py b/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py new file mode 100644 index 00000000..87accfa9 --- /dev/null +++ b/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + policy_manager_capabilities = await client.fetch_permissions_policy_manager_capabilities(denom=denom) + print(policy_manager_capabilities) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/tokenfactory/1_CreateDenom.py b/examples/chain_client/tokenfactory/1_CreateDenom.py index a317e298..a4bd2ef3 100644 --- a/examples/chain_client/tokenfactory/1_CreateDenom.py +++ b/examples/chain_client/tokenfactory/1_CreateDenom.py @@ -32,6 +32,7 @@ async def main() -> None: name="Injective Test Token", symbol="INJTEST", decimals=18, + allow_admin_burn=False, ) # broadcast the transaction diff --git a/examples/chain_client/tokenfactory/2_MsgMint.py b/examples/chain_client/tokenfactory/2_MsgMint.py index b6617431..4534ad1c 100644 --- a/examples/chain_client/tokenfactory/2_MsgMint.py +++ b/examples/chain_client/tokenfactory/2_MsgMint.py @@ -31,6 +31,7 @@ async def main() -> None: message = composer.msg_mint( sender=address.to_acc_bech32(), amount=amount, + receiver="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", ) # broadcast the transaction diff --git a/examples/chain_client/tokenfactory/3_MsgBurn.py b/examples/chain_client/tokenfactory/3_MsgBurn.py index c4aa013a..790bfbf3 100644 --- a/examples/chain_client/tokenfactory/3_MsgBurn.py +++ b/examples/chain_client/tokenfactory/3_MsgBurn.py @@ -31,6 +31,7 @@ async def main() -> None: message = composer.msg_burn( sender=address.to_acc_bech32(), amount=amount, + burn_from_address="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", ) # broadcast the transaction diff --git a/pyinjective/async_client.py b/pyinjective/async_client.py index ea12cb1d..56853ba6 100644 --- a/pyinjective/async_client.py +++ b/pyinjective/async_client.py @@ -3214,22 +3214,41 @@ async def fetch_ibc_connection_params(self) -> Dict[str, Any]: # ------------------------------ # region Permissions module - async def fetch_all_permissions_namespaces(self) -> Dict[str, Any]: - return await self.permissions_api.fetch_all_namespaces() + async def fetch_permissions_namespace_denoms(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespace_denoms() - async def fetch_permissions_namespace_by_denom( - self, denom: str, include_roles: Optional[bool] = None - ) -> Dict[str, Any]: - return await self.permissions_api.fetch_namespace_by_denom(denom=denom, include_roles=include_roles) + async def fetch_permissions_namespaces(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespaces() + + async def fetch_permissions_namespace(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespace(denom=denom) + + async def fetch_permissions_roles_by_actor(self, denom: str, actor: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_roles_by_actor(denom=denom, actor=actor) + + async def fetch_permissions_actors_by_role(self, denom: str, role: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_actors_by_role(denom=denom, role=role) + + async def fetch_permissions_role_managers(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_role_managers(denom=denom) + + async def fetch_permissions_role_manager(self, denom: str, manager: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_role_manager(denom=denom, manager=manager) + + async def fetch_permissions_policy_statuses(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_policy_statuses(denom=denom) + + async def fetch_permissions_policy_manager_capabilities(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_policy_manager_capabilities(denom=denom) - async def fetch_permissions_address_roles(self, denom: str, address: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_address_roles(denom=denom, address=address) + async def fetch_permissions_vouchers(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_vouchers(denom=denom) - async def fetch_permissions_addresses_by_role(self, denom: str, role: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_addresses_by_role(denom=denom, role=role) + async def fetch_permissions_voucher(self, denom: str, address: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_voucher(denom=denom, address=address) - async def fetch_permissions_vouchers_for_address(self, address: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_vouchers_for_address(address=address) + async def fetch_permissions_module_state(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_permissions_module_state() # endregion diff --git a/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py b/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py index 4a268981..cdbc4c25 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py @@ -21,33 +21,75 @@ async def fetch_module_params(self) -> Dict[str, Any]: return response - async def fetch_all_namespaces(self) -> Dict[str, Any]: - request = permissions_query_pb.QueryAllNamespacesRequest() - response = await self._execute_call(call=self._stub.AllNamespaces, request=request) + async def fetch_namespace_denoms(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespaceDenomsRequest() + response = await self._execute_call(call=self._stub.NamespaceDenoms, request=request) return response - async def fetch_namespace_by_denom(self, denom: str, include_roles: bool) -> Dict[str, Any]: - request = permissions_query_pb.QueryNamespaceByDenomRequest(denom=denom, include_roles=include_roles) - response = await self._execute_call(call=self._stub.NamespaceByDenom, request=request) + async def fetch_namespaces(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespacesRequest() + response = await self._execute_call(call=self._stub.Namespaces, request=request) return response - async def fetch_address_roles(self, denom: str, address: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryAddressRolesRequest(denom=denom, address=address) - response = await self._execute_call(call=self._stub.AddressRoles, request=request) + async def fetch_namespace(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespaceRequest(denom=denom) + response = await self._execute_call(call=self._stub.Namespace, request=request) return response - async def fetch_addresses_by_role(self, denom: str, role: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryAddressesByRoleRequest(denom=denom, role=role) - response = await self._execute_call(call=self._stub.AddressesByRole, request=request) + async def fetch_roles_by_actor(self, denom: str, actor: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRolesByActorRequest(denom=denom, actor=actor) + response = await self._execute_call(call=self._stub.RolesByActor, request=request) return response - async def fetch_vouchers_for_address(self, address: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryVouchersForAddressRequest(address=address) - response = await self._execute_call(call=self._stub.VouchersForAddress, request=request) + async def fetch_actors_by_role(self, denom: str, role: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryActorsByRoleRequest(denom=denom, role=role) + response = await self._execute_call(call=self._stub.ActorsByRole, request=request) + + return response + + async def fetch_role_managers(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRoleManagersRequest(denom=denom) + response = await self._execute_call(call=self._stub.RoleManagers, request=request) + + return response + + async def fetch_role_manager(self, denom: str, manager: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRoleManagerRequest(denom=denom, manager=manager) + response = await self._execute_call(call=self._stub.RoleManager, request=request) + + return response + + async def fetch_policy_statuses(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryPolicyStatusesRequest(denom=denom) + response = await self._execute_call(call=self._stub.PolicyStatuses, request=request) + + return response + + async def fetch_policy_manager_capabilities(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryPolicyManagerCapabilitiesRequest(denom=denom) + response = await self._execute_call(call=self._stub.PolicyManagerCapabilities, request=request) + + return response + + async def fetch_vouchers(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryVouchersRequest(denom=denom) + response = await self._execute_call(call=self._stub.Vouchers, request=request) + + return response + + async def fetch_voucher(self, denom: str, address: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryVoucherRequest(denom=denom, address=address) + response = await self._execute_call(call=self._stub.Voucher, request=request) + + return response + + async def fetch_permissions_module_state(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryModuleStateRequest() + response = await self._execute_call(call=self._stub.PermissionsModuleState, request=request) return response diff --git a/pyinjective/composer.py b/pyinjective/composer.py index 08e17021..00e5f73c 100644 --- a/pyinjective/composer.py +++ b/pyinjective/composer.py @@ -1,5 +1,6 @@ import json from decimal import Decimal +from enum import IntFlag from time import time from typing import Any, Dict, List, Optional from warnings import warn @@ -101,11 +102,13 @@ class Composer: - DEFAULT_PERMISSIONS_EVERYONE_ROLE = "EVERYONE" - UNDEFINED_ACTION_PERMISSION = 0 - MINT_ACTION_PERMISSION = 1 - RECEIVE_ACTION_PERMISSION = 2 - BURN_ACTION_PERMISSION = 4 + PERMISSIONS_ACTION = IntFlag( + "PERMISSIONS_ACTION", + [ + (permission_name, injective_permissions_pb.Action.Value(permission_name)) + for permission_name in injective_permissions_pb.Action.keys() + ], + ) def __init__( self, @@ -566,6 +569,8 @@ def msg_instant_spot_market_launch( min_price_tick_size: Decimal, min_quantity_tick_size: Decimal, min_notional: Decimal, + base_decimals: int, + quote_decimals: int, ) -> injective_exchange_tx_pb.MsgInstantSpotMarketLaunch: base_token = self.tokens[base_denom] quote_token = self.tokens[quote_denom] @@ -588,6 +593,8 @@ def msg_instant_spot_market_launch( min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", min_notional=f"{chain_min_notional.normalize():f}", + base_decimals=base_decimals, + quote_decimals=quote_decimals, ) def msg_instant_perpetual_market_launch( @@ -2015,6 +2022,7 @@ def msg_create_denom( name: str, symbol: str, decimals: int, + allow_admin_burn: bool, ) -> token_factory_tx_pb.MsgCreateDenom: return token_factory_tx_pb.MsgCreateDenom( sender=sender, @@ -2022,21 +2030,24 @@ def msg_create_denom( name=name, symbol=symbol, decimals=decimals, + allow_admin_burn=allow_admin_burn, ) def msg_mint( self, sender: str, amount: base_coin_pb.Coin, + receiver: str, ) -> token_factory_tx_pb.MsgMint: - return token_factory_tx_pb.MsgMint(sender=sender, amount=amount) + return token_factory_tx_pb.MsgMint(sender=sender, amount=amount, receiver=receiver) def msg_burn( self, sender: str, amount: base_coin_pb.Coin, + burn_from_address: str, ) -> token_factory_tx_pb.MsgBurn: - return token_factory_tx_pb.MsgBurn(sender=sender, amount=amount) + return token_factory_tx_pb.MsgBurn(sender=sender, amount=amount, burnFromAddress=burn_from_address) def msg_set_denom_metadata( self, @@ -2325,87 +2336,89 @@ def msg_ibc_transfer( # endregion # region Permissions module - def permissions_role(self, role: str, permissions: int) -> injective_permissions_pb.Role: - return injective_permissions_pb.Role(role=role, permissions=permissions) + def permissions_role(self, name: str, role_id: int, permissions: int) -> injective_permissions_pb.Role: + return injective_permissions_pb.Role(name=name, role_id=role_id, permissions=permissions) + + def permissions_actor_roles(self, actor: str, roles: List[str]) -> injective_permissions_pb.ActorRoles: + return injective_permissions_pb.ActorRoles(actor=actor, roles=roles) + + def permissions_role_manager(self, manager: str, roles: List[str]) -> injective_permissions_pb.RoleManager: + return injective_permissions_pb.RoleManager(manager=manager, roles=roles) + + def permissions_policy_status( + self, action: int, is_disabled: bool, is_sealed: bool + ) -> injective_permissions_pb.PolicyStatus: + return injective_permissions_pb.PolicyStatus(action=action, is_disabled=is_disabled, is_sealed=is_sealed) - def permissions_address_roles(self, address: str, roles: List[str]) -> injective_permissions_pb.AddressRoles: - return injective_permissions_pb.AddressRoles(address=address, roles=roles) + def permissions_policy_manager_capability( + self, manager: str, action: int, can_disable: bool, can_seal: bool + ) -> injective_permissions_pb.PolicyManagerCapability: + return injective_permissions_pb.PolicyManagerCapability( + manager=manager, action=action, can_disable=can_disable, can_seal=can_seal + ) + + def permissions_role_actors(self, role: str, actors: List[str]) -> injective_permissions_pb.RoleActors: + return injective_permissions_pb.RoleActors(role=role, actors=actors) def msg_create_namespace( self, sender: str, denom: str, - wasm_hook: str, - mints_paused: bool, - sends_paused: bool, - burns_paused: bool, + contract_hook: str, role_permissions: List[injective_permissions_pb.Role], - address_roles: List[injective_permissions_pb.AddressRoles], + actor_roles: List[injective_permissions_pb.ActorRoles], + role_managers: List[injective_permissions_pb.RoleManager], + policy_statuses: List[injective_permissions_pb.PolicyStatus], + policy_manager_capabilities: List[injective_permissions_pb.PolicyManagerCapability], ) -> injective_permissions_tx_pb.MsgCreateNamespace: namespace = injective_permissions_pb.Namespace( denom=denom, - wasm_hook=wasm_hook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, + contract_hook=contract_hook, role_permissions=role_permissions, - address_roles=address_roles, + actor_roles=actor_roles, + role_managers=role_managers, + policy_statuses=policy_statuses, + policy_manager_capabilities=policy_manager_capabilities, ) return injective_permissions_tx_pb.MsgCreateNamespace( sender=sender, namespace=namespace, ) - def msg_delete_namespace(self, sender: str, namespace_denom: str) -> injective_permissions_tx_pb.MsgDeleteNamespace: - return injective_permissions_tx_pb.MsgDeleteNamespace(sender=sender, namespace_denom=namespace_denom) - def msg_update_namespace( self, sender: str, - namespace_denom: str, - wasm_hook: str, - mints_paused: bool, - sends_paused: bool, - burns_paused: bool, + denom: str, + contract_hook: str, + role_permissions: List[injective_permissions_pb.Role], + role_managers: List[injective_permissions_pb.RoleManager], + policy_statuses: List[injective_permissions_pb.PolicyStatus], + policy_manager_capabilities: List[injective_permissions_pb.PolicyManagerCapability], ) -> injective_permissions_tx_pb.MsgUpdateNamespace: - wasmhook_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetWasmHook(new_value=wasm_hook) - mints_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetMintsPaused(new_value=mints_paused) - sends_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetSendsPaused(new_value=sends_paused) - burns_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetBurnsPaused(new_value=burns_paused) + contract_hook_update = injective_permissions_tx_pb.MsgUpdateNamespace.SetContractHook(new_value=contract_hook) return injective_permissions_tx_pb.MsgUpdateNamespace( sender=sender, - namespace_denom=namespace_denom, - wasm_hook=wasmhook_update, - mints_paused=mints_paused_update, - sends_paused=sends_paused_update, - burns_paused=burns_paused_update, - ) - - def msg_update_namespace_roles( - self, - sender: str, - namespace_denom: str, - role_permissions: List[injective_permissions_pb.Role], - address_roles: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgUpdateNamespaceRoles: - return injective_permissions_tx_pb.MsgUpdateNamespaceRoles( - sender=sender, - namespace_denom=namespace_denom, + denom=denom, + contract_hook=contract_hook_update, role_permissions=role_permissions, - address_roles=address_roles, + role_managers=role_managers, + policy_statuses=policy_statuses, + policy_manager_capabilities=policy_manager_capabilities, ) - def msg_revoke_namespace_roles( + def msg_update_actor_roles( self, sender: str, - namespace_denom: str, - address_roles_to_revoke: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgRevokeNamespaceRoles: - return injective_permissions_tx_pb.MsgRevokeNamespaceRoles( + denom: str, + role_actors_to_add: List[injective_permissions_pb.RoleActors], + role_actors_to_revoke: List[injective_permissions_pb.RoleActors], + ) -> injective_permissions_tx_pb.MsgUpdateActorRoles: + return injective_permissions_tx_pb.MsgUpdateActorRoles( sender=sender, - namespace_denom=namespace_denom, - address_roles_to_revoke=address_roles_to_revoke, + denom=denom, + role_actors_to_add=role_actors_to_add, + role_actors_to_revoke=role_actors_to_revoke, ) def msg_claim_voucher( diff --git a/pyinjective/proto/google/api/client_pb2.py b/pyinjective/proto/google/api/client_pb2.py index 57d8f80c..5aeb6aad 100644 --- a/pyinjective/proto/google/api/client_pb2.py +++ b/pyinjective/proto/google/api/client_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\x94\x01\n\x16\x43ommonLanguageSettings\x12\x30\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestinationR\x0c\x64\x65stinations\"\x93\x05\n\x15\x43lientLibrarySettings\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12:\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStageR\x0blaunchStage\x12,\n\x12rest_numeric_enums\x18\x03 \x01(\x08R\x10restNumericEnums\x12=\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettingsR\x0cjavaSettings\x12:\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettingsR\x0b\x63ppSettings\x12:\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettingsR\x0bphpSettings\x12\x43\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettingsR\x0cnodeSettings\x12\x43\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettingsR\x0e\x64otnetSettings\x12=\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettingsR\x0crubySettings\x12\x37\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettingsR\ngoSettings\"\xf4\x04\n\nPublishing\x12\x43\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n\rnew_issue_uri\x18\x65 \x01(\tR\x0bnewIssueUri\x12+\n\x11\x64ocumentation_uri\x18\x66 \x01(\tR\x10\x64ocumentationUri\x12$\n\x0e\x61pi_short_name\x18g \x01(\tR\x0c\x61piShortName\x12!\n\x0cgithub_label\x18h \x01(\tR\x0bgithubLabel\x12\x34\n\x16\x63odeowner_github_teams\x18i \x03(\tR\x14\x63odeownerGithubTeams\x12$\n\x0e\x64oc_tag_prefix\x18j \x01(\tR\x0c\x64ocTagPrefix\x12I\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganizationR\x0corganization\x12L\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n\x0cJavaSettings\x12\'\n\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x1a\x44\n\x16ServiceClassNamesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"I\n\x0b\x43ppSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"I\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xfd\x01\n\x0ePythonSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\x64\n\x15\x65xperimental_features\x18\x02 \x01(\x0b\x32/.google.api.PythonSettings.ExperimentalFeaturesR\x14\x65xperimentalFeatures\x1aI\n\x14\x45xperimentalFeatures\x12\x31\n\x15rest_async_io_enabled\x18\x01 \x01(\x08R\x12restAsyncIoEnabled\"J\n\x0cNodeSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xae\x04\n\x0e\x44otnetSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12Z\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x12\x38\n\x18\x66orced_namespace_aliases\x18\x05 \x03(\tR\x16\x66orcedNamespaceAliases\x12\x35\n\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x43\n\x15RenamedResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"J\n\x0cRubySettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"H\n\nGoSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc2\x03\n\x0eMethodSettings\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12I\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunningR\x0blongRunning\x12\x32\n\x15\x61uto_populated_fields\x18\x03 \x03(\tR\x13\x61utoPopulatedFields\x1a\x94\x02\n\x0bLongRunning\x12G\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10initialPollDelay\x12\x32\n\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0cmaxPollDelay\x12G\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10totalPollTimeout*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14:J\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\tR\x0fmethodSignature:C\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\tR\x0b\x64\x65\x66\x61ultHost:C\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tR\x0boauthScopes:D\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\napiVersionB\xa9\x01\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\xf8\x01\n\x16\x43ommonLanguageSettings\x12\x30\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestinationR\x0c\x64\x65stinations\x12\x62\n\x1aselective_gapic_generation\x18\x03 \x01(\x0b\x32$.google.api.SelectiveGapicGenerationR\x18selectiveGapicGeneration\"\x93\x05\n\x15\x43lientLibrarySettings\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12:\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStageR\x0blaunchStage\x12,\n\x12rest_numeric_enums\x18\x03 \x01(\x08R\x10restNumericEnums\x12=\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettingsR\x0cjavaSettings\x12:\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettingsR\x0b\x63ppSettings\x12:\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettingsR\x0bphpSettings\x12\x43\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettingsR\x0cnodeSettings\x12\x43\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettingsR\x0e\x64otnetSettings\x12=\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettingsR\x0crubySettings\x12\x37\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettingsR\ngoSettings\"\xf4\x04\n\nPublishing\x12\x43\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n\rnew_issue_uri\x18\x65 \x01(\tR\x0bnewIssueUri\x12+\n\x11\x64ocumentation_uri\x18\x66 \x01(\tR\x10\x64ocumentationUri\x12$\n\x0e\x61pi_short_name\x18g \x01(\tR\x0c\x61piShortName\x12!\n\x0cgithub_label\x18h \x01(\tR\x0bgithubLabel\x12\x34\n\x16\x63odeowner_github_teams\x18i \x03(\tR\x14\x63odeownerGithubTeams\x12$\n\x0e\x64oc_tag_prefix\x18j \x01(\tR\x0c\x64ocTagPrefix\x12I\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganizationR\x0corganization\x12L\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n\x0cJavaSettings\x12\'\n\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x1a\x44\n\x16ServiceClassNamesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"I\n\x0b\x43ppSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"I\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc5\x02\n\x0ePythonSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\x64\n\x15\x65xperimental_features\x18\x02 \x01(\x0b\x32/.google.api.PythonSettings.ExperimentalFeaturesR\x14\x65xperimentalFeatures\x1a\x90\x01\n\x14\x45xperimentalFeatures\x12\x31\n\x15rest_async_io_enabled\x18\x01 \x01(\x08R\x12restAsyncIoEnabled\x12\x45\n\x1fprotobuf_pythonic_types_enabled\x18\x02 \x01(\x08R\x1cprotobufPythonicTypesEnabled\"J\n\x0cNodeSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xae\x04\n\x0e\x44otnetSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12Z\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x12\x38\n\x18\x66orced_namespace_aliases\x18\x05 \x03(\tR\x16\x66orcedNamespaceAliases\x12\x35\n\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x43\n\x15RenamedResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"J\n\x0cRubySettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"H\n\nGoSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc2\x03\n\x0eMethodSettings\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12I\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunningR\x0blongRunning\x12\x32\n\x15\x61uto_populated_fields\x18\x03 \x03(\tR\x13\x61utoPopulatedFields\x1a\x94\x02\n\x0bLongRunning\x12G\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10initialPollDelay\x12\x32\n\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0cmaxPollDelay\x12G\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10totalPollTimeout\"4\n\x18SelectiveGapicGeneration\x12\x18\n\x07methods\x18\x01 \x03(\tR\x07methods*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14:J\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\tR\x0fmethodSignature:C\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\tR\x0b\x64\x65\x66\x61ultHost:C\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tR\x0boauthScopes:D\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\napiVersionB\xa9\x01\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,42 +33,44 @@ _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_options = b'8\001' _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._loaded_options = None _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_options = b'8\001' - _globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=3512 - _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=3675 - _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=3677 - _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=3780 + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=3738 + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=3901 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=3903 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=4006 _globals['_COMMONLANGUAGESETTINGS']._serialized_start=137 - _globals['_COMMONLANGUAGESETTINGS']._serialized_end=285 - _globals['_CLIENTLIBRARYSETTINGS']._serialized_start=288 - _globals['_CLIENTLIBRARYSETTINGS']._serialized_end=947 - _globals['_PUBLISHING']._serialized_start=950 - _globals['_PUBLISHING']._serialized_end=1578 - _globals['_JAVASETTINGS']._serialized_start=1581 - _globals['_JAVASETTINGS']._serialized_end=1863 - _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1795 - _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1863 - _globals['_CPPSETTINGS']._serialized_start=1865 - _globals['_CPPSETTINGS']._serialized_end=1938 - _globals['_PHPSETTINGS']._serialized_start=1940 - _globals['_PHPSETTINGS']._serialized_end=2013 - _globals['_PYTHONSETTINGS']._serialized_start=2016 - _globals['_PYTHONSETTINGS']._serialized_end=2269 - _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2196 - _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2269 - _globals['_NODESETTINGS']._serialized_start=2271 - _globals['_NODESETTINGS']._serialized_end=2345 - _globals['_DOTNETSETTINGS']._serialized_start=2348 - _globals['_DOTNETSETTINGS']._serialized_end=2906 - _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2771 - _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=2837 - _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=2839 - _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=2906 - _globals['_RUBYSETTINGS']._serialized_start=2908 - _globals['_RUBYSETTINGS']._serialized_end=2982 - _globals['_GOSETTINGS']._serialized_start=2984 - _globals['_GOSETTINGS']._serialized_end=3056 - _globals['_METHODSETTINGS']._serialized_start=3059 - _globals['_METHODSETTINGS']._serialized_end=3509 - _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3233 - _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=3509 + _globals['_COMMONLANGUAGESETTINGS']._serialized_end=385 + _globals['_CLIENTLIBRARYSETTINGS']._serialized_start=388 + _globals['_CLIENTLIBRARYSETTINGS']._serialized_end=1047 + _globals['_PUBLISHING']._serialized_start=1050 + _globals['_PUBLISHING']._serialized_end=1678 + _globals['_JAVASETTINGS']._serialized_start=1681 + _globals['_JAVASETTINGS']._serialized_end=1963 + _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1895 + _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1963 + _globals['_CPPSETTINGS']._serialized_start=1965 + _globals['_CPPSETTINGS']._serialized_end=2038 + _globals['_PHPSETTINGS']._serialized_start=2040 + _globals['_PHPSETTINGS']._serialized_end=2113 + _globals['_PYTHONSETTINGS']._serialized_start=2116 + _globals['_PYTHONSETTINGS']._serialized_end=2441 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2297 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2441 + _globals['_NODESETTINGS']._serialized_start=2443 + _globals['_NODESETTINGS']._serialized_end=2517 + _globals['_DOTNETSETTINGS']._serialized_start=2520 + _globals['_DOTNETSETTINGS']._serialized_end=3078 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2943 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=3009 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=3011 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=3078 + _globals['_RUBYSETTINGS']._serialized_start=3080 + _globals['_RUBYSETTINGS']._serialized_end=3154 + _globals['_GOSETTINGS']._serialized_start=3156 + _globals['_GOSETTINGS']._serialized_end=3228 + _globals['_METHODSETTINGS']._serialized_start=3231 + _globals['_METHODSETTINGS']._serialized_end=3681 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3405 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=3681 + _globals['_SELECTIVEGAPICGENERATION']._serialized_start=3683 + _globals['_SELECTIVEGAPICGENERATION']._serialized_end=3735 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/api/httpbody_pb2.py b/pyinjective/proto/google/api/httpbody_pb2.py index 5a8b69fe..eb6c4482 100644 --- a/pyinjective/proto/google/api/httpbody_pb2.py +++ b/pyinjective/proto/google/api/httpbody_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\x19google/api/httpbody.proto\x12\ngoogle.api\x1a\x19google/protobuf/any.proto\"w\n\x08HttpBody\x12!\n\x0c\x63ontent_type\x18\x01 \x01(\tR\x0b\x63ontentType\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x34\n\nextensions\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensionsB\xa8\x01\n\x0e\x63om.google.apiB\rHttpbodyProtoP\x01Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\xf8\x01\x01\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19google/api/httpbody.proto\x12\ngoogle.api\x1a\x19google/protobuf/any.proto\"w\n\x08HttpBody\x12!\n\x0c\x63ontent_type\x18\x01 \x01(\tR\x0b\x63ontentType\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x34\n\nextensions\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensionsB\xa5\x01\n\x0e\x63om.google.apiB\rHttpbodyProtoP\x01Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.httpbody_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\rHttpbodyProtoP\001Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\370\001\001\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\rHttpbodyProtoP\001Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' _globals['_HTTPBODY']._serialized_start=68 _globals['_HTTPBODY']._serialized_end=187 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/longrunning/operations_pb2.py b/pyinjective/proto/google/longrunning/operations_pb2.py index 719371ca..72a5cef3 100644 --- a/pyinjective/proto/google/longrunning/operations_pb2.py +++ b/pyinjective/proto/google/longrunning/operations_pb2.py @@ -15,13 +15,13 @@ from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from pyinjective.proto.google.api import client_pb2 as google_dot_api_dot_client__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\x1a google/protobuf/descriptor.proto\"\xcf\x01\n\tOperation\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x08metadata\x12\x12\n\x04\x64one\x18\x03 \x01(\x08R\x04\x64one\x12*\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rror\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08responseB\x08\n\x06result\")\n\x13GetOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x7f\n\x15ListOperationsRequest\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06\x66ilter\x18\x01 \x01(\tR\x06\x66ilter\x12\x1b\n\tpage_size\x18\x02 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\"\x7f\n\x16ListOperationsResponse\x12=\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.OperationR\noperations\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\",\n\x16\x43\x61ncelOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\",\n\x16\x44\x65leteOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"_\n\x14WaitOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x33\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\"Y\n\rOperationInfo\x12#\n\rresponse_type\x18\x01 \x01(\tR\x0cresponseType\x12#\n\rmetadata_type\x18\x02 \x01(\tR\x0cmetadataType2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:i\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoR\roperationInfoB\xda\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xf8\x01\x01\xa2\x02\x03GLX\xaa\x02\x12Google.Longrunning\xca\x02\x12Google\\Longrunning\xe2\x02\x1eGoogle\\Longrunning\\GPBMetadata\xea\x02\x13Google::Longrunningb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\"\xcf\x01\n\tOperation\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x08metadata\x12\x12\n\x04\x64one\x18\x03 \x01(\x08R\x04\x64one\x12*\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rror\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08responseB\x08\n\x06result\")\n\x13GetOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x7f\n\x15ListOperationsRequest\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06\x66ilter\x18\x01 \x01(\tR\x06\x66ilter\x12\x1b\n\tpage_size\x18\x02 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\"\x7f\n\x16ListOperationsResponse\x12=\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.OperationR\noperations\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\",\n\x16\x43\x61ncelOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\",\n\x16\x44\x65leteOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"_\n\x14WaitOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x33\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\"Y\n\rOperationInfo\x12#\n\rresponse_type\x18\x01 \x01(\tR\x0cresponseType\x12#\n\rmetadata_type\x18\x02 \x01(\tR\x0cmetadataType2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:i\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoR\roperationInfoB\xda\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xf8\x01\x01\xa2\x02\x03GLX\xaa\x02\x12Google.Longrunning\xca\x02\x12Google\\Longrunning\xe2\x02\x1eGoogle\\Longrunning\\GPBMetadata\xea\x02\x13Google::Longrunningb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) diff --git a/pyinjective/proto/google/longrunning/operations_pb2_grpc.py b/pyinjective/proto/google/longrunning/operations_pb2_grpc.py index 533da2f8..e0b9948f 100644 --- a/pyinjective/proto/google/longrunning/operations_pb2_grpc.py +++ b/pyinjective/proto/google/longrunning/operations_pb2_grpc.py @@ -10,12 +10,12 @@ class OperationsStub(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ def __init__(self, channel): @@ -55,25 +55,17 @@ class OperationsServicer(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ def ListOperations(self, request, context): """Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - - NOTE: the `name` binding allows API services to override the binding - to use different resource name schemes, such as `users/*/operations`. To - override the binding, API services can add a binding such as - `"/v1/{name=users/*}/operations"` to their service configuration. - For backwards compatibility, the default name includes the operations - collection id, however overriding users must ensure the name binding - is the parent resource, without the operations collection id. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -107,8 +99,9 @@ def CancelOperation(self, request, context): other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with - an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - corresponding to `Code.CANCELLED`. + an [Operation.error][google.longrunning.Operation.error] value with a + [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + `Code.CANCELLED`. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -169,12 +162,12 @@ class Operations(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ @staticmethod diff --git a/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py b/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py index efdcbff9..d2cc528a 100644 --- a/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py +++ b/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/auction/v1beta1/auction.proto\x12\x19injective.auction.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xab\x01\n\x06Params\x12%\n\x0e\x61uction_period\x18\x01 \x01(\x03R\rauctionPeriod\x12\x61\n\x1bmin_next_bid_increment_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17minNextBidIncrementRate:\x17\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0e\x61uction/Params\"\x83\x01\n\x03\x42id\x12\x33\n\x06\x62idder\x18\x01 \x01(\tB\x1b\xea\xde\x1f\x06\x62idder\xf2\xde\x1f\ryaml:\"bidder\"R\x06\x62idder\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\"\x8a\x01\n\x11LastAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\x81\x01\n\x08\x45ventBid\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\x8b\x01\n\x12\x45ventAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\xc0\x01\n\x11\x45ventAuctionStart\x12\x14\n\x05round\x18\x01 \x01(\x04R\x05round\x12)\n\x10\x65nding_timestamp\x18\x02 \x01(\x03R\x0f\x65ndingTimestamp\x12j\n\nnew_basket\x18\x03 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tnewBasketB\x82\x02\n\x1d\x63om.injective.auction.v1beta1B\x0c\x41uctionProtoP\x01ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\xa2\x02\x03IAX\xaa\x02\x19Injective.Auction.V1beta1\xca\x02\x19Injective\\Auction\\V1beta1\xe2\x02%Injective\\Auction\\V1beta1\\GPBMetadata\xea\x02\x1bInjective::Auction::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/auction/v1beta1/auction.proto\x12\x19injective.auction.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xf7\x01\n\x06Params\x12%\n\x0e\x61uction_period\x18\x01 \x01(\x03R\rauctionPeriod\x12\x61\n\x1bmin_next_bid_increment_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17minNextBidIncrementRate\x12J\n\x12inj_basket_max_cap\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0finjBasketMaxCap:\x17\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0e\x61uction/Params\"\x9e\x01\n\x03\x42id\x12\x33\n\x06\x62idder\x18\x01 \x01(\tB\x1b\xea\xde\x1f\x06\x62idder\xf2\xde\x1f\ryaml:\"bidder\"R\x06\x62idder\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\"\xa5\x01\n\x11LastAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\x9c\x01\n\x08\x45ventBid\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\xa6\x01\n\x12\x45ventAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\xc0\x01\n\x11\x45ventAuctionStart\x12\x14\n\x05round\x18\x01 \x01(\x04R\x05round\x12)\n\x10\x65nding_timestamp\x18\x02 \x01(\x03R\x0f\x65ndingTimestamp\x12j\n\nnew_basket\x18\x03 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tnewBasketB\x82\x02\n\x1d\x63om.injective.auction.v1beta1B\x0c\x41uctionProtoP\x01ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\xa2\x02\x03IAX\xaa\x02\x19Injective.Auction.V1beta1\xca\x02\x19Injective\\Auction\\V1beta1\xe2\x02%Injective\\Auction\\V1beta1\\GPBMetadata\xea\x02\x1bInjective::Auction::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,6 +27,8 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\035com.injective.auction.v1beta1B\014AuctionProtoP\001ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\242\002\003IAX\252\002\031Injective.Auction.V1beta1\312\002\031Injective\\Auction\\V1beta1\342\002%Injective\\Auction\\V1beta1\\GPBMetadata\352\002\033Injective::Auction::V1beta1' _globals['_PARAMS'].fields_by_name['min_next_bid_increment_rate']._loaded_options = None _globals['_PARAMS'].fields_by_name['min_next_bid_increment_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['inj_basket_max_cap']._loaded_options = None + _globals['_PARAMS'].fields_by_name['inj_basket_max_cap']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_PARAMS']._loaded_options = None _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\016auction/Params' _globals['_BID'].fields_by_name['bidder']._loaded_options = None @@ -42,15 +44,15 @@ _globals['_EVENTAUCTIONSTART'].fields_by_name['new_basket']._loaded_options = None _globals['_EVENTAUCTIONSTART'].fields_by_name['new_basket']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' _globals['_PARAMS']._serialized_start=144 - _globals['_PARAMS']._serialized_end=315 - _globals['_BID']._serialized_start=318 - _globals['_BID']._serialized_end=449 - _globals['_LASTAUCTIONRESULT']._serialized_start=452 - _globals['_LASTAUCTIONRESULT']._serialized_end=590 - _globals['_EVENTBID']._serialized_start=593 - _globals['_EVENTBID']._serialized_end=722 - _globals['_EVENTAUCTIONRESULT']._serialized_start=725 - _globals['_EVENTAUCTIONRESULT']._serialized_end=864 - _globals['_EVENTAUCTIONSTART']._serialized_start=867 - _globals['_EVENTAUCTIONSTART']._serialized_end=1059 + _globals['_PARAMS']._serialized_end=391 + _globals['_BID']._serialized_start=394 + _globals['_BID']._serialized_end=552 + _globals['_LASTAUCTIONRESULT']._serialized_start=555 + _globals['_LASTAUCTIONRESULT']._serialized_end=720 + _globals['_EVENTBID']._serialized_start=723 + _globals['_EVENTBID']._serialized_end=879 + _globals['_EVENTAUCTIONRESULT']._serialized_start=882 + _globals['_EVENTAUCTIONRESULT']._serialized_end=1048 + _globals['_EVENTAUCTIONSTART']._serialized_start=1051 + _globals['_EVENTAUCTIONSTART']._serialized_end=1243 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py index f837770f..de0fe292 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/exchange.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xdd\x15\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12\x80\x01\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x38.injective.exchange.v1beta1.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12L\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/Params\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\xec\x08\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions:\x04\x88\xa0\x1f\x00\"\xd7\x08\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions:\x04\x88\xa0\x1f\x00\"\xe4\x02\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12w\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp\"\x8d\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xec\x05\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12@\n\x06status\x18\x08 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\x84\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xcc\x02\n\x0eSpotLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\"\xd4\x02\n\x0fSpotMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12\x44\n\norder_type\x18\x04 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xc7\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCount\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"w\n\x13SubaccountOrderData\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective.exchange.v1beta1.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\x8f\x03\n\x14\x44\x65rivativeLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\x95\x03\n\x15\x44\x65rivativeMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\xcd\x02\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\xa1\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x02 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"{\n\x12SubaccountPosition\x12@\n\x08position\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"w\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12=\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x07\x64\x65posit\"p\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12I\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xfe\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12j\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12v\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa9\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12u\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32:.injective.exchange.v1beta1.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x8c\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12N\n\ntier_infos\x18\x04 \x03(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x86\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Y\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x97\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"\x89\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"s\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x06volume\x18\x02 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03*T\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\xaf\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMITB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rExchangeProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/exchange.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xdd\x15\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12\x80\x01\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x38.injective.exchange.v1beta1.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12L\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/Params\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\x93\t\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals:\x04\x88\xa0\x1f\x00\"\xfe\x08\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals:\x04\x88\xa0\x1f\x00\"\xe4\x02\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12w\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp\"\x8d\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb8\x06\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12@\n\x06status\x18\x08 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\x84\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xcc\x02\n\x0eSpotLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\"\xd4\x02\n\x0fSpotMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12\x44\n\norder_type\x18\x04 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xc7\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCount\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"w\n\x13SubaccountOrderData\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective.exchange.v1beta1.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\x8f\x03\n\x14\x44\x65rivativeLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\x95\x03\n\x15\x44\x65rivativeMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\xcd\x02\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\xa1\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x02 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"{\n\x12SubaccountPosition\x12@\n\x08position\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"w\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12=\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x07\x64\x65posit\"p\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12I\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xfe\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12j\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12v\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa9\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12u\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32:.injective.exchange.v1beta1.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x8c\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12N\n\ntier_infos\x18\x04 \x03(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x86\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Y\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x97\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"\x89\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"s\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x06volume\x18\x02 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03*T\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\xaf\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMITB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rExchangeProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -298,116 +298,116 @@ _globals['_ACTIVEGRANT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._loaded_options = None _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=15988 - _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=16104 - _globals['_MARKETSTATUS']._serialized_start=16106 - _globals['_MARKETSTATUS']._serialized_end=16190 - _globals['_ORDERTYPE']._serialized_start=16193 - _globals['_ORDERTYPE']._serialized_end=16508 - _globals['_EXECUTIONTYPE']._serialized_start=16511 - _globals['_EXECUTIONTYPE']._serialized_end=16686 - _globals['_ORDERMASK']._serialized_start=16689 - _globals['_ORDERMASK']._serialized_end=16954 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=16142 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=16258 + _globals['_MARKETSTATUS']._serialized_start=16260 + _globals['_MARKETSTATUS']._serialized_end=16344 + _globals['_ORDERTYPE']._serialized_start=16347 + _globals['_ORDERTYPE']._serialized_end=16662 + _globals['_EXECUTIONTYPE']._serialized_start=16665 + _globals['_EXECUTIONTYPE']._serialized_end=16840 + _globals['_ORDERMASK']._serialized_start=16843 + _globals['_ORDERMASK']._serialized_end=17108 _globals['_PARAMS']._serialized_start=186 _globals['_PARAMS']._serialized_end=2967 _globals['_MARKETFEEMULTIPLIER']._serialized_start=2970 _globals['_MARKETFEEMULTIPLIER']._serialized_end=3102 _globals['_DERIVATIVEMARKET']._serialized_start=3105 - _globals['_DERIVATIVEMARKET']._serialized_end=4237 - _globals['_BINARYOPTIONSMARKET']._serialized_start=4240 - _globals['_BINARYOPTIONSMARKET']._serialized_end=5351 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=5354 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=5710 - _globals['_PERPETUALMARKETINFO']._serialized_start=5713 - _globals['_PERPETUALMARKETINFO']._serialized_end=6039 - _globals['_PERPETUALMARKETFUNDING']._serialized_start=6042 - _globals['_PERPETUALMARKETFUNDING']._serialized_end=6269 - _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=6272 - _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=6413 - _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=6415 - _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=6476 - _globals['_MIDPRICEANDTOB']._serialized_start=6479 - _globals['_MIDPRICEANDTOB']._serialized_end=6713 - _globals['_SPOTMARKET']._serialized_start=6716 - _globals['_SPOTMARKET']._serialized_end=7464 - _globals['_DEPOSIT']._serialized_start=7467 - _globals['_DEPOSIT']._serialized_end=7632 - _globals['_SUBACCOUNTTRADENONCE']._serialized_start=7634 - _globals['_SUBACCOUNTTRADENONCE']._serialized_end=7678 - _globals['_ORDERINFO']._serialized_start=7681 - _globals['_ORDERINFO']._serialized_end=7908 - _globals['_SPOTORDER']._serialized_start=7911 - _globals['_SPOTORDER']._serialized_end=8171 - _globals['_SPOTLIMITORDER']._serialized_start=8174 - _globals['_SPOTLIMITORDER']._serialized_end=8506 - _globals['_SPOTMARKETORDER']._serialized_start=8509 - _globals['_SPOTMARKETORDER']._serialized_end=8849 - _globals['_DERIVATIVEORDER']._serialized_start=8852 - _globals['_DERIVATIVEORDER']._serialized_end=9179 - _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=9182 - _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=9690 - _globals['_SUBACCOUNTORDER']._serialized_start=9693 - _globals['_SUBACCOUNTORDER']._serialized_end=9888 - _globals['_SUBACCOUNTORDERDATA']._serialized_start=9890 - _globals['_SUBACCOUNTORDERDATA']._serialized_end=10009 - _globals['_DERIVATIVELIMITORDER']._serialized_start=10012 - _globals['_DERIVATIVELIMITORDER']._serialized_end=10411 - _globals['_DERIVATIVEMARKETORDER']._serialized_start=10414 - _globals['_DERIVATIVEMARKETORDER']._serialized_end=10819 - _globals['_POSITION']._serialized_start=10822 - _globals['_POSITION']._serialized_end=11147 - _globals['_MARKETORDERINDICATOR']._serialized_start=11149 - _globals['_MARKETORDERINDICATOR']._serialized_end=11222 - _globals['_TRADELOG']._serialized_start=11225 - _globals['_TRADELOG']._serialized_end=11558 - _globals['_POSITIONDELTA']._serialized_start=11561 - _globals['_POSITIONDELTA']._serialized_end=11843 - _globals['_DERIVATIVETRADELOG']._serialized_start=11846 - _globals['_DERIVATIVETRADELOG']._serialized_end=12263 - _globals['_SUBACCOUNTPOSITION']._serialized_start=12265 - _globals['_SUBACCOUNTPOSITION']._serialized_end=12388 - _globals['_SUBACCOUNTDEPOSIT']._serialized_start=12390 - _globals['_SUBACCOUNTDEPOSIT']._serialized_end=12509 - _globals['_DEPOSITUPDATE']._serialized_start=12511 - _globals['_DEPOSITUPDATE']._serialized_end=12623 - _globals['_POINTSMULTIPLIER']._serialized_start=12626 - _globals['_POINTSMULTIPLIER']._serialized_end=12830 - _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=12833 - _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=13215 - _globals['_CAMPAIGNREWARDPOOL']._serialized_start=13218 - _globals['_CAMPAIGNREWARDPOOL']._serialized_end=13406 - _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=13409 - _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=13706 - _globals['_FEEDISCOUNTTIERINFO']._serialized_start=13709 - _globals['_FEEDISCOUNTTIERINFO']._serialized_end=14029 - _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=14032 - _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=14300 - _globals['_FEEDISCOUNTTIERTTL']._serialized_start=14302 - _globals['_FEEDISCOUNTTIERTTL']._serialized_end=14379 - _globals['_VOLUMERECORD']._serialized_start=14382 - _globals['_VOLUMERECORD']._serialized_end=14540 - _globals['_ACCOUNTREWARDS']._serialized_start=14543 - _globals['_ACCOUNTREWARDS']._serialized_end=14688 - _globals['_TRADERECORDS']._serialized_start=14691 - _globals['_TRADERECORDS']._serialized_end=14825 - _globals['_SUBACCOUNTIDS']._serialized_start=14827 - _globals['_SUBACCOUNTIDS']._serialized_end=14881 - _globals['_TRADERECORD']._serialized_start=14884 - _globals['_TRADERECORD']._serialized_end=15051 - _globals['_LEVEL']._serialized_start=15053 - _globals['_LEVEL']._serialized_end=15162 - _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=15165 - _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=15316 - _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=15319 - _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=15456 - _globals['_MARKETVOLUME']._serialized_start=15458 - _globals['_MARKETVOLUME']._serialized_end=15573 - _globals['_DENOMDECIMALS']._serialized_start=15575 - _globals['_DENOMDECIMALS']._serialized_end=15640 - _globals['_GRANTAUTHORIZATION']._serialized_start=15642 - _globals['_GRANTAUTHORIZATION']._serialized_end=15743 - _globals['_ACTIVEGRANT']._serialized_start=15745 - _globals['_ACTIVEGRANT']._serialized_end=15839 - _globals['_EFFECTIVEGRANT']._serialized_start=15842 - _globals['_EFFECTIVEGRANT']._serialized_end=15986 + _globals['_DERIVATIVEMARKET']._serialized_end=4276 + _globals['_BINARYOPTIONSMARKET']._serialized_start=4279 + _globals['_BINARYOPTIONSMARKET']._serialized_end=5429 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=5432 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=5788 + _globals['_PERPETUALMARKETINFO']._serialized_start=5791 + _globals['_PERPETUALMARKETINFO']._serialized_end=6117 + _globals['_PERPETUALMARKETFUNDING']._serialized_start=6120 + _globals['_PERPETUALMARKETFUNDING']._serialized_end=6347 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=6350 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=6491 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=6493 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=6554 + _globals['_MIDPRICEANDTOB']._serialized_start=6557 + _globals['_MIDPRICEANDTOB']._serialized_end=6791 + _globals['_SPOTMARKET']._serialized_start=6794 + _globals['_SPOTMARKET']._serialized_end=7618 + _globals['_DEPOSIT']._serialized_start=7621 + _globals['_DEPOSIT']._serialized_end=7786 + _globals['_SUBACCOUNTTRADENONCE']._serialized_start=7788 + _globals['_SUBACCOUNTTRADENONCE']._serialized_end=7832 + _globals['_ORDERINFO']._serialized_start=7835 + _globals['_ORDERINFO']._serialized_end=8062 + _globals['_SPOTORDER']._serialized_start=8065 + _globals['_SPOTORDER']._serialized_end=8325 + _globals['_SPOTLIMITORDER']._serialized_start=8328 + _globals['_SPOTLIMITORDER']._serialized_end=8660 + _globals['_SPOTMARKETORDER']._serialized_start=8663 + _globals['_SPOTMARKETORDER']._serialized_end=9003 + _globals['_DERIVATIVEORDER']._serialized_start=9006 + _globals['_DERIVATIVEORDER']._serialized_end=9333 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=9336 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=9844 + _globals['_SUBACCOUNTORDER']._serialized_start=9847 + _globals['_SUBACCOUNTORDER']._serialized_end=10042 + _globals['_SUBACCOUNTORDERDATA']._serialized_start=10044 + _globals['_SUBACCOUNTORDERDATA']._serialized_end=10163 + _globals['_DERIVATIVELIMITORDER']._serialized_start=10166 + _globals['_DERIVATIVELIMITORDER']._serialized_end=10565 + _globals['_DERIVATIVEMARKETORDER']._serialized_start=10568 + _globals['_DERIVATIVEMARKETORDER']._serialized_end=10973 + _globals['_POSITION']._serialized_start=10976 + _globals['_POSITION']._serialized_end=11301 + _globals['_MARKETORDERINDICATOR']._serialized_start=11303 + _globals['_MARKETORDERINDICATOR']._serialized_end=11376 + _globals['_TRADELOG']._serialized_start=11379 + _globals['_TRADELOG']._serialized_end=11712 + _globals['_POSITIONDELTA']._serialized_start=11715 + _globals['_POSITIONDELTA']._serialized_end=11997 + _globals['_DERIVATIVETRADELOG']._serialized_start=12000 + _globals['_DERIVATIVETRADELOG']._serialized_end=12417 + _globals['_SUBACCOUNTPOSITION']._serialized_start=12419 + _globals['_SUBACCOUNTPOSITION']._serialized_end=12542 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=12544 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=12663 + _globals['_DEPOSITUPDATE']._serialized_start=12665 + _globals['_DEPOSITUPDATE']._serialized_end=12777 + _globals['_POINTSMULTIPLIER']._serialized_start=12780 + _globals['_POINTSMULTIPLIER']._serialized_end=12984 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=12987 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=13369 + _globals['_CAMPAIGNREWARDPOOL']._serialized_start=13372 + _globals['_CAMPAIGNREWARDPOOL']._serialized_end=13560 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=13563 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=13860 + _globals['_FEEDISCOUNTTIERINFO']._serialized_start=13863 + _globals['_FEEDISCOUNTTIERINFO']._serialized_end=14183 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=14186 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=14454 + _globals['_FEEDISCOUNTTIERTTL']._serialized_start=14456 + _globals['_FEEDISCOUNTTIERTTL']._serialized_end=14533 + _globals['_VOLUMERECORD']._serialized_start=14536 + _globals['_VOLUMERECORD']._serialized_end=14694 + _globals['_ACCOUNTREWARDS']._serialized_start=14697 + _globals['_ACCOUNTREWARDS']._serialized_end=14842 + _globals['_TRADERECORDS']._serialized_start=14845 + _globals['_TRADERECORDS']._serialized_end=14979 + _globals['_SUBACCOUNTIDS']._serialized_start=14981 + _globals['_SUBACCOUNTIDS']._serialized_end=15035 + _globals['_TRADERECORD']._serialized_start=15038 + _globals['_TRADERECORD']._serialized_end=15205 + _globals['_LEVEL']._serialized_start=15207 + _globals['_LEVEL']._serialized_end=15316 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=15319 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=15470 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=15473 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=15610 + _globals['_MARKETVOLUME']._serialized_start=15612 + _globals['_MARKETVOLUME']._serialized_end=15727 + _globals['_DENOMDECIMALS']._serialized_start=15729 + _globals['_DENOMDECIMALS']._serialized_end=15794 + _globals['_GRANTAUTHORIZATION']._serialized_start=15796 + _globals['_GRANTAUTHORIZATION']._serialized_end=15897 + _globals['_ACTIVEGRANT']._serialized_start=15899 + _globals['_ACTIVEGRANT']._serialized_end=15993 + _globals['_EFFECTIVEGRANT']._serialized_start=15996 + _globals['_EFFECTIVEGRANT']._serialized_end=16140 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py index 962502a2..6d44d878 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py @@ -22,7 +22,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/proposal.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xd3\x06\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12@\n\x06status\x18\t \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0c \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xcc\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12L\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32(.injective.exchange.v1beta1.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x96\r\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x85\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x39.injective.exchange.v1beta1.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x97\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32?.injective.exchange.v1beta1.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12u\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32\x34.injective.exchange.v1beta1.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x84\x01\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x39.injective.exchange.v1beta1.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x91\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32=.injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x95\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32?.injective.exchange.v1beta1.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x91\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32=.injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x94\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32\x42.injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12|\n\x1e\x64\x65nom_decimals_update_proposal\x18\x0b \x01(\x0b\x32\x37.injective.exchange.v1beta1.UpdateDenomDecimalsProposalR\x1b\x64\x65nomDecimalsUpdateProposal\x12\x63\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x87\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32:.injective.exchange.v1beta1.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\xca\x05\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0b \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\xa6\x08\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x10 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xe5\x07\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xc6\x08\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\x92\n\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12M\n\roracle_params\x18\x0e \x01(\x0b\x32(.injective.exchange.v1beta1.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xf8\x01\n\x1bUpdateDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12P\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsR\rdenomDecimals:O\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*$exchange/UpdateDenomDecimalsProposal\"\xc2\x08\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12U\n\roracle_params\x18\x0e \x01(\x0b\x32\x30.injective.exchange.v1beta1.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xf6\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xfc\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12u\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12q\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd7\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12_\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32-.injective.exchange.v1beta1.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xe3\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x08schedule\x18\x03 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xb3\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x65\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rProposalProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/proposal.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\x9f\x07\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12@\n\x06status\x18\t \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0c \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\r \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0e \x01(\rR\rquoteDecimals:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xcc\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12L\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32(.injective.exchange.v1beta1.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x96\r\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x85\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x39.injective.exchange.v1beta1.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x97\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32?.injective.exchange.v1beta1.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12u\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32\x34.injective.exchange.v1beta1.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x84\x01\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x39.injective.exchange.v1beta1.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x91\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32=.injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x95\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32?.injective.exchange.v1beta1.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x91\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32=.injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x94\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32\x42.injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12|\n\x1e\x64\x65nom_decimals_update_proposal\x18\x0b \x01(\x0b\x32\x37.injective.exchange.v1beta1.UpdateDenomDecimalsProposalR\x1b\x64\x65nomDecimalsUpdateProposal\x12\x63\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x87\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32:.injective.exchange.v1beta1.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\x96\x06\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0b \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\xa6\x08\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x10 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xe5\x07\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xc6\x08\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\x92\n\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12M\n\roracle_params\x18\x0e \x01(\x0b\x32(.injective.exchange.v1beta1.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xf8\x01\n\x1bUpdateDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12P\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsR\rdenomDecimals:O\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*$exchange/UpdateDenomDecimalsProposal\"\xc2\x08\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12U\n\roracle_params\x18\x0e \x01(\x0b\x32\x30.injective.exchange.v1beta1.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xf6\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xfc\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12u\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12q\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd7\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12_\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32-.injective.exchange.v1beta1.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xe3\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x08schedule\x18\x03 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xb3\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x65\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rProposalProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -174,48 +174,48 @@ _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(exchange/BatchCommunityPoolSpendProposal' _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._loaded_options = None _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal' - _globals['_EXCHANGETYPE']._serialized_start=12535 - _globals['_EXCHANGETYPE']._serialized_end=12655 + _globals['_EXCHANGETYPE']._serialized_start=12687 + _globals['_EXCHANGETYPE']._serialized_end=12807 _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_start=329 - _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1180 - _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1183 - _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1387 - _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1390 - _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3076 - _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3079 - _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=3793 - _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=3796 - _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=4858 - _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=4861 - _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=5858 - _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=5861 - _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=6955 - _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=6958 - _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=8256 - _globals['_ADMININFO']._serialized_start=8258 - _globals['_ADMININFO']._serialized_end=8336 - _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=8339 - _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=8620 - _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_start=8623 - _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_end=8871 - _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=8874 - _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=9964 - _globals['_PROVIDERORACLEPARAMS']._serialized_start=9967 - _globals['_PROVIDERORACLEPARAMS']._serialized_end=10160 - _globals['_ORACLEPARAMS']._serialized_start=10163 - _globals['_ORACLEPARAMS']._serialized_end=10364 - _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=10367 - _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=10741 - _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=10744 - _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=11252 - _globals['_REWARDPOINTUPDATE']._serialized_start=11255 - _globals['_REWARDPOINTUPDATE']._serialized_end=11383 - _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=11386 - _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=11729 - _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=11732 - _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=11959 - _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=11962 - _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=12223 - _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=12226 - _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=12533 + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1256 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1259 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1463 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1466 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3152 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3155 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=3945 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=3948 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=5010 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=5013 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=6010 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=6013 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=7107 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=7110 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=8408 + _globals['_ADMININFO']._serialized_start=8410 + _globals['_ADMININFO']._serialized_end=8488 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=8491 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=8772 + _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_start=8775 + _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_end=9023 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=9026 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=10116 + _globals['_PROVIDERORACLEPARAMS']._serialized_start=10119 + _globals['_PROVIDERORACLEPARAMS']._serialized_end=10312 + _globals['_ORACLEPARAMS']._serialized_start=10315 + _globals['_ORACLEPARAMS']._serialized_end=10516 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=10519 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=10893 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=10896 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=11404 + _globals['_REWARDPOINTUPDATE']._serialized_start=11407 + _globals['_REWARDPOINTUPDATE']._serialized_end=11535 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=11538 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=11881 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=11884 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=12111 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=12114 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=12375 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=12378 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=12685 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py index 30a1f5d7..43c5af63 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py @@ -19,7 +19,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/query.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a(injective/exchange/v1beta1/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xc1\x01\n\x1dQuerySubaccountOrdersResponse\x12N\n\nbuy_orders\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\tbuyOrders\x12P\n\x0bsell_orders\x18\x02 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\nsellOrders\"\xaf\x01\n%SubaccountOrderbookMetadataWithMarket\x12S\n\x08metadata\x18\x01 \x01(\x0b\x32\x37.injective.exchange.v1beta1.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"_\n\x1bQueryExchangeParamsResponse\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x93\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12L\n\nsubaccount\x18\x02 \x01(\x0b\x32&.injective.exchange.v1beta1.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xea\x01\n\x1fQuerySubaccountDepositsResponse\x12\x65\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32I.injective.exchange.v1beta1.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a`\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"f\n\x1dQueryExchangeBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"u\n\x1cQueryAggregateVolumeResponse\x12U\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xf9\x01\n\x1dQueryAggregateVolumesResponse\x12t\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v1beta1.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12\x62\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"l\n\"QueryAggregateMarketVolumeResponse\x12\x46\n\x06volume\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"0\n\x18QueryDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"5\n\x19QueryDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"3\n\x19QueryDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"t\n\x1aQueryDenomDecimalsResponse\x12V\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"i\n#QueryAggregateMarketVolumesResponse\x12\x42\n\x07volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"a\n\x1eQuerySubaccountDepositResponse\x12?\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\\\n\x18QuerySpotMarketsResponse\x12@\n\x07markets\x18\x01 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"Y\n\x17QuerySpotMarketResponse\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\"\xd6\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x44\n\norder_side\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xb8\x01\n\x1aQuerySpotOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\xad\x01\n\x0e\x46ullSpotMarket\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\x12[\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"d\n\x1cQueryFullSpotMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"a\n\x1bQueryFullSpotMarketResponse\x12\x42\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"l\n\x1fQuerySpotOrdersByHashesResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"j\n\x1dQueryTraderSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"r\n%QueryAccountAddressSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xbe\x01\n QueryDerivativeOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\x9c\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x05 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xdc\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x04 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"v\n#QueryTraderDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"~\n+QueryAccountAddressDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"x\n%QueryDerivativeOrdersByHashesResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xbf\x01\n\x14PerpetualMarketState\x12P\n\x0bmarket_info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoR\nmarketInfo\x12U\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x0b\x66undingInfo\"\xba\x03\n\x14\x46ullDerivativeMarket\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x06market\x12Y\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.PerpetualMarketStateH\x00R\rperpetualInfo\x12X\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12[\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"l\n\x1eQueryDerivativeMarketsResponse\x12J\n\x07markets\x18\x01 \x03(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"i\n\x1dQueryDerivativeMarketResponse\x12H\n\x06market\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"n\n QuerySubaccountPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"k\n\'QuerySubaccountPositionInMarketResponse\x12@\n\x05state\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionB\x04\xc8\xde\x1f\x01R\x05state\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"}\n0QuerySubaccountEffectivePositionInMarketResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v1beta1.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"m\n QueryPerpetualMarketInfoResponse\x12I\n\x04info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n$QueryExpiryFuturesMarketInfoResponse\x12M\n\x04info\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n#QueryPerpetualMarketFundingResponse\x12N\n\x05state\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x8b\x01\n$QuerySubaccountOrderMetadataResponse\x12\x63\n\x08metadata\x18\x01 \x03(\x0b\x32\x41.injective.exchange.v1beta1.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\x19\n\x17QueryModuleStateRequest\"Z\n\x18QueryModuleStateResponse\x12>\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"d\n\x16QueryPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xfe\x04\n QueryTradeRewardCampaignResponse\x12v\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xe9\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12R\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12O\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x87\x01\n QueryFeeDiscountScheduleResponse\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"|\n\x1eQueryBalanceMismatchesResponse\x12Z\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x96\x01\n$QueryBalanceWithBalanceHoldsResponse\x12n\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"s\n&QueryFeeDiscountTierStatisticsResponse\x12I\n\nstatistics\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"t\n#QueryHistoricalTradeRecordsResponse\x12M\n\rtrade_records\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\xa0\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x63\n\x15trade_history_options\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.TradeHistoryOptionsR\x13tradeHistoryOptions\"\x83\x02\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12H\n\x0braw_history\x18\x03 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"g\n\x1aQueryBinaryMarketsResponse\x12I\n\x07markets\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x87\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12U\n\x06orders\x18\x01 \x03(\x0b\x32=.injective.exchange.v1beta1.TrimmedDerivativeConditionalOrderR\x06orders\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xb3\x01\n\x1dQueryActiveStakeGrantResponse\x12=\n\x05grant\x18\x01 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x05grant\x12S\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb7\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\xcd\x65\n\x05Query\x12\xba\x01\n\x13QueryExchangeParams\x12\x36.injective.exchange.v1beta1.QueryExchangeParamsRequest\x1a\x37.injective.exchange.v1beta1.QueryExchangeParamsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v1beta1/exchangeParams\x12\xce\x01\n\x12SubaccountDeposits\x12:.injective.exchange.v1beta1.QuerySubaccountDepositsRequest\x1a;.injective.exchange.v1beta1.QuerySubaccountDepositsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/exchange/subaccountDeposits\x12\xca\x01\n\x11SubaccountDeposit\x12\x39.injective.exchange.v1beta1.QuerySubaccountDepositRequest\x1a:.injective.exchange.v1beta1.QuerySubaccountDepositResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/exchange/subaccountDeposit\x12\xc6\x01\n\x10\x45xchangeBalances\x12\x38.injective.exchange.v1beta1.QueryExchangeBalancesRequest\x1a\x39.injective.exchange.v1beta1.QueryExchangeBalancesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/exchangeBalances\x12\xcc\x01\n\x0f\x41ggregateVolume\x12\x37.injective.exchange.v1beta1.QueryAggregateVolumeRequest\x1a\x38.injective.exchange.v1beta1.QueryAggregateVolumeResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/exchange/aggregateVolume/{account}\x12\xc6\x01\n\x10\x41ggregateVolumes\x12\x38.injective.exchange.v1beta1.QueryAggregateVolumesRequest\x1a\x39.injective.exchange.v1beta1.QueryAggregateVolumesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/aggregateVolumes\x12\xe6\x01\n\x15\x41ggregateMarketVolume\x12=.injective.exchange.v1beta1.QueryAggregateMarketVolumeRequest\x1a>.injective.exchange.v1beta1.QueryAggregateMarketVolumeResponse\"N\x82\xd3\xe4\x93\x02H\x12\x46/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}\x12\xde\x01\n\x16\x41ggregateMarketVolumes\x12>.injective.exchange.v1beta1.QueryAggregateMarketVolumesRequest\x1a?.injective.exchange.v1beta1.QueryAggregateMarketVolumesResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v1beta1/exchange/aggregateMarketVolumes\x12\xbf\x01\n\x0c\x44\x65nomDecimal\x12\x34.injective.exchange.v1beta1.QueryDenomDecimalRequest\x1a\x35.injective.exchange.v1beta1.QueryDenomDecimalResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/exchange/denom_decimal/{denom}\x12\xbb\x01\n\rDenomDecimals\x12\x35.injective.exchange.v1beta1.QueryDenomDecimalsRequest\x1a\x36.injective.exchange.v1beta1.QueryDenomDecimalsResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v1beta1/exchange/denom_decimals\x12\xaa\x01\n\x0bSpotMarkets\x12\x33.injective.exchange.v1beta1.QuerySpotMarketsRequest\x1a\x34.injective.exchange.v1beta1.QuerySpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/spot/markets\x12\xb3\x01\n\nSpotMarket\x12\x32.injective.exchange.v1beta1.QuerySpotMarketRequest\x1a\x33.injective.exchange.v1beta1.QuerySpotMarketResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/spot/markets/{market_id}\x12\xbb\x01\n\x0f\x46ullSpotMarkets\x12\x37.injective.exchange.v1beta1.QueryFullSpotMarketsRequest\x1a\x38.injective.exchange.v1beta1.QueryFullSpotMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v1beta1/spot/full_markets\x12\xc3\x01\n\x0e\x46ullSpotMarket\x12\x36.injective.exchange.v1beta1.QueryFullSpotMarketRequest\x1a\x37.injective.exchange.v1beta1.QueryFullSpotMarketResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/full_market/{market_id}\x12\xbe\x01\n\rSpotOrderbook\x12\x35.injective.exchange.v1beta1.QuerySpotOrderbookRequest\x1a\x36.injective.exchange.v1beta1.QuerySpotOrderbookResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/spot/orderbook/{market_id}\x12\xd4\x01\n\x10TraderSpotOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}\x12\xf6\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12@.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest\x1a\x41.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders/{market_id}/account/{account_address}\x12\xe4\x01\n\x12SpotOrdersByHashes\x12:.injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest\x1a;.injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xc3\x01\n\x10SubaccountOrders\x12\x38.injective.exchange.v1beta1.QuerySubaccountOrdersRequest\x1a\x39.injective.exchange.v1beta1.QuerySubaccountOrdersResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/orders/{subaccount_id}\x12\xe7\x01\n\x19TraderSpotTransientOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}\x12\xd5\x01\n\x12SpotMidPriceAndTOB\x12:.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest\x1a;.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}\x12\xed\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12@.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}\x12\xd6\x01\n\x13\x44\x65rivativeOrderbook\x12;.injective.exchange.v1beta1.QueryDerivativeOrderbookRequest\x1a<.injective.exchange.v1beta1.QueryDerivativeOrderbookResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}\x12\x8e\x02\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x46.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest\x1aG.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders/{market_id}/account/{account_address}\x12\xfc\x01\n\x18\x44\x65rivativeOrdersByHashes\x12@.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xff\x01\n\x1fTraderDerivativeTransientOrders\x12>.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xc2\x01\n\x11\x44\x65rivativeMarkets\x12\x39.injective.exchange.v1beta1.QueryDerivativeMarketsRequest\x1a:.injective.exchange.v1beta1.QueryDerivativeMarketsResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./injective/exchange/v1beta1/derivative/markets\x12\xcb\x01\n\x10\x44\x65rivativeMarket\x12\x38.injective.exchange.v1beta1.QueryDerivativeMarketRequest\x1a\x39.injective.exchange.v1beta1.QueryDerivativeMarketResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/derivative/markets/{market_id}\x12\xe7\x01\n\x17\x44\x65rivativeMarketAddress\x12?.injective.exchange.v1beta1.QueryDerivativeMarketAddressRequest\x1a@.injective.exchange.v1beta1.QueryDerivativeMarketAddressResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/derivative/market_address/{market_id}\x12\xd1\x01\n\x14SubaccountTradeNonce\x12<.injective.exchange.v1beta1.QuerySubaccountTradeNonceRequest\x1a=.injective.exchange.v1beta1.QuerySubaccountTradeNonceResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/exchange/{subaccount_id}\x12\xb2\x01\n\x13\x45xchangeModuleState\x12\x33.injective.exchange.v1beta1.QueryModuleStateRequest\x1a\x34.injective.exchange.v1beta1.QueryModuleStateResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/module_state\x12\xa1\x01\n\tPositions\x12\x31.injective.exchange.v1beta1.QueryPositionsRequest\x1a\x32.injective.exchange.v1beta1.QueryPositionsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v1beta1/positions\x12\xcf\x01\n\x13SubaccountPositions\x12;.injective.exchange.v1beta1.QuerySubaccountPositionsRequest\x1a<.injective.exchange.v1beta1.QuerySubaccountPositionsResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/positions/{subaccount_id}\x12\xf0\x01\n\x1aSubaccountPositionInMarket\x12\x42.injective.exchange.v1beta1.QuerySubaccountPositionInMarketRequest\x1a\x43.injective.exchange.v1beta1.QuerySubaccountPositionInMarketResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}\x12\x95\x02\n#SubaccountEffectivePositionInMarket\x12K.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketRequest\x1aL.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketResponse\"S\x82\xd3\xe4\x93\x02M\x12K/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}\x12\xd7\x01\n\x13PerpetualMarketInfo\x12;.injective.exchange.v1beta1.QueryPerpetualMarketInfoRequest\x1a<.injective.exchange.v1beta1.QueryPerpetualMarketInfoResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/perpetual_market_info/{market_id}\x12\xe0\x01\n\x17\x45xpiryFuturesMarketInfo\x12?.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoRequest\x1a@.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/expiry_market_info/{market_id}\x12\xe3\x01\n\x16PerpetualMarketFunding\x12>.injective.exchange.v1beta1.QueryPerpetualMarketFundingRequest\x1a?.injective.exchange.v1beta1.QueryPerpetualMarketFundingResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/perpetual_market_funding/{market_id}\x12\xe0\x01\n\x17SubaccountOrderMetadata\x12?.injective.exchange.v1beta1.QuerySubaccountOrderMetadataRequest\x1a@.injective.exchange.v1beta1.QuerySubaccountOrderMetadataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/order_metadata/{subaccount_id}\x12\xc3\x01\n\x11TradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/trade_reward_points\x12\xd2\x01\n\x18PendingTradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/pending_trade_reward_points\x12\xcb\x01\n\x13TradeRewardCampaign\x12;.injective.exchange.v1beta1.QueryTradeRewardCampaignRequest\x1a<.injective.exchange.v1beta1.QueryTradeRewardCampaignResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/trade_reward_campaign\x12\xe2\x01\n\x16\x46\x65\x65\x44iscountAccountInfo\x12>.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoRequest\x1a?.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v1beta1/fee_discount_account_info/{account}\x12\xcb\x01\n\x13\x46\x65\x65\x44iscountSchedule\x12;.injective.exchange.v1beta1.QueryFeeDiscountScheduleRequest\x1a<.injective.exchange.v1beta1.QueryFeeDiscountScheduleResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/fee_discount_schedule\x12\xd0\x01\n\x11\x42\x61lanceMismatches\x12\x39.injective.exchange.v1beta1.QueryBalanceMismatchesRequest\x1a:.injective.exchange.v1beta1.QueryBalanceMismatchesResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryHistoricalTradeRecordsRequest\x1a?.injective.exchange.v1beta1.QueryHistoricalTradeRecordsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/historical_trade_records\x12\xd7\x01\n\x13IsOptedOutOfRewards\x12;.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsRequest\x1a<.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}\x12\xe5\x01\n\x19OptedOutOfRewardsAccounts\x12\x41.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsRequest\x1a\x42.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/opted_out_of_rewards_accounts\x12\xca\x01\n\x10MarketVolatility\x12\x38.injective.exchange.v1beta1.QueryMarketVolatilityRequest\x1a\x39.injective.exchange.v1beta1.QueryMarketVolatilityResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/market_volatility/{market_id}\x12\xc1\x01\n\x14\x42inaryOptionsMarkets\x12\x35.injective.exchange.v1beta1.QueryBinaryMarketsRequest\x1a\x36.injective.exchange.v1beta1.QueryBinaryMarketsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/binary_options/markets\x12\x99\x02\n!TraderDerivativeConditionalOrders\x12I.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersRequest\x1aJ.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse\"]\x82\xd3\xe4\x93\x02W\x12U/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xfe\x01\n\"MarketAtomicExecutionFeeMultiplier\x12J.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest\x1aK.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/atomic_order_fee_multiplier\x12\xc9\x01\n\x10\x41\x63tiveStakeGrant\x12\x38.injective.exchange.v1beta1.QueryActiveStakeGrantRequest\x1a\x39.injective.exchange.v1beta1.QueryActiveStakeGrantResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/active_stake_grant/{grantee}\x12\xda\x01\n\x12GrantAuthorization\x12:.injective.exchange.v1beta1.QueryGrantAuthorizationRequest\x1a;.injective.exchange.v1beta1.QueryGrantAuthorizationResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}\x12\xd4\x01\n\x13GrantAuthorizations\x12;.injective.exchange.v1beta1.QueryGrantAuthorizationsRequest\x1a<.injective.exchange.v1beta1.QueryGrantAuthorizationsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/grant_authorizations/{granter}B\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nQueryProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/query.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a(injective/exchange/v1beta1/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xc1\x01\n\x1dQuerySubaccountOrdersResponse\x12N\n\nbuy_orders\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\tbuyOrders\x12P\n\x0bsell_orders\x18\x02 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\nsellOrders\"\xaf\x01\n%SubaccountOrderbookMetadataWithMarket\x12S\n\x08metadata\x18\x01 \x01(\x0b\x32\x37.injective.exchange.v1beta1.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"_\n\x1bQueryExchangeParamsResponse\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x93\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12L\n\nsubaccount\x18\x02 \x01(\x0b\x32&.injective.exchange.v1beta1.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xea\x01\n\x1fQuerySubaccountDepositsResponse\x12\x65\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32I.injective.exchange.v1beta1.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a`\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"f\n\x1dQueryExchangeBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"u\n\x1cQueryAggregateVolumeResponse\x12U\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xf9\x01\n\x1dQueryAggregateVolumesResponse\x12t\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v1beta1.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12\x62\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"l\n\"QueryAggregateMarketVolumeResponse\x12\x46\n\x06volume\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"0\n\x18QueryDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"5\n\x19QueryDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"3\n\x19QueryDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"t\n\x1aQueryDenomDecimalsResponse\x12V\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"i\n#QueryAggregateMarketVolumesResponse\x12\x42\n\x07volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"a\n\x1eQuerySubaccountDepositResponse\x12?\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\\\n\x18QuerySpotMarketsResponse\x12@\n\x07markets\x18\x01 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"Y\n\x17QuerySpotMarketResponse\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\"\xd6\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x44\n\norder_side\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xb8\x01\n\x1aQuerySpotOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\xad\x01\n\x0e\x46ullSpotMarket\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\x12[\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"d\n\x1cQueryFullSpotMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"a\n\x1bQueryFullSpotMarketResponse\x12\x42\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"l\n\x1fQuerySpotOrdersByHashesResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"j\n\x1dQueryTraderSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"r\n%QueryAccountAddressSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xbe\x01\n QueryDerivativeOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\x9c\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x05 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xdc\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x04 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"v\n#QueryTraderDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"~\n+QueryAccountAddressDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"x\n%QueryDerivativeOrdersByHashesResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xbf\x01\n\x14PerpetualMarketState\x12P\n\x0bmarket_info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoR\nmarketInfo\x12U\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x0b\x66undingInfo\"\xba\x03\n\x14\x46ullDerivativeMarket\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x06market\x12Y\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.PerpetualMarketStateH\x00R\rperpetualInfo\x12X\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12[\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"l\n\x1eQueryDerivativeMarketsResponse\x12J\n\x07markets\x18\x01 \x03(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"i\n\x1dQueryDerivativeMarketResponse\x12H\n\x06market\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"n\n QuerySubaccountPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"k\n\'QuerySubaccountPositionInMarketResponse\x12@\n\x05state\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionB\x04\xc8\xde\x1f\x01R\x05state\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"}\n0QuerySubaccountEffectivePositionInMarketResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v1beta1.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"m\n QueryPerpetualMarketInfoResponse\x12I\n\x04info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n$QueryExpiryFuturesMarketInfoResponse\x12M\n\x04info\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n#QueryPerpetualMarketFundingResponse\x12N\n\x05state\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x8b\x01\n$QuerySubaccountOrderMetadataResponse\x12\x63\n\x08metadata\x18\x01 \x03(\x0b\x32\x41.injective.exchange.v1beta1.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\x19\n\x17QueryModuleStateRequest\"Z\n\x18QueryModuleStateResponse\x12>\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"d\n\x16QueryPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xfe\x04\n QueryTradeRewardCampaignResponse\x12v\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xe9\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12R\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12O\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x87\x01\n QueryFeeDiscountScheduleResponse\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"|\n\x1eQueryBalanceMismatchesResponse\x12Z\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x96\x01\n$QueryBalanceWithBalanceHoldsResponse\x12n\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"s\n&QueryFeeDiscountTierStatisticsResponse\x12I\n\nstatistics\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"t\n#QueryHistoricalTradeRecordsResponse\x12M\n\rtrade_records\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\xa0\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x63\n\x15trade_history_options\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.TradeHistoryOptionsR\x13tradeHistoryOptions\"\x83\x02\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12H\n\x0braw_history\x18\x03 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"g\n\x1aQueryBinaryMarketsResponse\x12I\n\x07markets\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x87\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12U\n\x06orders\x18\x01 \x03(\x0b\x32=.injective.exchange.v1beta1.TrimmedDerivativeConditionalOrderR\x06orders\"<\n\x1dQueryFullSpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xa6\x01\n\x1eQueryFullSpotOrderbookResponse\x12\x41\n\x04\x42ids\x18\x01 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x42ids\x12\x41\n\x04\x41sks\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x41sks\"B\n#QueryFullDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xac\x01\n$QueryFullDerivativeOrderbookResponse\x12\x41\n\x04\x42ids\x18\x01 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x42ids\x12\x41\n\x04\x41sks\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x41sks\"\xd3\x01\n\x11TrimmedLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xb3\x01\n\x1dQueryActiveStakeGrantResponse\x12=\n\x05grant\x18\x01 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x05grant\x12S\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb7\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\xffh\n\x05Query\x12\xe2\x01\n\x15L3DerivativeOrderBook\x12?.injective.exchange.v1beta1.QueryFullDerivativeOrderbookRequest\x1a@.injective.exchange.v1beta1.QueryFullDerivativeOrderbookResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/derivative/L3OrderBook/{market_id}\x12\xca\x01\n\x0fL3SpotOrderBook\x12\x39.injective.exchange.v1beta1.QueryFullSpotOrderbookRequest\x1a:.injective.exchange.v1beta1.QueryFullSpotOrderbookResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/L3OrderBook/{market_id}\x12\xba\x01\n\x13QueryExchangeParams\x12\x36.injective.exchange.v1beta1.QueryExchangeParamsRequest\x1a\x37.injective.exchange.v1beta1.QueryExchangeParamsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v1beta1/exchangeParams\x12\xce\x01\n\x12SubaccountDeposits\x12:.injective.exchange.v1beta1.QuerySubaccountDepositsRequest\x1a;.injective.exchange.v1beta1.QuerySubaccountDepositsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/exchange/subaccountDeposits\x12\xca\x01\n\x11SubaccountDeposit\x12\x39.injective.exchange.v1beta1.QuerySubaccountDepositRequest\x1a:.injective.exchange.v1beta1.QuerySubaccountDepositResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/exchange/subaccountDeposit\x12\xc6\x01\n\x10\x45xchangeBalances\x12\x38.injective.exchange.v1beta1.QueryExchangeBalancesRequest\x1a\x39.injective.exchange.v1beta1.QueryExchangeBalancesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/exchangeBalances\x12\xcc\x01\n\x0f\x41ggregateVolume\x12\x37.injective.exchange.v1beta1.QueryAggregateVolumeRequest\x1a\x38.injective.exchange.v1beta1.QueryAggregateVolumeResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/exchange/aggregateVolume/{account}\x12\xc6\x01\n\x10\x41ggregateVolumes\x12\x38.injective.exchange.v1beta1.QueryAggregateVolumesRequest\x1a\x39.injective.exchange.v1beta1.QueryAggregateVolumesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/aggregateVolumes\x12\xe6\x01\n\x15\x41ggregateMarketVolume\x12=.injective.exchange.v1beta1.QueryAggregateMarketVolumeRequest\x1a>.injective.exchange.v1beta1.QueryAggregateMarketVolumeResponse\"N\x82\xd3\xe4\x93\x02H\x12\x46/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}\x12\xde\x01\n\x16\x41ggregateMarketVolumes\x12>.injective.exchange.v1beta1.QueryAggregateMarketVolumesRequest\x1a?.injective.exchange.v1beta1.QueryAggregateMarketVolumesResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v1beta1/exchange/aggregateMarketVolumes\x12\xbf\x01\n\x0c\x44\x65nomDecimal\x12\x34.injective.exchange.v1beta1.QueryDenomDecimalRequest\x1a\x35.injective.exchange.v1beta1.QueryDenomDecimalResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/exchange/denom_decimal/{denom}\x12\xbb\x01\n\rDenomDecimals\x12\x35.injective.exchange.v1beta1.QueryDenomDecimalsRequest\x1a\x36.injective.exchange.v1beta1.QueryDenomDecimalsResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v1beta1/exchange/denom_decimals\x12\xaa\x01\n\x0bSpotMarkets\x12\x33.injective.exchange.v1beta1.QuerySpotMarketsRequest\x1a\x34.injective.exchange.v1beta1.QuerySpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/spot/markets\x12\xb3\x01\n\nSpotMarket\x12\x32.injective.exchange.v1beta1.QuerySpotMarketRequest\x1a\x33.injective.exchange.v1beta1.QuerySpotMarketResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/spot/markets/{market_id}\x12\xbb\x01\n\x0f\x46ullSpotMarkets\x12\x37.injective.exchange.v1beta1.QueryFullSpotMarketsRequest\x1a\x38.injective.exchange.v1beta1.QueryFullSpotMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v1beta1/spot/full_markets\x12\xc3\x01\n\x0e\x46ullSpotMarket\x12\x36.injective.exchange.v1beta1.QueryFullSpotMarketRequest\x1a\x37.injective.exchange.v1beta1.QueryFullSpotMarketResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/full_market/{market_id}\x12\xbe\x01\n\rSpotOrderbook\x12\x35.injective.exchange.v1beta1.QuerySpotOrderbookRequest\x1a\x36.injective.exchange.v1beta1.QuerySpotOrderbookResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/spot/orderbook/{market_id}\x12\xd4\x01\n\x10TraderSpotOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}\x12\xf6\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12@.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest\x1a\x41.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders/{market_id}/account/{account_address}\x12\xe4\x01\n\x12SpotOrdersByHashes\x12:.injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest\x1a;.injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xc3\x01\n\x10SubaccountOrders\x12\x38.injective.exchange.v1beta1.QuerySubaccountOrdersRequest\x1a\x39.injective.exchange.v1beta1.QuerySubaccountOrdersResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/orders/{subaccount_id}\x12\xe7\x01\n\x19TraderSpotTransientOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}\x12\xd5\x01\n\x12SpotMidPriceAndTOB\x12:.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest\x1a;.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}\x12\xed\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12@.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}\x12\xd6\x01\n\x13\x44\x65rivativeOrderbook\x12;.injective.exchange.v1beta1.QueryDerivativeOrderbookRequest\x1a<.injective.exchange.v1beta1.QueryDerivativeOrderbookResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}\x12\x8e\x02\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x46.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest\x1aG.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders/{market_id}/account/{account_address}\x12\xfc\x01\n\x18\x44\x65rivativeOrdersByHashes\x12@.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xff\x01\n\x1fTraderDerivativeTransientOrders\x12>.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xc2\x01\n\x11\x44\x65rivativeMarkets\x12\x39.injective.exchange.v1beta1.QueryDerivativeMarketsRequest\x1a:.injective.exchange.v1beta1.QueryDerivativeMarketsResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./injective/exchange/v1beta1/derivative/markets\x12\xcb\x01\n\x10\x44\x65rivativeMarket\x12\x38.injective.exchange.v1beta1.QueryDerivativeMarketRequest\x1a\x39.injective.exchange.v1beta1.QueryDerivativeMarketResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/derivative/markets/{market_id}\x12\xe7\x01\n\x17\x44\x65rivativeMarketAddress\x12?.injective.exchange.v1beta1.QueryDerivativeMarketAddressRequest\x1a@.injective.exchange.v1beta1.QueryDerivativeMarketAddressResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/derivative/market_address/{market_id}\x12\xd1\x01\n\x14SubaccountTradeNonce\x12<.injective.exchange.v1beta1.QuerySubaccountTradeNonceRequest\x1a=.injective.exchange.v1beta1.QuerySubaccountTradeNonceResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/exchange/{subaccount_id}\x12\xb2\x01\n\x13\x45xchangeModuleState\x12\x33.injective.exchange.v1beta1.QueryModuleStateRequest\x1a\x34.injective.exchange.v1beta1.QueryModuleStateResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/module_state\x12\xa1\x01\n\tPositions\x12\x31.injective.exchange.v1beta1.QueryPositionsRequest\x1a\x32.injective.exchange.v1beta1.QueryPositionsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v1beta1/positions\x12\xcf\x01\n\x13SubaccountPositions\x12;.injective.exchange.v1beta1.QuerySubaccountPositionsRequest\x1a<.injective.exchange.v1beta1.QuerySubaccountPositionsResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/positions/{subaccount_id}\x12\xf0\x01\n\x1aSubaccountPositionInMarket\x12\x42.injective.exchange.v1beta1.QuerySubaccountPositionInMarketRequest\x1a\x43.injective.exchange.v1beta1.QuerySubaccountPositionInMarketResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}\x12\x95\x02\n#SubaccountEffectivePositionInMarket\x12K.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketRequest\x1aL.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketResponse\"S\x82\xd3\xe4\x93\x02M\x12K/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}\x12\xd7\x01\n\x13PerpetualMarketInfo\x12;.injective.exchange.v1beta1.QueryPerpetualMarketInfoRequest\x1a<.injective.exchange.v1beta1.QueryPerpetualMarketInfoResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/perpetual_market_info/{market_id}\x12\xe0\x01\n\x17\x45xpiryFuturesMarketInfo\x12?.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoRequest\x1a@.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/expiry_market_info/{market_id}\x12\xe3\x01\n\x16PerpetualMarketFunding\x12>.injective.exchange.v1beta1.QueryPerpetualMarketFundingRequest\x1a?.injective.exchange.v1beta1.QueryPerpetualMarketFundingResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/perpetual_market_funding/{market_id}\x12\xe0\x01\n\x17SubaccountOrderMetadata\x12?.injective.exchange.v1beta1.QuerySubaccountOrderMetadataRequest\x1a@.injective.exchange.v1beta1.QuerySubaccountOrderMetadataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/order_metadata/{subaccount_id}\x12\xc3\x01\n\x11TradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/trade_reward_points\x12\xd2\x01\n\x18PendingTradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/pending_trade_reward_points\x12\xcb\x01\n\x13TradeRewardCampaign\x12;.injective.exchange.v1beta1.QueryTradeRewardCampaignRequest\x1a<.injective.exchange.v1beta1.QueryTradeRewardCampaignResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/trade_reward_campaign\x12\xe2\x01\n\x16\x46\x65\x65\x44iscountAccountInfo\x12>.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoRequest\x1a?.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v1beta1/fee_discount_account_info/{account}\x12\xcb\x01\n\x13\x46\x65\x65\x44iscountSchedule\x12;.injective.exchange.v1beta1.QueryFeeDiscountScheduleRequest\x1a<.injective.exchange.v1beta1.QueryFeeDiscountScheduleResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/fee_discount_schedule\x12\xd0\x01\n\x11\x42\x61lanceMismatches\x12\x39.injective.exchange.v1beta1.QueryBalanceMismatchesRequest\x1a:.injective.exchange.v1beta1.QueryBalanceMismatchesResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryHistoricalTradeRecordsRequest\x1a?.injective.exchange.v1beta1.QueryHistoricalTradeRecordsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/historical_trade_records\x12\xd7\x01\n\x13IsOptedOutOfRewards\x12;.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsRequest\x1a<.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}\x12\xe5\x01\n\x19OptedOutOfRewardsAccounts\x12\x41.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsRequest\x1a\x42.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/opted_out_of_rewards_accounts\x12\xca\x01\n\x10MarketVolatility\x12\x38.injective.exchange.v1beta1.QueryMarketVolatilityRequest\x1a\x39.injective.exchange.v1beta1.QueryMarketVolatilityResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/market_volatility/{market_id}\x12\xc1\x01\n\x14\x42inaryOptionsMarkets\x12\x35.injective.exchange.v1beta1.QueryBinaryMarketsRequest\x1a\x36.injective.exchange.v1beta1.QueryBinaryMarketsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/binary_options/markets\x12\x99\x02\n!TraderDerivativeConditionalOrders\x12I.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersRequest\x1aJ.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse\"]\x82\xd3\xe4\x93\x02W\x12U/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xfe\x01\n\"MarketAtomicExecutionFeeMultiplier\x12J.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest\x1aK.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/atomic_order_fee_multiplier\x12\xc9\x01\n\x10\x41\x63tiveStakeGrant\x12\x38.injective.exchange.v1beta1.QueryActiveStakeGrantRequest\x1a\x39.injective.exchange.v1beta1.QueryActiveStakeGrantResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/active_stake_grant/{grantee}\x12\xda\x01\n\x12GrantAuthorization\x12:.injective.exchange.v1beta1.QueryGrantAuthorizationRequest\x1a;.injective.exchange.v1beta1.QueryGrantAuthorizationResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}\x12\xd4\x01\n\x13GrantAuthorizations\x12;.injective.exchange.v1beta1.QueryGrantAuthorizationsRequest\x1a<.injective.exchange.v1beta1.QueryGrantAuthorizationsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/grant_authorizations/{granter}B\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nQueryProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -151,12 +151,20 @@ _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isBuy']._serialized_options = b'\352\336\037\005isBuy' _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._loaded_options = None _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._serialized_options = b'\352\336\037\007isLimit' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._loaded_options = None _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._loaded_options = None _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._loaded_options = None _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._serialized_options = b'\202\323\344\223\002@\022>/injective/exchange/v1beta1/derivative/L3OrderBook/{market_id}' + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._serialized_options = b'\202\323\344\223\002:\0228/injective/exchange/v1beta1/spot/L3OrderBook/{market_id}' _globals['_QUERY'].methods_by_name['QueryExchangeParams']._loaded_options = None _globals['_QUERY'].methods_by_name['QueryExchangeParams']._serialized_options = b'\202\323\344\223\002,\022*/injective/exchange/v1beta1/exchangeParams' _globals['_QUERY'].methods_by_name['SubaccountDeposits']._loaded_options = None @@ -277,10 +285,10 @@ _globals['_QUERY'].methods_by_name['GrantAuthorization']._serialized_options = b'\202\323\344\223\002E\022C/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}' _globals['_QUERY'].methods_by_name['GrantAuthorizations']._loaded_options = None _globals['_QUERY'].methods_by_name['GrantAuthorizations']._serialized_options = b'\202\323\344\223\002<\022:/injective/exchange/v1beta1/grant_authorizations/{granter}' - _globals['_ORDERSIDE']._serialized_start=17324 - _globals['_ORDERSIDE']._serialized_end=17376 - _globals['_CANCELLATIONSTRATEGY']._serialized_start=17378 - _globals['_CANCELLATIONSTRATEGY']._serialized_end=17464 + _globals['_ORDERSIDE']._serialized_start=18012 + _globals['_ORDERSIDE']._serialized_end=18064 + _globals['_CANCELLATIONSTRATEGY']._serialized_start=18066 + _globals['_CANCELLATIONSTRATEGY']._serialized_end=18152 _globals['_SUBACCOUNT']._serialized_start=246 _globals['_SUBACCOUNT']._serialized_end=325 _globals['_QUERYSUBACCOUNTORDERSREQUEST']._serialized_start=327 @@ -527,22 +535,32 @@ _globals['_TRIMMEDDERIVATIVECONDITIONALORDER']._serialized_end=16322 _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_start=16325 _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_end=16460 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=16462 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=16539 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=16541 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=16659 - _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=16661 - _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=16717 - _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=16720 - _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=16899 - _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=16901 - _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=16985 - _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=16987 - _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17075 - _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17077 - _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17136 - _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17139 - _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=17322 - _globals['_QUERY']._serialized_start=17467 - _globals['_QUERY']._serialized_end=30472 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_start=16462 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_end=16522 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_start=16525 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_end=16691 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_start=16693 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_end=16759 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_start=16762 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_end=16934 + _globals['_TRIMMEDLIMITORDER']._serialized_start=16937 + _globals['_TRIMMEDLIMITORDER']._serialized_end=17148 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=17150 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=17227 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=17229 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=17347 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=17349 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=17405 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=17408 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=17587 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=17589 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=17673 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=17675 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17763 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17765 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17824 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17827 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=18010 + _globals['_QUERY']._serialized_start=18155 + _globals['_QUERY']._serialized_end=31594 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py index c5aa407e..08ff9a3a 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py +++ b/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py @@ -15,6 +15,16 @@ def __init__(self, channel): Args: channel: A grpc.Channel. """ + self.L3DerivativeOrderBook = channel.unary_unary( + '/injective.exchange.v1beta1.Query/L3DerivativeOrderBook', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + _registered_method=True) + self.L3SpotOrderBook = channel.unary_unary( + '/injective.exchange.v1beta1.Query/L3SpotOrderBook', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + _registered_method=True) self.QueryExchangeParams = channel.unary_unary( '/injective.exchange.v1beta1.Query/QueryExchangeParams', request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryExchangeParamsRequest.SerializeToString, @@ -321,6 +331,18 @@ class QueryServicer(object): """Query defines the gRPC querier service. """ + def L3DerivativeOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def L3SpotOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def QueryExchangeParams(self, request, context): """Retrieves exchange params """ @@ -748,6 +770,16 @@ def GrantAuthorizations(self, request, context): def add_QueryServicer_to_server(servicer, server): rpc_method_handlers = { + 'L3DerivativeOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3DerivativeOrderBook, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.SerializeToString, + ), + 'L3SpotOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3SpotOrderBook, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.SerializeToString, + ), 'QueryExchangeParams': grpc.unary_unary_rpc_method_handler( servicer.QueryExchangeParams, request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryExchangeParamsRequest.FromString, @@ -1060,6 +1092,60 @@ class Query(object): """Query defines the gRPC querier service. """ + @staticmethod + def L3DerivativeOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/L3DerivativeOrderBook', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def L3SpotOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/L3SpotOrderBook', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def QueryExchangeParams(request, target, diff --git a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py index 1308b852..b01bac0c 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py @@ -22,7 +22,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v1beta1/tx.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa7\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:3\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\xf7\x04\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12@\n\x06params\x18\x02 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xae\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x06orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbf\x03\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\xb1\x07\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\x89\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xd1\x07\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xb0\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xb1\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12R\n\x07results\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc2\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xca\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x06orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xaa\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf2\x07\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12^\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12j\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12^\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12p\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12q\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12w\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\x88\x06\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbe\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xbd\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf0\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12V\n\x0eposition_delta\x18\x04 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc4\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xc0\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb6\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe8\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12G\n\x05order\x18\x04 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"x\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x8c\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12@\n\x06status\x18\x06 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xab\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse2\xd0\'\n\x03Msg\x12\x61\n\x07\x44\x65posit\x12&.injective.exchange.v1beta1.MsgDeposit\x1a..injective.exchange.v1beta1.MsgDepositResponse\x12\x64\n\x08Withdraw\x12\'.injective.exchange.v1beta1.MsgWithdraw\x1a/.injective.exchange.v1beta1.MsgWithdrawResponse\x12\x91\x01\n\x17InstantSpotMarketLaunch\x12\x36.injective.exchange.v1beta1.MsgInstantSpotMarketLaunch\x1a>.injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse\x12\xa0\x01\n\x1cInstantPerpetualMarketLaunch\x12;.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch\x1a\x43.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse\x12\xac\x01\n InstantExpiryFuturesMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse\x12\x88\x01\n\x14\x43reateSpotLimitOrder\x12\x33.injective.exchange.v1beta1.MsgCreateSpotLimitOrder\x1a;.injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse\x12\x9a\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x39.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders\x1a\x41.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse\x12\x8b\x01\n\x15\x43reateSpotMarketOrder\x12\x34.injective.exchange.v1beta1.MsgCreateSpotMarketOrder\x1a<.injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\x12y\n\x0f\x43\x61ncelSpotOrder\x12..injective.exchange.v1beta1.MsgCancelSpotOrder\x1a\x36.injective.exchange.v1beta1.MsgCancelSpotOrderResponse\x12\x8b\x01\n\x15\x42\x61tchCancelSpotOrders\x12\x34.injective.exchange.v1beta1.MsgBatchCancelSpotOrders\x1a<.injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse\x12\x7f\n\x11\x42\x61tchUpdateOrders\x12\x30.injective.exchange.v1beta1.MsgBatchUpdateOrders\x1a\x38.injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse\x12\x97\x01\n\x19PrivilegedExecuteContract\x12\x38.injective.exchange.v1beta1.MsgPrivilegedExecuteContract\x1a@.injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse\x12\x9a\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x39.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder\x1a\x41.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse\x12\xac\x01\n BatchCreateDerivativeLimitOrders\x12?.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders\x1aG.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x9d\x01\n\x1b\x43reateDerivativeMarketOrder\x12:.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder\x1a\x42.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse\x12\x8b\x01\n\x15\x43\x61ncelDerivativeOrder\x12\x34.injective.exchange.v1beta1.MsgCancelDerivativeOrder\x1a<.injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse\x12\x9d\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12:.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders\x1a\x42.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse\x12\xac\x01\n InstantBinaryOptionsMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse\x12\xa3\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12<.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder\x1a\x44.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse\x12\xa6\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12=.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder\x1a\x45.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse\x12\x94\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x37.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder\x1a?.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse\x12\xa6\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12=.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders\x1a\x45.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse\x12\x82\x01\n\x12SubaccountTransfer\x12\x31.injective.exchange.v1beta1.MsgSubaccountTransfer\x1a\x39.injective.exchange.v1beta1.MsgSubaccountTransferResponse\x12|\n\x10\x45xternalTransfer\x12/.injective.exchange.v1beta1.MsgExternalTransfer\x1a\x37.injective.exchange.v1beta1.MsgExternalTransferResponse\x12\x7f\n\x11LiquidatePosition\x12\x30.injective.exchange.v1beta1.MsgLiquidatePosition\x1a\x38.injective.exchange.v1beta1.MsgLiquidatePositionResponse\x12\x8b\x01\n\x15\x45mergencySettleMarket\x12\x34.injective.exchange.v1beta1.MsgEmergencySettleMarket\x1a<.injective.exchange.v1beta1.MsgEmergencySettleMarketResponse\x12\x8e\x01\n\x16IncreasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgIncreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgIncreasePositionMarginResponse\x12\x8e\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgDecreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgDecreasePositionMarginResponse\x12s\n\rRewardsOptOut\x12,.injective.exchange.v1beta1.MsgRewardsOptOut\x1a\x34.injective.exchange.v1beta1.MsgRewardsOptOutResponse\x12\xa6\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12=.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket\x1a\x45.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse\x12p\n\x0cUpdateParams\x12+.injective.exchange.v1beta1.MsgUpdateParams\x1a\x33.injective.exchange.v1beta1.MsgUpdateParamsResponse\x12|\n\x10UpdateSpotMarket\x12/.injective.exchange.v1beta1.MsgUpdateSpotMarket\x1a\x37.injective.exchange.v1beta1.MsgUpdateSpotMarketResponse\x12\x8e\x01\n\x16UpdateDerivativeMarket\x12\x35.injective.exchange.v1beta1.MsgUpdateDerivativeMarket\x1a=.injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse\x12\x88\x01\n\x14\x41uthorizeStakeGrants\x12\x33.injective.exchange.v1beta1.MsgAuthorizeStakeGrants\x1a;.injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse\x12\x82\x01\n\x12\x41\x63tivateStakeGrant\x12\x31.injective.exchange.v1beta1.MsgActivateStakeGrant\x1a\x39.injective.exchange.v1beta1.MsgActivateStakeGrantResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x83\x02\n\x1e\x63om.injective.exchange.v1beta1B\x07TxProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v1beta1/tx.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa7\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:3\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\xf7\x04\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12@\n\x06params\x18\x02 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xae\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x06orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8b\x04\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12#\n\rbase_decimals\x18\x08 \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\t \x01(\rR\rquoteDecimals:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\xb1\x07\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\x89\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xd1\x07\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xb0\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xb1\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12R\n\x07results\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc2\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xca\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x06orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xaa\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf2\x07\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12^\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12j\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12^\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12p\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12q\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12w\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\x88\x06\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbe\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xbd\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf0\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12V\n\x0eposition_delta\x18\x04 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc4\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xc0\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb6\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe8\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12G\n\x05order\x18\x04 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"x\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x8c\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12@\n\x06status\x18\x06 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xab\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse2\xd0\'\n\x03Msg\x12\x61\n\x07\x44\x65posit\x12&.injective.exchange.v1beta1.MsgDeposit\x1a..injective.exchange.v1beta1.MsgDepositResponse\x12\x64\n\x08Withdraw\x12\'.injective.exchange.v1beta1.MsgWithdraw\x1a/.injective.exchange.v1beta1.MsgWithdrawResponse\x12\x91\x01\n\x17InstantSpotMarketLaunch\x12\x36.injective.exchange.v1beta1.MsgInstantSpotMarketLaunch\x1a>.injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse\x12\xa0\x01\n\x1cInstantPerpetualMarketLaunch\x12;.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch\x1a\x43.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse\x12\xac\x01\n InstantExpiryFuturesMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse\x12\x88\x01\n\x14\x43reateSpotLimitOrder\x12\x33.injective.exchange.v1beta1.MsgCreateSpotLimitOrder\x1a;.injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse\x12\x9a\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x39.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders\x1a\x41.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse\x12\x8b\x01\n\x15\x43reateSpotMarketOrder\x12\x34.injective.exchange.v1beta1.MsgCreateSpotMarketOrder\x1a<.injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\x12y\n\x0f\x43\x61ncelSpotOrder\x12..injective.exchange.v1beta1.MsgCancelSpotOrder\x1a\x36.injective.exchange.v1beta1.MsgCancelSpotOrderResponse\x12\x8b\x01\n\x15\x42\x61tchCancelSpotOrders\x12\x34.injective.exchange.v1beta1.MsgBatchCancelSpotOrders\x1a<.injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse\x12\x7f\n\x11\x42\x61tchUpdateOrders\x12\x30.injective.exchange.v1beta1.MsgBatchUpdateOrders\x1a\x38.injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse\x12\x97\x01\n\x19PrivilegedExecuteContract\x12\x38.injective.exchange.v1beta1.MsgPrivilegedExecuteContract\x1a@.injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse\x12\x9a\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x39.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder\x1a\x41.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse\x12\xac\x01\n BatchCreateDerivativeLimitOrders\x12?.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders\x1aG.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x9d\x01\n\x1b\x43reateDerivativeMarketOrder\x12:.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder\x1a\x42.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse\x12\x8b\x01\n\x15\x43\x61ncelDerivativeOrder\x12\x34.injective.exchange.v1beta1.MsgCancelDerivativeOrder\x1a<.injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse\x12\x9d\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12:.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders\x1a\x42.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse\x12\xac\x01\n InstantBinaryOptionsMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse\x12\xa3\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12<.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder\x1a\x44.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse\x12\xa6\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12=.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder\x1a\x45.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse\x12\x94\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x37.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder\x1a?.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse\x12\xa6\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12=.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders\x1a\x45.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse\x12\x82\x01\n\x12SubaccountTransfer\x12\x31.injective.exchange.v1beta1.MsgSubaccountTransfer\x1a\x39.injective.exchange.v1beta1.MsgSubaccountTransferResponse\x12|\n\x10\x45xternalTransfer\x12/.injective.exchange.v1beta1.MsgExternalTransfer\x1a\x37.injective.exchange.v1beta1.MsgExternalTransferResponse\x12\x7f\n\x11LiquidatePosition\x12\x30.injective.exchange.v1beta1.MsgLiquidatePosition\x1a\x38.injective.exchange.v1beta1.MsgLiquidatePositionResponse\x12\x8b\x01\n\x15\x45mergencySettleMarket\x12\x34.injective.exchange.v1beta1.MsgEmergencySettleMarket\x1a<.injective.exchange.v1beta1.MsgEmergencySettleMarketResponse\x12\x8e\x01\n\x16IncreasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgIncreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgIncreasePositionMarginResponse\x12\x8e\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgDecreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgDecreasePositionMarginResponse\x12s\n\rRewardsOptOut\x12,.injective.exchange.v1beta1.MsgRewardsOptOut\x1a\x34.injective.exchange.v1beta1.MsgRewardsOptOutResponse\x12\xa6\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12=.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket\x1a\x45.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse\x12p\n\x0cUpdateParams\x12+.injective.exchange.v1beta1.MsgUpdateParams\x1a\x33.injective.exchange.v1beta1.MsgUpdateParamsResponse\x12|\n\x10UpdateSpotMarket\x12/.injective.exchange.v1beta1.MsgUpdateSpotMarket\x1a\x37.injective.exchange.v1beta1.MsgUpdateSpotMarketResponse\x12\x8e\x01\n\x16UpdateDerivativeMarket\x12\x35.injective.exchange.v1beta1.MsgUpdateDerivativeMarket\x1a=.injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse\x12\x88\x01\n\x14\x41uthorizeStakeGrants\x12\x33.injective.exchange.v1beta1.MsgAuthorizeStakeGrants\x1a;.injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse\x12\x82\x01\n\x12\x41\x63tivateStakeGrant\x12\x31.injective.exchange.v1beta1.MsgActivateStakeGrant\x1a\x39.injective.exchange.v1beta1.MsgActivateStakeGrantResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x83\x02\n\x1e\x63om.injective.exchange.v1beta1B\x07TxProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -309,131 +309,131 @@ _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_start=2530 _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_end=2708 _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_start=2711 - _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3158 - _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3160 - _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3196 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3199 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=4144 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=4146 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=4187 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=4190 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=5095 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=5097 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=5142 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=5145 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=6122 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=6124 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=6169 - _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=6172 - _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=6348 - _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=6351 - _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=6528 - _globals['_SPOTMARKETORDERRESULTS']._serialized_start=6531 - _globals['_SPOTMARKETORDERRESULTS']._serialized_end=6744 - _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=6747 - _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=6935 - _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=6937 - _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=7035 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=7038 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=7232 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=7234 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=7335 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=7338 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=7540 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=7543 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=7727 - _globals['_MSGCANCELSPOTORDER']._serialized_start=7730 - _globals['_MSGCANCELSPOTORDER']._serialized_end=7938 - _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=7940 - _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=7968 - _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=7971 - _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=8141 - _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=8143 - _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=8213 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=8216 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=8404 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=8406 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=8485 - _globals['_MSGBATCHUPDATEORDERS']._serialized_start=8488 - _globals['_MSGBATCHUPDATEORDERS']._serialized_end=9498 - _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=9501 - _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=10277 - _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=10280 - _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=10470 - _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=10473 - _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=10662 - _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=10665 - _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=11033 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=11036 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=11232 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=11235 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=11427 - _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=11430 - _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=11681 - _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=11683 - _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=11717 - _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=11720 - _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=11977 - _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=11979 - _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=12016 - _globals['_ORDERDATA']._serialized_start=12019 - _globals['_ORDERDATA']._serialized_end=12176 - _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=12179 - _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=12361 - _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=12363 - _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=12439 - _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=12442 - _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=12704 - _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=12706 - _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=12737 - _globals['_MSGEXTERNALTRANSFER']._serialized_start=12740 - _globals['_MSGEXTERNALTRANSFER']._serialized_end=12998 - _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=13000 - _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=13029 - _globals['_MSGLIQUIDATEPOSITION']._serialized_start=13032 - _globals['_MSGLIQUIDATEPOSITION']._serialized_end=13264 - _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=13266 - _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=13296 - _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=13299 - _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=13466 - _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=13468 - _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=13502 - _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=13505 - _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=13808 - _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=13810 - _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=13845 - _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=13848 - _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=14151 - _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=14153 - _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=14188 - _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=14191 - _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=14393 - _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=14396 - _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=14563 - _globals['_MSGREWARDSOPTOUT']._serialized_start=14565 - _globals['_MSGREWARDSOPTOUT']._serialized_end=14658 - _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=14660 - _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=14686 - _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=14689 - _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=14864 - _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=14866 - _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=14897 - _globals['_MSGSIGNDATA']._serialized_start=14900 - _globals['_MSGSIGNDATA']._serialized_end=15028 - _globals['_MSGSIGNDOC']._serialized_start=15030 - _globals['_MSGSIGNDOC']._serialized_end=15150 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=15153 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=15549 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=15551 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=15594 - _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=15597 - _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=15768 - _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=15770 - _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=15803 - _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=15805 - _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=15926 - _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=15928 - _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=15959 - _globals['_MSG']._serialized_start=15962 - _globals['_MSG']._serialized_end=21034 + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3234 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3236 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3272 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3275 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=4220 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=4222 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=4263 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=4266 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=5171 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=5173 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=5218 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=5221 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=6198 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=6200 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=6245 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=6248 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=6424 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=6427 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=6604 + _globals['_SPOTMARKETORDERRESULTS']._serialized_start=6607 + _globals['_SPOTMARKETORDERRESULTS']._serialized_end=6820 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=6823 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=7011 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=7013 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=7111 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=7114 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=7308 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=7310 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=7411 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=7414 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=7616 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=7619 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=7803 + _globals['_MSGCANCELSPOTORDER']._serialized_start=7806 + _globals['_MSGCANCELSPOTORDER']._serialized_end=8014 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=8016 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=8044 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=8047 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=8217 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=8219 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=8289 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=8292 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=8480 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=8482 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=8561 + _globals['_MSGBATCHUPDATEORDERS']._serialized_start=8564 + _globals['_MSGBATCHUPDATEORDERS']._serialized_end=9574 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=9577 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=10353 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=10356 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=10546 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=10549 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=10738 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=10741 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=11109 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=11112 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=11308 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=11311 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=11503 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=11506 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=11757 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=11759 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=11793 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=11796 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=12053 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=12055 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=12092 + _globals['_ORDERDATA']._serialized_start=12095 + _globals['_ORDERDATA']._serialized_end=12252 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=12255 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=12437 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=12439 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=12515 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=12518 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=12780 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=12782 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=12813 + _globals['_MSGEXTERNALTRANSFER']._serialized_start=12816 + _globals['_MSGEXTERNALTRANSFER']._serialized_end=13074 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=13076 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=13105 + _globals['_MSGLIQUIDATEPOSITION']._serialized_start=13108 + _globals['_MSGLIQUIDATEPOSITION']._serialized_end=13340 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=13342 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=13372 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=13375 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=13542 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=13544 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=13578 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=13581 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=13884 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=13886 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=13921 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=13924 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=14227 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=14229 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=14264 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=14267 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=14469 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=14472 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=14639 + _globals['_MSGREWARDSOPTOUT']._serialized_start=14641 + _globals['_MSGREWARDSOPTOUT']._serialized_end=14734 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=14736 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=14762 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=14765 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=14940 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=14942 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=14973 + _globals['_MSGSIGNDATA']._serialized_start=14976 + _globals['_MSGSIGNDATA']._serialized_end=15104 + _globals['_MSGSIGNDOC']._serialized_start=15106 + _globals['_MSGSIGNDOC']._serialized_end=15226 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=15229 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=15625 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=15627 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=15670 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=15673 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=15844 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=15846 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=15879 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=15881 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=16002 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=16004 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=16035 + _globals['_MSG']._serialized_start=16038 + _globals['_MSG']._serialized_end=21110 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py index 6fa1a73a..e3ed2f66 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as injective_dot_permissions_dot_v1beta1_dot_permissions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/permissions/v1beta1/genesis.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\xa3\x01\n\x0cGenesisState\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12N\n\nnamespaces\x18\x02 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\nnamespacesB\x9a\x02\n!com.injective.permissions.v1beta1B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/permissions/v1beta1/genesis.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\xee\x01\n\x0cGenesisState\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12N\n\nnamespaces\x18\x02 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\nnamespaces\x12I\n\x08vouchers\x18\x03 \x03(\x0b\x32-.injective.permissions.v1beta1.AddressVoucherR\x08vouchersB\x9a\x02\n!com.injective.permissions.v1beta1B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -30,5 +30,5 @@ _globals['_GENESISSTATE'].fields_by_name['namespaces']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['namespaces']._serialized_options = b'\310\336\037\000' _globals['_GENESISSTATE']._serialized_start=194 - _globals['_GENESISSTATE']._serialized_end=357 + _globals['_GENESISSTATE']._serialized_end=432 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py index cab8953a..205a3f6f 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py @@ -12,11 +12,11 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/injective/permissions/v1beta1/permissions.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\xc9\x02\n\tNamespace\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1b\n\twasm_hook\x18\x02 \x01(\tR\x08wasmHook\x12!\n\x0cmints_paused\x18\x03 \x01(\x08R\x0bmintsPaused\x12!\n\x0csends_paused\x18\x04 \x01(\x08R\x0bsendsPaused\x12!\n\x0c\x62urns_paused\x18\x05 \x01(\x08R\x0b\x62urnsPaused\x12N\n\x10role_permissions\x18\x06 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12P\n\raddress_roles\x18\x07 \x03(\x0b\x32+.injective.permissions.v1beta1.AddressRolesR\x0c\x61\x64\x64ressRoles\">\n\x0c\x41\x64\x64ressRoles\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"<\n\x04Role\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12 \n\x0bpermissions\x18\x02 \x01(\rR\x0bpermissions\"$\n\x07RoleIDs\x12\x19\n\x08role_ids\x18\x01 \x03(\rR\x07roleIds\"l\n\x07Voucher\x12\x61\n\x05\x63oins\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x05\x63oins\"l\n\x0e\x41\x64\x64ressVoucher\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12@\n\x07voucher\x18\x02 \x01(\x0b\x32&.injective.permissions.v1beta1.VoucherR\x07voucher*:\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MINT\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x08\n\x04\x42URN\x10\x04\x42\x9e\x02\n!com.injective.permissions.v1beta1B\x10PermissionsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/injective/permissions/v1beta1/permissions.proto\x12\x1dinjective.permissions.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\"\x81\x04\n\tNamespace\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12#\n\rcontract_hook\x18\x02 \x01(\tR\x0c\x63ontractHook\x12N\n\x10role_permissions\x18\x03 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12J\n\x0b\x61\x63tor_roles\x18\x04 \x03(\x0b\x32).injective.permissions.v1beta1.ActorRolesR\nactorRoles\x12O\n\rrole_managers\x18\x05 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\x12T\n\x0fpolicy_statuses\x18\x06 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\x12v\n\x1bpolicy_manager_capabilities\x18\x07 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\"8\n\nActorRoles\x12\x14\n\x05\x61\x63tor\x18\x01 \x01(\tR\x05\x61\x63tor\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"8\n\nRoleActors\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12\x16\n\x06\x61\x63tors\x18\x02 \x03(\tR\x06\x61\x63tors\"=\n\x0bRoleManager\x12\x18\n\x07manager\x18\x01 \x01(\tR\x07manager\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"\x8b\x01\n\x0cPolicyStatus\x12=\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32%.injective.permissions.v1beta1.ActionR\x06\x61\x63tion\x12\x1f\n\x0bis_disabled\x18\x02 \x01(\x08R\nisDisabled\x12\x1b\n\tis_sealed\x18\x03 \x01(\x08R\x08isSealed\"U\n\x04Role\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n\x07role_id\x18\x02 \x01(\rR\x06roleId\x12 \n\x0bpermissions\x18\x03 \x01(\rR\x0bpermissions\"\xae\x01\n\x17PolicyManagerCapability\x12\x18\n\x07manager\x18\x01 \x01(\tR\x07manager\x12=\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32%.injective.permissions.v1beta1.ActionR\x06\x61\x63tion\x12\x1f\n\x0b\x63\x61n_disable\x18\x03 \x01(\x08R\ncanDisable\x12\x19\n\x08\x63\x61n_seal\x18\x04 \x01(\x08R\x07\x63\x61nSeal\"$\n\x07RoleIDs\x12\x19\n\x08role_ids\x18\x01 \x03(\rR\x07roleIds\"l\n\x07Voucher\x12\x61\n\x05\x63oins\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x05\x63oins\"\xa5\x01\n\x0e\x41\x64\x64ressVoucher\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12y\n\x07voucher\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinBD\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.Coin\xea\xde\x1f\x11voucher,omitemptyR\x07voucher*\xd0\x01\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MINT\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x08\n\x04\x42URN\x10\x04\x12\x08\n\x04SEND\x10\x08\x12\x0e\n\nSUPER_BURN\x10\x10\x12\x1d\n\x16MODIFY_POLICY_MANAGERS\x10\x80\x80\x80@\x12\x1c\n\x14MODIFY_CONTRACT_HOOK\x10\x80\x80\x80\x80\x01\x12\x1f\n\x17MODIFY_ROLE_PERMISSIONS\x10\x80\x80\x80\x80\x02\x12\x1c\n\x14MODIFY_ROLE_MANAGERS\x10\x80\x80\x80\x80\x04\x42\x9e\x02\n!com.injective.permissions.v1beta1B\x10PermissionsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,18 +26,28 @@ _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\020PermissionsProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' _globals['_VOUCHER'].fields_by_name['coins']._loaded_options = None _globals['_VOUCHER'].fields_by_name['coins']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' - _globals['_ACTION']._serialized_start=852 - _globals['_ACTION']._serialized_end=910 + _globals['_ADDRESSVOUCHER'].fields_by_name['voucher']._loaded_options = None + _globals['_ADDRESSVOUCHER'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin\352\336\037\021voucher,omitempty' + _globals['_ACTION']._serialized_start=1554 + _globals['_ACTION']._serialized_end=1762 _globals['_NAMESPACE']._serialized_start=137 - _globals['_NAMESPACE']._serialized_end=466 - _globals['_ADDRESSROLES']._serialized_start=468 - _globals['_ADDRESSROLES']._serialized_end=530 - _globals['_ROLE']._serialized_start=532 - _globals['_ROLE']._serialized_end=592 - _globals['_ROLEIDS']._serialized_start=594 - _globals['_ROLEIDS']._serialized_end=630 - _globals['_VOUCHER']._serialized_start=632 - _globals['_VOUCHER']._serialized_end=740 - _globals['_ADDRESSVOUCHER']._serialized_start=742 - _globals['_ADDRESSVOUCHER']._serialized_end=850 + _globals['_NAMESPACE']._serialized_end=650 + _globals['_ACTORROLES']._serialized_start=652 + _globals['_ACTORROLES']._serialized_end=708 + _globals['_ROLEACTORS']._serialized_start=710 + _globals['_ROLEACTORS']._serialized_end=766 + _globals['_ROLEMANAGER']._serialized_start=768 + _globals['_ROLEMANAGER']._serialized_end=829 + _globals['_POLICYSTATUS']._serialized_start=832 + _globals['_POLICYSTATUS']._serialized_end=971 + _globals['_ROLE']._serialized_start=973 + _globals['_ROLE']._serialized_end=1058 + _globals['_POLICYMANAGERCAPABILITY']._serialized_start=1061 + _globals['_POLICYMANAGERCAPABILITY']._serialized_end=1235 + _globals['_ROLEIDS']._serialized_start=1237 + _globals['_ROLEIDS']._serialized_end=1273 + _globals['_VOUCHER']._serialized_start=1275 + _globals['_VOUCHER']._serialized_end=1383 + _globals['_ADDRESSVOUCHER']._serialized_start=1386 + _globals['_ADDRESSVOUCHER']._serialized_end=1551 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py index a03ce809..9a189f68 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as injective_dot_permissions_dot_v1beta1_dot_permissions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/permissions/v1beta1/query.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*injective/permissions/v1beta1/params.proto\x1a+injective/permissions/v1beta1/genesis.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\x14\n\x12QueryParamsRequest\"Z\n\x13QueryParamsResponse\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1b\n\x19QueryAllNamespacesRequest\"f\n\x1aQueryAllNamespacesResponse\x12H\n\nnamespaces\x18\x01 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\nnamespaces\"Y\n\x1cQueryNamespaceByDenomRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12#\n\rinclude_roles\x18\x02 \x01(\x08R\x0cincludeRoles\"g\n\x1dQueryNamespaceByDenomResponse\x12\x46\n\tnamespace\x18\x01 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\tnamespace\"G\n\x1bQueryAddressesByRoleRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\"<\n\x1cQueryAddressesByRoleResponse\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\"J\n\x18QueryAddressRolesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"1\n\x19QueryAddressRolesResponse\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\":\n\x1eQueryVouchersForAddressRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"\xa0\x01\n\x1fQueryVouchersForAddressResponse\x12}\n\x08vouchers\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinBF\xc8\xde\x1f\x00\xea\xde\x1f\x12vouchers,omitempty\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08vouchers2\x89\t\n\x05Query\x12\x9e\x01\n\x06Params\x12\x31.injective.permissions.v1beta1.QueryParamsRequest\x1a\x32.injective.permissions.v1beta1.QueryParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/permissions/v1beta1/params\x12\xbb\x01\n\rAllNamespaces\x12\x38.injective.permissions.v1beta1.QueryAllNamespacesRequest\x1a\x39.injective.permissions.v1beta1.QueryAllNamespacesResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/permissions/v1beta1/all_namespaces\x12\xc8\x01\n\x10NamespaceByDenom\x12;.injective.permissions.v1beta1.QueryNamespaceByDenomRequest\x1a<.injective.permissions.v1beta1.QueryNamespaceByDenomResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/permissions/v1beta1/namespace_by_denom\x12\xbb\x01\n\x0c\x41\x64\x64ressRoles\x12\x37.injective.permissions.v1beta1.QueryAddressRolesRequest\x1a\x38.injective.permissions.v1beta1.QueryAddressRolesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/addresses_by_role\x12\xc4\x01\n\x0f\x41\x64\x64ressesByRole\x12:.injective.permissions.v1beta1.QueryAddressesByRoleRequest\x1a;.injective.permissions.v1beta1.QueryAddressesByRoleResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/addresses_by_role\x12\xd0\x01\n\x12VouchersForAddress\x12=.injective.permissions.v1beta1.QueryVouchersForAddressRequest\x1a>.injective.permissions.v1beta1.QueryVouchersForAddressResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/permissions/v1beta1/vouchers_for_addressB\x98\x02\n!com.injective.permissions.v1beta1B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/permissions/v1beta1/query.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*injective/permissions/v1beta1/params.proto\x1a+injective/permissions/v1beta1/genesis.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\x14\n\x12QueryParamsRequest\"Z\n\x13QueryParamsResponse\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1d\n\x1bQueryNamespaceDenomsRequest\"6\n\x1cQueryNamespaceDenomsResponse\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"\x18\n\x16QueryNamespacesRequest\"c\n\x17QueryNamespacesResponse\x12H\n\nnamespaces\x18\x01 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\nnamespaces\"-\n\x15QueryNamespaceRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"`\n\x16QueryNamespaceResponse\x12\x46\n\tnamespace\x18\x01 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\tnamespace\"D\n\x18QueryActorsByRoleRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\"3\n\x19QueryActorsByRoleResponse\x12\x16\n\x06\x61\x63tors\x18\x01 \x03(\tR\x06\x61\x63tors\"F\n\x18QueryRolesByActorRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x14\n\x05\x61\x63tor\x18\x02 \x01(\tR\x05\x61\x63tor\"1\n\x19QueryRolesByActorResponse\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\"0\n\x18QueryRoleManagersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"l\n\x19QueryRoleManagersResponse\x12O\n\rrole_managers\x18\x01 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\"I\n\x17QueryRoleManagerRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07manager\x18\x02 \x01(\tR\x07manager\"i\n\x18QueryRoleManagerResponse\x12M\n\x0crole_manager\x18\x01 \x01(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0broleManager\"2\n\x1aQueryPolicyStatusesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"s\n\x1bQueryPolicyStatusesResponse\x12T\n\x0fpolicy_statuses\x18\x01 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\"=\n%QueryPolicyManagerCapabilitiesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"\xa0\x01\n&QueryPolicyManagerCapabilitiesResponse\x12v\n\x1bpolicy_manager_capabilities\x18\x01 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\",\n\x14QueryVouchersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"b\n\x15QueryVouchersResponse\x12I\n\x08vouchers\x18\x01 \x03(\x0b\x32-.injective.permissions.v1beta1.AddressVoucherR\x08vouchers\"E\n\x13QueryVoucherRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"\x91\x01\n\x14QueryVoucherResponse\x12y\n\x07voucher\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinBD\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.Coin\xea\xde\x1f\x11voucher,omitemptyR\x07voucher\"\x19\n\x17QueryModuleStateRequest\"]\n\x18QueryModuleStateResponse\x12\x41\n\x05state\x18\x01 \x01(\x0b\x32+.injective.permissions.v1beta1.GenesisStateR\x05state2\xdd\x13\n\x05Query\x12\x9e\x01\n\x06Params\x12\x31.injective.permissions.v1beta1.QueryParamsRequest\x1a\x32.injective.permissions.v1beta1.QueryParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/permissions/v1beta1/params\x12\xc3\x01\n\x0fNamespaceDenoms\x12:.injective.permissions.v1beta1.QueryNamespaceDenomsRequest\x1a;.injective.permissions.v1beta1.QueryNamespaceDenomsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/permissions/v1beta1/namespace_denoms\x12\xae\x01\n\nNamespaces\x12\x35.injective.permissions.v1beta1.QueryNamespacesRequest\x1a\x36.injective.permissions.v1beta1.QueryNamespacesResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/permissions/v1beta1/namespaces\x12\xb2\x01\n\tNamespace\x12\x34.injective.permissions.v1beta1.QueryNamespaceRequest\x1a\x35.injective.permissions.v1beta1.QueryNamespaceResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/namespace/{denom}\x12\xc8\x01\n\x0cRolesByActor\x12\x37.injective.permissions.v1beta1.QueryRolesByActorRequest\x1a\x38.injective.permissions.v1beta1.QueryRolesByActorResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/permissions/v1beta1/roles_by_actor/{denom}/{actor}\x12\xc7\x01\n\x0c\x41\x63torsByRole\x12\x37.injective.permissions.v1beta1.QueryActorsByRoleRequest\x1a\x38.injective.permissions.v1beta1.QueryActorsByRoleResponse\"D\x82\xd3\xe4\x93\x02>\x12\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/permissions/v1beta1/policy_statuses/{denom}\x12\xf4\x01\n\x19PolicyManagerCapabilities\x12\x44.injective.permissions.v1beta1.QueryPolicyManagerCapabilitiesRequest\x1a\x45.injective.permissions.v1beta1.QueryPolicyManagerCapabilitiesResponse\"J\x82\xd3\xe4\x93\x02\x44\x12\x42/injective/permissions/v1beta1/policy_manager_capabilities/{denom}\x12\xae\x01\n\x08Vouchers\x12\x33.injective.permissions.v1beta1.QueryVouchersRequest\x1a\x34.injective.permissions.v1beta1.QueryVouchersResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/permissions/v1beta1/vouchers/{denom}\x12\xb4\x01\n\x07Voucher\x12\x32.injective.permissions.v1beta1.QueryVoucherRequest\x1a\x33.injective.permissions.v1beta1.QueryVoucherResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/permissions/v1beta1/voucher/{denom}/{address}\x12\xbe\x01\n\x16PermissionsModuleState\x12\x36.injective.permissions.v1beta1.QueryModuleStateRequest\x1a\x37.injective.permissions.v1beta1.QueryModuleStateResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/permissions/v1beta1/module_stateB\x98\x02\n!com.injective.permissions.v1beta1B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -31,44 +31,86 @@ _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\nQueryProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE'].fields_by_name['vouchers']._loaded_options = None - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000\352\336\037\022vouchers,omitempty\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._loaded_options = None + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin\352\336\037\021voucher,omitempty' _globals['_QUERY'].methods_by_name['Params']._loaded_options = None _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\'\022%/injective/permissions/v1beta1/params' - _globals['_QUERY'].methods_by_name['AllNamespaces']._loaded_options = None - _globals['_QUERY'].methods_by_name['AllNamespaces']._serialized_options = b'\202\323\344\223\002/\022-/injective/permissions/v1beta1/all_namespaces' - _globals['_QUERY'].methods_by_name['NamespaceByDenom']._loaded_options = None - _globals['_QUERY'].methods_by_name['NamespaceByDenom']._serialized_options = b'\202\323\344\223\0023\0221/injective/permissions/v1beta1/namespace_by_denom' - _globals['_QUERY'].methods_by_name['AddressRoles']._loaded_options = None - _globals['_QUERY'].methods_by_name['AddressRoles']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/addresses_by_role' - _globals['_QUERY'].methods_by_name['AddressesByRole']._loaded_options = None - _globals['_QUERY'].methods_by_name['AddressesByRole']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/addresses_by_role' - _globals['_QUERY'].methods_by_name['VouchersForAddress']._loaded_options = None - _globals['_QUERY'].methods_by_name['VouchersForAddress']._serialized_options = b'\202\323\344\223\0025\0223/injective/permissions/v1beta1/vouchers_for_address' + _globals['_QUERY'].methods_by_name['NamespaceDenoms']._loaded_options = None + _globals['_QUERY'].methods_by_name['NamespaceDenoms']._serialized_options = b'\202\323\344\223\0021\022//injective/permissions/v1beta1/namespace_denoms' + _globals['_QUERY'].methods_by_name['Namespaces']._loaded_options = None + _globals['_QUERY'].methods_by_name['Namespaces']._serialized_options = b'\202\323\344\223\002+\022)/injective/permissions/v1beta1/namespaces' + _globals['_QUERY'].methods_by_name['Namespace']._loaded_options = None + _globals['_QUERY'].methods_by_name['Namespace']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/namespace/{denom}' + _globals['_QUERY'].methods_by_name['RolesByActor']._loaded_options = None + _globals['_QUERY'].methods_by_name['RolesByActor']._serialized_options = b'\202\323\344\223\002?\022=/injective/permissions/v1beta1/roles_by_actor/{denom}/{actor}' + _globals['_QUERY'].methods_by_name['ActorsByRole']._loaded_options = None + _globals['_QUERY'].methods_by_name['ActorsByRole']._serialized_options = b'\202\323\344\223\002>\022.injective.permissions.v1beta1.MsgUpdateNamespaceRolesResponse\x12\x8e\x01\n\x14RevokeNamespaceRoles\x12\x36.injective.permissions.v1beta1.MsgRevokeNamespaceRoles\x1a>.injective.permissions.v1beta1.MsgRevokeNamespaceRolesResponse\x12v\n\x0c\x43laimVoucher\x12..injective.permissions.v1beta1.MsgClaimVoucher\x1a\x36.injective.permissions.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x95\x02\n!com.injective.permissions.v1beta1B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/permissions/v1beta1/tx.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\x1a\x11\x61mino/amino.proto\"\xbe\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x43\n\x06params\x18\x02 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:.\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x1bpermissions/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xbd\x01\n\x12MsgCreateNamespace\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12L\n\tnamespace\x18\x02 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\tnamespace:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1epermissions/MsgCreateNamespace\"\x1c\n\x1aMsgCreateNamespaceResponse\"\x8c\x05\n\x12MsgUpdateNamespace\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x66\n\rcontract_hook\x18\x03 \x01(\x0b\x32\x41.injective.permissions.v1beta1.MsgUpdateNamespace.SetContractHookR\x0c\x63ontractHook\x12N\n\x10role_permissions\x18\x04 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12O\n\rrole_managers\x18\x05 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\x12T\n\x0fpolicy_statuses\x18\x06 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\x12v\n\x1bpolicy_manager_capabilities\x18\x07 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\x1a.\n\x0fSetContractHook\x12\x1b\n\tnew_value\x18\x01 \x01(\tR\x08newValue:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1epermissions/MsgUpdateNamespace\"\x1c\n\x1aMsgUpdateNamespaceResponse\"\xbd\x02\n\x13MsgUpdateActorRoles\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12V\n\x12role_actors_to_add\x18\x03 \x03(\x0b\x32).injective.permissions.v1beta1.RoleActorsR\x0froleActorsToAdd\x12\\\n\x15role_actors_to_revoke\x18\x05 \x03(\x0b\x32).injective.permissions.v1beta1.RoleActorsR\x12roleActorsToRevoke:/\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1fpermissions/MsgUpdateActorRoles\"\x1d\n\x1bMsgUpdateActorRolesResponse\"\x7f\n\x0fMsgClaimVoucher\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1bpermissions/MsgClaimVoucher\"\x19\n\x17MsgClaimVoucherResponse2\x83\x05\n\x03Msg\x12v\n\x0cUpdateParams\x12..injective.permissions.v1beta1.MsgUpdateParams\x1a\x36.injective.permissions.v1beta1.MsgUpdateParamsResponse\x12\x7f\n\x0f\x43reateNamespace\x12\x31.injective.permissions.v1beta1.MsgCreateNamespace\x1a\x39.injective.permissions.v1beta1.MsgCreateNamespaceResponse\x12\x7f\n\x0fUpdateNamespace\x12\x31.injective.permissions.v1beta1.MsgUpdateNamespace\x1a\x39.injective.permissions.v1beta1.MsgUpdateNamespaceResponse\x12\x82\x01\n\x10UpdateActorRoles\x12\x32.injective.permissions.v1beta1.MsgUpdateActorRoles\x1a:.injective.permissions.v1beta1.MsgUpdateActorRolesResponse\x12v\n\x0c\x43laimVoucher\x12..injective.permissions.v1beta1.MsgClaimVoucher\x1a\x36.injective.permissions.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x95\x02\n!com.injective.permissions.v1beta1B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,22 +42,14 @@ _globals['_MSGCREATENAMESPACE'].fields_by_name['namespace']._serialized_options = b'\310\336\037\000' _globals['_MSGCREATENAMESPACE']._loaded_options = None _globals['_MSGCREATENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgCreateNamespace' - _globals['_MSGDELETENAMESPACE'].fields_by_name['sender']._loaded_options = None - _globals['_MSGDELETENAMESPACE'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGDELETENAMESPACE']._loaded_options = None - _globals['_MSGDELETENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgDeleteNamespace' _globals['_MSGUPDATENAMESPACE'].fields_by_name['sender']._loaded_options = None _globals['_MSGUPDATENAMESPACE'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGUPDATENAMESPACE']._loaded_options = None _globals['_MSGUPDATENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgUpdateNamespace' - _globals['_MSGUPDATENAMESPACEROLES'].fields_by_name['sender']._loaded_options = None - _globals['_MSGUPDATENAMESPACEROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGUPDATENAMESPACEROLES']._loaded_options = None - _globals['_MSGUPDATENAMESPACEROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*#permissions/MsgUpdateNamespaceRoles' - _globals['_MSGREVOKENAMESPACEROLES'].fields_by_name['sender']._loaded_options = None - _globals['_MSGREVOKENAMESPACEROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGREVOKENAMESPACEROLES']._loaded_options = None - _globals['_MSGREVOKENAMESPACEROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*#permissions/MsgRevokeNamespaceRoles' + _globals['_MSGUPDATEACTORROLES'].fields_by_name['sender']._loaded_options = None + _globals['_MSGUPDATEACTORROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' + _globals['_MSGUPDATEACTORROLES']._loaded_options = None + _globals['_MSGUPDATEACTORROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*\037permissions/MsgUpdateActorRoles' _globals['_MSGCLAIMVOUCHER'].fields_by_name['sender']._loaded_options = None _globals['_MSGCLAIMVOUCHER'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGCLAIMVOUCHER']._loaded_options = None @@ -72,34 +64,20 @@ _globals['_MSGCREATENAMESPACE']._serialized_end=733 _globals['_MSGCREATENAMESPACERESPONSE']._serialized_start=735 _globals['_MSGCREATENAMESPACERESPONSE']._serialized_end=763 - _globals['_MSGDELETENAMESPACE']._serialized_start=766 - _globals['_MSGDELETENAMESPACE']._serialized_end=918 - _globals['_MSGDELETENAMESPACERESPONSE']._serialized_start=920 - _globals['_MSGDELETENAMESPACERESPONSE']._serialized_end=948 - _globals['_MSGUPDATENAMESPACE']._serialized_start=951 - _globals['_MSGUPDATENAMESPACE']._serialized_end=1707 - _globals['_MSGUPDATENAMESPACE_MSGSETWASMHOOK']._serialized_start=1464 - _globals['_MSGUPDATENAMESPACE_MSGSETWASMHOOK']._serialized_end=1509 - _globals['_MSGUPDATENAMESPACE_MSGSETMINTSPAUSED']._serialized_start=1511 - _globals['_MSGUPDATENAMESPACE_MSGSETMINTSPAUSED']._serialized_end=1559 - _globals['_MSGUPDATENAMESPACE_MSGSETSENDSPAUSED']._serialized_start=1561 - _globals['_MSGUPDATENAMESPACE_MSGSETSENDSPAUSED']._serialized_end=1609 - _globals['_MSGUPDATENAMESPACE_MSGSETBURNSPAUSED']._serialized_start=1611 - _globals['_MSGUPDATENAMESPACE_MSGSETBURNSPAUSED']._serialized_end=1659 - _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_start=1709 - _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_end=1737 - _globals['_MSGUPDATENAMESPACEROLES']._serialized_start=1740 - _globals['_MSGUPDATENAMESPACEROLES']._serialized_end=2064 - _globals['_MSGUPDATENAMESPACEROLESRESPONSE']._serialized_start=2066 - _globals['_MSGUPDATENAMESPACEROLESRESPONSE']._serialized_end=2099 - _globals['_MSGREVOKENAMESPACEROLES']._serialized_start=2102 - _globals['_MSGREVOKENAMESPACEROLES']._serialized_end=2364 - _globals['_MSGREVOKENAMESPACEROLESRESPONSE']._serialized_start=2366 - _globals['_MSGREVOKENAMESPACEROLESRESPONSE']._serialized_end=2399 - _globals['_MSGCLAIMVOUCHER']._serialized_start=2401 - _globals['_MSGCLAIMVOUCHER']._serialized_end=2528 - _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=2530 - _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=2555 - _globals['_MSG']._serialized_start=2558 - _globals['_MSG']._serialized_end=3487 + _globals['_MSGUPDATENAMESPACE']._serialized_start=766 + _globals['_MSGUPDATENAMESPACE']._serialized_end=1418 + _globals['_MSGUPDATENAMESPACE_SETCONTRACTHOOK']._serialized_start=1324 + _globals['_MSGUPDATENAMESPACE_SETCONTRACTHOOK']._serialized_end=1370 + _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_start=1420 + _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_end=1448 + _globals['_MSGUPDATEACTORROLES']._serialized_start=1451 + _globals['_MSGUPDATEACTORROLES']._serialized_end=1768 + _globals['_MSGUPDATEACTORROLESRESPONSE']._serialized_start=1770 + _globals['_MSGUPDATEACTORROLESRESPONSE']._serialized_end=1799 + _globals['_MSGCLAIMVOUCHER']._serialized_start=1801 + _globals['_MSGCLAIMVOUCHER']._serialized_end=1928 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=1930 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=1955 + _globals['_MSG']._serialized_start=1958 + _globals['_MSG']._serialized_end=2601 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py index dbfc052d..3971a305 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py @@ -25,25 +25,15 @@ def __init__(self, channel): request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespace.SerializeToString, response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespaceResponse.FromString, _registered_method=True) - self.DeleteNamespace = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/DeleteNamespace', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.FromString, - _registered_method=True) self.UpdateNamespace = channel.unary_unary( '/injective.permissions.v1beta1.Msg/UpdateNamespace', request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespace.SerializeToString, response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceResponse.FromString, _registered_method=True) - self.UpdateNamespaceRoles = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.FromString, - _registered_method=True) - self.RevokeNamespaceRoles = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.FromString, + self.UpdateActorRoles = channel.unary_unary( + '/injective.permissions.v1beta1.Msg/UpdateActorRoles', + request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.SerializeToString, + response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.FromString, _registered_method=True) self.ClaimVoucher = channel.unary_unary( '/injective.permissions.v1beta1.Msg/ClaimVoucher', @@ -68,25 +58,13 @@ def CreateNamespace(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def DeleteNamespace(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def UpdateNamespace(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def UpdateNamespaceRoles(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RevokeNamespaceRoles(self, request, context): + def UpdateActorRoles(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -111,25 +89,15 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespace.FromString, response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespaceResponse.SerializeToString, ), - 'DeleteNamespace': grpc.unary_unary_rpc_method_handler( - servicer.DeleteNamespace, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.SerializeToString, - ), 'UpdateNamespace': grpc.unary_unary_rpc_method_handler( servicer.UpdateNamespace, request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespace.FromString, response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceResponse.SerializeToString, ), - 'UpdateNamespaceRoles': grpc.unary_unary_rpc_method_handler( - servicer.UpdateNamespaceRoles, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.SerializeToString, - ), - 'RevokeNamespaceRoles': grpc.unary_unary_rpc_method_handler( - servicer.RevokeNamespaceRoles, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.SerializeToString, + 'UpdateActorRoles': grpc.unary_unary_rpc_method_handler( + servicer.UpdateActorRoles, + request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.FromString, + response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.SerializeToString, ), 'ClaimVoucher': grpc.unary_unary_rpc_method_handler( servicer.ClaimVoucher, @@ -202,33 +170,6 @@ def CreateNamespace(request, metadata, _registered_method=True) - @staticmethod - def DeleteNamespace(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.permissions.v1beta1.Msg/DeleteNamespace', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - @staticmethod def UpdateNamespace(request, target, @@ -257,34 +198,7 @@ def UpdateNamespace(request, _registered_method=True) @staticmethod - def UpdateNamespaceRoles(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.permissions.v1beta1.Msg/UpdateNamespaceRoles', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RevokeNamespaceRoles(request, + def UpdateActorRoles(request, target, options=(), channel_credentials=None, @@ -297,9 +211,9 @@ def RevokeNamespaceRoles(request, return grpc.experimental.unary_unary( request, target, - '/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.FromString, + '/injective.permissions.v1beta1.Msg/UpdateActorRoles', + injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.SerializeToString, + injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.FromString, options, channel_credentials, insecure, diff --git a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py index 380cce40..20d2bdd5 100644 --- a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as injective_dot_exchange_dot_v1beta1_dot_exchange__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/stream/v1beta1/query.proto\x12\x18injective.stream.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\'injective/exchange/v1beta1/events.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\x8e\x08\n\rStreamRequest\x12\x64\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32,.injective.stream.v1beta1.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12v\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32\x32.injective.stream.v1beta1.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12Z\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x66\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12Z\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x66\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12\x65\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12q\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12Z\n\x10positions_filter\x18\t \x01(\x0b\x32).injective.stream.v1beta1.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\x61\n\x13oracle_price_filter\x18\n \x01(\x0b\x32+.injective.stream.v1beta1.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\"\xa1\x07\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12J\n\rbank_balances\x18\x03 \x03(\x0b\x32%.injective.stream.v1beta1.BankBalanceR\x0c\x62\x61nkBalances\x12]\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32,.injective.stream.v1beta1.SubaccountDepositsR\x12subaccountDeposits\x12\x44\n\x0bspot_trades\x18\x05 \x03(\x0b\x32#.injective.stream.v1beta1.SpotTradeR\nspotTrades\x12V\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32).injective.stream.v1beta1.DerivativeTradeR\x10\x64\x65rivativeTrades\x12J\n\x0bspot_orders\x18\x07 \x03(\x0b\x32).injective.stream.v1beta1.SpotOrderUpdateR\nspotOrders\x12\\\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32/.injective.stream.v1beta1.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12_\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x14spotOrderbookUpdates\x12k\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12@\n\tpositions\x18\x0b \x03(\x0b\x32\".injective.stream.v1beta1.PositionR\tpositions\x12J\n\roracle_prices\x18\x0c \x03(\x0b\x32%.injective.stream.v1beta1.OraclePriceR\x0coraclePrices\"f\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x41\n\torderbook\x18\x02 \x01(\x0b\x32#.injective.stream.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x88\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12M\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32+.injective.stream.v1beta1.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"n\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xc2\x01\n\x0fSpotOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective.stream.v1beta1.SpotOrderR\x05order\"p\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xce\x01\n\x15\x44\x65rivativeOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12?\n\x05order\x18\x04 \x01(\x0b\x32).injective.stream.v1beta1.DerivativeOrderR\x05order\"\x99\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x05order\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xc3\x03\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"\xdc\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x05 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32g\n\x06Stream\x12]\n\x06Stream\x12\'.injective.stream.v1beta1.StreamRequest\x1a(.injective.stream.v1beta1.StreamResponse0\x01\x42\xf2\x01\n\x1c\x63om.injective.stream.v1beta1B\nQueryProtoP\x01ZDgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types\xa2\x02\x03ISX\xaa\x02\x18Injective.Stream.V1beta1\xca\x02\x18Injective\\Stream\\V1beta1\xe2\x02$Injective\\Stream\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Stream::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/stream/v1beta1/query.proto\x12\x18injective.stream.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\'injective/exchange/v1beta1/events.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\x8e\x08\n\rStreamRequest\x12\x64\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32,.injective.stream.v1beta1.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12v\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32\x32.injective.stream.v1beta1.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12Z\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x66\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12Z\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x66\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12\x65\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12q\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12Z\n\x10positions_filter\x18\t \x01(\x0b\x32).injective.stream.v1beta1.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\x61\n\x13oracle_price_filter\x18\n \x01(\x0b\x32+.injective.stream.v1beta1.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\"\xa1\x07\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12J\n\rbank_balances\x18\x03 \x03(\x0b\x32%.injective.stream.v1beta1.BankBalanceR\x0c\x62\x61nkBalances\x12]\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32,.injective.stream.v1beta1.SubaccountDepositsR\x12subaccountDeposits\x12\x44\n\x0bspot_trades\x18\x05 \x03(\x0b\x32#.injective.stream.v1beta1.SpotTradeR\nspotTrades\x12V\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32).injective.stream.v1beta1.DerivativeTradeR\x10\x64\x65rivativeTrades\x12J\n\x0bspot_orders\x18\x07 \x03(\x0b\x32).injective.stream.v1beta1.SpotOrderUpdateR\nspotOrders\x12\\\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32/.injective.stream.v1beta1.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12_\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x14spotOrderbookUpdates\x12k\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12@\n\tpositions\x18\x0b \x03(\x0b\x32\".injective.stream.v1beta1.PositionR\tpositions\x12J\n\roracle_prices\x18\x0c \x03(\x0b\x32%.injective.stream.v1beta1.OraclePriceR\x0coraclePrices\"f\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x41\n\torderbook\x18\x02 \x01(\x0b\x32#.injective.stream.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x88\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12M\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32+.injective.stream.v1beta1.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"n\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xc2\x01\n\x0fSpotOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective.stream.v1beta1.SpotOrderR\x05order\"p\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xce\x01\n\x15\x44\x65rivativeOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12?\n\x05order\x18\x04 \x01(\x0b\x32).injective.stream.v1beta1.DerivativeOrderR\x05order\"\x99\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x05order\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xc3\x03\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"\xdc\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x05 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32g\n\x06Stream\x12]\n\x06Stream\x12\'.injective.stream.v1beta1.StreamRequest\x1a(.injective.stream.v1beta1.StreamResponse0\x01\x42\xf2\x01\n\x1c\x63om.injective.stream.v1beta1B\nQueryProtoP\x01ZDgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types\xa2\x02\x03ISX\xaa\x02\x18Injective.Stream.V1beta1\xca\x02\x18Injective\\Stream\\V1beta1\xe2\x02$Injective\\Stream\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Stream::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py index 00205780..3e40fb08 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py @@ -16,7 +16,7 @@ from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6injective/tokenfactory/v1beta1/authorityMetadata.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"F\n\x16\x44\x65nomAuthorityMetadata\x12&\n\x05\x61\x64min\x18\x01 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"admin\"R\x05\x61\x64min:\x04\xe8\xa0\x1f\x01\x42\xaa\x02\n\"com.injective.tokenfactory.v1beta1B\x16\x41uthorityMetadataProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6injective/tokenfactory/v1beta1/authorityMetadata.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x93\x01\n\x16\x44\x65nomAuthorityMetadata\x12&\n\x05\x61\x64min\x18\x01 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"admin\"R\x05\x61\x64min\x12K\n\x12\x61\x64min_burn_allowed\x18\x02 \x01(\x08\x42\x1d\xf2\xde\x1f\x19yaml:\"admin_burn_allowed\"R\x10\x61\x64minBurnAllowed:\x04\xe8\xa0\x1f\x01\x42\xaa\x02\n\"com.injective.tokenfactory.v1beta1B\x16\x41uthorityMetadataProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,8 +26,10 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\"com.injective.tokenfactory.v1beta1B\026AuthorityMetadataProtoP\001ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\242\002\003ITX\252\002\036Injective.Tokenfactory.V1beta1\312\002\036Injective\\Tokenfactory\\V1beta1\342\002*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\352\002 Injective::Tokenfactory::V1beta1' _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin']._loaded_options = None _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin']._serialized_options = b'\362\336\037\014yaml:\"admin\"' + _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin_burn_allowed']._loaded_options = None + _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin_burn_allowed']._serialized_options = b'\362\336\037\031yaml:\"admin_burn_allowed\"' _globals['_DENOMAUTHORITYMETADATA']._loaded_options = None _globals['_DENOMAUTHORITYMETADATA']._serialized_options = b'\350\240\037\001' - _globals['_DENOMAUTHORITYMETADATA']._serialized_start=144 - _globals['_DENOMAUTHORITYMETADATA']._serialized_end=214 + _globals['_DENOMAUTHORITYMETADATA']._serialized_start=145 + _globals['_DENOMAUTHORITYMETADATA']._serialized_end=292 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py index 8ef8bf5c..b963d0e1 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.tokenfactory.v1beta1 import authorityMetadata_pb2 as injective_dot_tokenfactory_dot_v1beta1_dot_authorityMetadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/tokenfactory/v1beta1/events.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x36injective/tokenfactory/v1beta1/authorityMetadata.proto\"D\n\x12\x45ventCreateTFDenom\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"x\n\x10\x45ventMintTFDenom\x12+\n\x11recipient_address\x18\x01 \x01(\tR\x10recipientAddress\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"p\n\x0e\x45ventBurnDenom\x12%\n\x0e\x62urner_address\x18\x01 \x01(\tR\rburnerAddress\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"V\n\x12\x45ventChangeTFAdmin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12*\n\x11new_admin_address\x18\x02 \x01(\tR\x0fnewAdminAddress\"p\n\x17\x45ventSetTFDenomMetadata\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x04\xc8\xde\x1f\x00R\x08metadataB\x9f\x02\n\"com.injective.tokenfactory.v1beta1B\x0b\x45ventsProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/tokenfactory/v1beta1/events.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x36injective/tokenfactory/v1beta1/authorityMetadata.proto\"B\n\x10\x45ventCreateDenom\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"x\n\tEventMint\x12\x16\n\x06minter\x18\x01 \x01(\tR\x06minter\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12\x1a\n\x08receiver\x18\x03 \x01(\tR\x08receiver\"y\n\tEventBurn\x12\x16\n\x06\x62urner\x18\x01 \x01(\tR\x06\x62urner\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12\x1b\n\tburn_from\x18\x03 \x01(\tR\x08\x62urnFrom\"T\n\x10\x45ventChangeAdmin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12*\n\x11new_admin_address\x18\x02 \x01(\tR\x0fnewAdminAddress\"n\n\x15\x45ventSetDenomMetadata\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x04\xc8\xde\x1f\x00R\x08metadataB\x9f\x02\n\"com.injective.tokenfactory.v1beta1B\x0b\x45ventsProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,20 +26,20 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.injective.tokenfactory.v1beta1B\013EventsProtoP\001ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\242\002\003ITX\252\002\036Injective.Tokenfactory.V1beta1\312\002\036Injective\\Tokenfactory\\V1beta1\342\002*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\352\002 Injective::Tokenfactory::V1beta1' - _globals['_EVENTMINTTFDENOM'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTMINTTFDENOM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTBURNDENOM'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTBURNDENOM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTSETTFDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None - _globals['_EVENTSETTFDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' - _globals['_EVENTCREATETFDENOM']._serialized_start=221 - _globals['_EVENTCREATETFDENOM']._serialized_end=289 - _globals['_EVENTMINTTFDENOM']._serialized_start=291 - _globals['_EVENTMINTTFDENOM']._serialized_end=411 - _globals['_EVENTBURNDENOM']._serialized_start=413 - _globals['_EVENTBURNDENOM']._serialized_end=525 - _globals['_EVENTCHANGETFADMIN']._serialized_start=527 - _globals['_EVENTCHANGETFADMIN']._serialized_end=613 - _globals['_EVENTSETTFDENOMMETADATA']._serialized_start=615 - _globals['_EVENTSETTFDENOMMETADATA']._serialized_end=727 + _globals['_EVENTMINT'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTMINT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTBURN'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTBURN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSETDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None + _globals['_EVENTSETDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' + _globals['_EVENTCREATEDENOM']._serialized_start=221 + _globals['_EVENTCREATEDENOM']._serialized_end=287 + _globals['_EVENTMINT']._serialized_start=289 + _globals['_EVENTMINT']._serialized_end=409 + _globals['_EVENTBURN']._serialized_start=411 + _globals['_EVENTBURN']._serialized_end=532 + _globals['_EVENTCHANGEADMIN']._serialized_start=534 + _globals['_EVENTCHANGEADMIN']._serialized_end=618 + _globals['_EVENTSETDENOMMETADATA']._serialized_start=620 + _globals['_EVENTSETDENOMMETADATA']._serialized_end=730 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py index ebcba559..2d643d4f 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/tokenfactory/v1beta1/tx.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/tokenfactory/v1beta1/params.proto\x1a\x11\x61mino/amino.proto\"\xa2\x02\n\x0eMsgCreateDenom\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12/\n\x08subdenom\x18\x02 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"subdenom\"R\x08subdenom\x12#\n\x04name\x18\x03 \x01(\tB\x0f\xf2\xde\x1f\x0byaml:\"name\"R\x04name\x12)\n\x06symbol\x18\x04 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"symbol\"R\x06symbol\x12/\n\x08\x64\x65\x63imals\x18\x05 \x01(\rB\x13\xf2\xde\x1f\x0fyaml:\"decimals\"R\x08\x64\x65\x63imals:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/create-denom\"\\\n\x16MsgCreateDenomResponse\x12\x42\n\x0fnew_token_denom\x18\x01 \x01(\tB\x1a\xf2\xde\x1f\x16yaml:\"new_token_denom\"R\rnewTokenDenom\"\xab\x01\n\x07MsgMint\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/mint\"\x11\n\x0fMsgMintResponse\"\xab\x01\n\x07MsgBurn\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/burn\"\x11\n\x0fMsgBurnResponse\"\xcb\x01\n\x0eMsgChangeAdmin\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12&\n\x05\x64\x65nom\x18\x02 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"denom\"R\x05\x64\x65nom\x12\x31\n\tnew_admin\x18\x03 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"new_admin\"R\x08newAdmin:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/change-admin\"\x18\n\x16MsgChangeAdminResponse\"\xcf\x01\n\x13MsgSetDenomMetadata\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x17\xc8\xde\x1f\x00\xf2\xde\x1f\x0fyaml:\"metadata\"R\x08metadata:9\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)injective/tokenfactory/set-denom-metadata\"\x1d\n\x1bMsgSetDenomMetadataResponse\"\xc8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x44\n\x06params\x18\x02 \x01(\x0b\x32&.injective.tokenfactory.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$injective/tokenfactory/update-params\"\x19\n\x17MsgUpdateParamsResponse2\xbf\x05\n\x03Msg\x12u\n\x0b\x43reateDenom\x12..injective.tokenfactory.v1beta1.MsgCreateDenom\x1a\x36.injective.tokenfactory.v1beta1.MsgCreateDenomResponse\x12`\n\x04Mint\x12\'.injective.tokenfactory.v1beta1.MsgMint\x1a/.injective.tokenfactory.v1beta1.MsgMintResponse\x12`\n\x04\x42urn\x12\'.injective.tokenfactory.v1beta1.MsgBurn\x1a/.injective.tokenfactory.v1beta1.MsgBurnResponse\x12u\n\x0b\x43hangeAdmin\x12..injective.tokenfactory.v1beta1.MsgChangeAdmin\x1a\x36.injective.tokenfactory.v1beta1.MsgChangeAdminResponse\x12\x84\x01\n\x10SetDenomMetadata\x12\x33.injective.tokenfactory.v1beta1.MsgSetDenomMetadata\x1a;.injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse\x12x\n\x0cUpdateParams\x12/.injective.tokenfactory.v1beta1.MsgUpdateParams\x1a\x37.injective.tokenfactory.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x9b\x02\n\"com.injective.tokenfactory.v1beta1B\x07TxProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/tokenfactory/v1beta1/tx.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/tokenfactory/v1beta1/params.proto\x1a\x11\x61mino/amino.proto\"\xe9\x02\n\x0eMsgCreateDenom\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12/\n\x08subdenom\x18\x02 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"subdenom\"R\x08subdenom\x12#\n\x04name\x18\x03 \x01(\tB\x0f\xf2\xde\x1f\x0byaml:\"name\"R\x04name\x12)\n\x06symbol\x18\x04 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"symbol\"R\x06symbol\x12/\n\x08\x64\x65\x63imals\x18\x05 \x01(\rB\x13\xf2\xde\x1f\x0fyaml:\"decimals\"R\x08\x64\x65\x63imals\x12\x45\n\x10\x61llow_admin_burn\x18\x06 \x01(\x08\x42\x1b\xf2\xde\x1f\x17yaml:\"allow_admin_burn\"R\x0e\x61llowAdminBurn:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/create-denom\"\\\n\x16MsgCreateDenomResponse\x12\x42\n\x0fnew_token_denom\x18\x01 \x01(\tB\x1a\xf2\xde\x1f\x16yaml:\"new_token_denom\"R\rnewTokenDenom\"\xdc\x01\n\x07MsgMint\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount\x12/\n\x08receiver\x18\x03 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"receiver\"R\x08receiver:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/mint\"\x11\n\x0fMsgMintResponse\"\xf8\x01\n\x07MsgBurn\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount\x12K\n\x0f\x62urnFromAddress\x18\x03 \x01(\tB!\xf2\xde\x1f\x18yaml:\"burn_from_address\"\xa8\xe7\xb0*\x01R\x0f\x62urnFromAddress:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/burn\"\x11\n\x0fMsgBurnResponse\"\xcb\x01\n\x0eMsgChangeAdmin\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12&\n\x05\x64\x65nom\x18\x02 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"denom\"R\x05\x64\x65nom\x12\x31\n\tnew_admin\x18\x03 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"new_admin\"R\x08newAdmin:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/change-admin\"\x18\n\x16MsgChangeAdminResponse\"\xbe\x03\n\x13MsgSetDenomMetadata\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x17\xc8\xde\x1f\x00\xf2\xde\x1f\x0fyaml:\"metadata\"R\x08metadata\x12\x95\x01\n\x13\x61\x64min_burn_disabled\x18\x03 \x01(\x0b\x32\x45.injective.tokenfactory.v1beta1.MsgSetDenomMetadata.AdminBurnDisabledB\x1e\xf2\xde\x1f\x1ayaml:\"admin_burn_disabled\"R\x11\x61\x64minBurnDisabled\x1aU\n\x11\x41\x64minBurnDisabled\x12@\n\x0eshould_disable\x18\x01 \x01(\x08\x42\x19\xf2\xde\x1f\x15yaml:\"should_disable\"R\rshouldDisable:9\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)injective/tokenfactory/set-denom-metadata\"\x1d\n\x1bMsgSetDenomMetadataResponse\"\xc8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x44\n\x06params\x18\x02 \x01(\x0b\x32&.injective.tokenfactory.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$injective/tokenfactory/update-params\"\x19\n\x17MsgUpdateParamsResponse2\xbf\x05\n\x03Msg\x12u\n\x0b\x43reateDenom\x12..injective.tokenfactory.v1beta1.MsgCreateDenom\x1a\x36.injective.tokenfactory.v1beta1.MsgCreateDenomResponse\x12`\n\x04Mint\x12\'.injective.tokenfactory.v1beta1.MsgMint\x1a/.injective.tokenfactory.v1beta1.MsgMintResponse\x12`\n\x04\x42urn\x12\'.injective.tokenfactory.v1beta1.MsgBurn\x1a/.injective.tokenfactory.v1beta1.MsgBurnResponse\x12u\n\x0b\x43hangeAdmin\x12..injective.tokenfactory.v1beta1.MsgChangeAdmin\x1a\x36.injective.tokenfactory.v1beta1.MsgChangeAdminResponse\x12\x84\x01\n\x10SetDenomMetadata\x12\x33.injective.tokenfactory.v1beta1.MsgSetDenomMetadata\x1a;.injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse\x12x\n\x0cUpdateParams\x12/.injective.tokenfactory.v1beta1.MsgUpdateParams\x1a\x37.injective.tokenfactory.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x9b\x02\n\"com.injective.tokenfactory.v1beta1B\x07TxProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -39,6 +39,8 @@ _globals['_MSGCREATEDENOM'].fields_by_name['symbol']._serialized_options = b'\362\336\037\ryaml:\"symbol\"' _globals['_MSGCREATEDENOM'].fields_by_name['decimals']._loaded_options = None _globals['_MSGCREATEDENOM'].fields_by_name['decimals']._serialized_options = b'\362\336\037\017yaml:\"decimals\"' + _globals['_MSGCREATEDENOM'].fields_by_name['allow_admin_burn']._loaded_options = None + _globals['_MSGCREATEDENOM'].fields_by_name['allow_admin_burn']._serialized_options = b'\362\336\037\027yaml:\"allow_admin_burn\"' _globals['_MSGCREATEDENOM']._loaded_options = None _globals['_MSGCREATEDENOM']._serialized_options = b'\202\347\260*\006sender\212\347\260*#injective/tokenfactory/create-denom' _globals['_MSGCREATEDENOMRESPONSE'].fields_by_name['new_token_denom']._loaded_options = None @@ -47,12 +49,16 @@ _globals['_MSGMINT'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGMINT'].fields_by_name['amount']._loaded_options = None _globals['_MSGMINT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\362\336\037\ryaml:\"amount\"' + _globals['_MSGMINT'].fields_by_name['receiver']._loaded_options = None + _globals['_MSGMINT'].fields_by_name['receiver']._serialized_options = b'\362\336\037\017yaml:\"receiver\"' _globals['_MSGMINT']._loaded_options = None _globals['_MSGMINT']._serialized_options = b'\202\347\260*\006sender\212\347\260*\033injective/tokenfactory/mint' _globals['_MSGBURN'].fields_by_name['sender']._loaded_options = None _globals['_MSGBURN'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGBURN'].fields_by_name['amount']._loaded_options = None _globals['_MSGBURN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\362\336\037\ryaml:\"amount\"' + _globals['_MSGBURN'].fields_by_name['burnFromAddress']._loaded_options = None + _globals['_MSGBURN'].fields_by_name['burnFromAddress']._serialized_options = b'\362\336\037\030yaml:\"burn_from_address\"\250\347\260*\001' _globals['_MSGBURN']._loaded_options = None _globals['_MSGBURN']._serialized_options = b'\202\347\260*\006sender\212\347\260*\033injective/tokenfactory/burn' _globals['_MSGCHANGEADMIN'].fields_by_name['sender']._loaded_options = None @@ -63,10 +69,14 @@ _globals['_MSGCHANGEADMIN'].fields_by_name['new_admin']._serialized_options = b'\362\336\037\020yaml:\"new_admin\"' _globals['_MSGCHANGEADMIN']._loaded_options = None _globals['_MSGCHANGEADMIN']._serialized_options = b'\202\347\260*\006sender\212\347\260*#injective/tokenfactory/change-admin' + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED'].fields_by_name['should_disable']._loaded_options = None + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED'].fields_by_name['should_disable']._serialized_options = b'\362\336\037\025yaml:\"should_disable\"' _globals['_MSGSETDENOMMETADATA'].fields_by_name['sender']._loaded_options = None _globals['_MSGSETDENOMMETADATA'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGSETDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None _globals['_MSGSETDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000\362\336\037\017yaml:\"metadata\"' + _globals['_MSGSETDENOMMETADATA'].fields_by_name['admin_burn_disabled']._loaded_options = None + _globals['_MSGSETDENOMMETADATA'].fields_by_name['admin_burn_disabled']._serialized_options = b'\362\336\037\032yaml:\"admin_burn_disabled\"' _globals['_MSGSETDENOMMETADATA']._loaded_options = None _globals['_MSGSETDENOMMETADATA']._serialized_options = b'\202\347\260*\006sender\212\347\260*)injective/tokenfactory/set-denom-metadata' _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None @@ -78,29 +88,31 @@ _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' _globals['_MSGCREATEDENOM']._serialized_start=278 - _globals['_MSGCREATEDENOM']._serialized_end=568 - _globals['_MSGCREATEDENOMRESPONSE']._serialized_start=570 - _globals['_MSGCREATEDENOMRESPONSE']._serialized_end=662 - _globals['_MSGMINT']._serialized_start=665 - _globals['_MSGMINT']._serialized_end=836 - _globals['_MSGMINTRESPONSE']._serialized_start=838 - _globals['_MSGMINTRESPONSE']._serialized_end=855 - _globals['_MSGBURN']._serialized_start=858 - _globals['_MSGBURN']._serialized_end=1029 - _globals['_MSGBURNRESPONSE']._serialized_start=1031 - _globals['_MSGBURNRESPONSE']._serialized_end=1048 - _globals['_MSGCHANGEADMIN']._serialized_start=1051 - _globals['_MSGCHANGEADMIN']._serialized_end=1254 - _globals['_MSGCHANGEADMINRESPONSE']._serialized_start=1256 - _globals['_MSGCHANGEADMINRESPONSE']._serialized_end=1280 - _globals['_MSGSETDENOMMETADATA']._serialized_start=1283 - _globals['_MSGSETDENOMMETADATA']._serialized_end=1490 - _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_start=1492 - _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_end=1521 - _globals['_MSGUPDATEPARAMS']._serialized_start=1524 - _globals['_MSGUPDATEPARAMS']._serialized_end=1724 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1726 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1751 - _globals['_MSG']._serialized_start=1754 - _globals['_MSG']._serialized_end=2457 + _globals['_MSGCREATEDENOM']._serialized_end=639 + _globals['_MSGCREATEDENOMRESPONSE']._serialized_start=641 + _globals['_MSGCREATEDENOMRESPONSE']._serialized_end=733 + _globals['_MSGMINT']._serialized_start=736 + _globals['_MSGMINT']._serialized_end=956 + _globals['_MSGMINTRESPONSE']._serialized_start=958 + _globals['_MSGMINTRESPONSE']._serialized_end=975 + _globals['_MSGBURN']._serialized_start=978 + _globals['_MSGBURN']._serialized_end=1226 + _globals['_MSGBURNRESPONSE']._serialized_start=1228 + _globals['_MSGBURNRESPONSE']._serialized_end=1245 + _globals['_MSGCHANGEADMIN']._serialized_start=1248 + _globals['_MSGCHANGEADMIN']._serialized_end=1451 + _globals['_MSGCHANGEADMINRESPONSE']._serialized_start=1453 + _globals['_MSGCHANGEADMINRESPONSE']._serialized_end=1477 + _globals['_MSGSETDENOMMETADATA']._serialized_start=1480 + _globals['_MSGSETDENOMMETADATA']._serialized_end=1926 + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED']._serialized_start=1782 + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED']._serialized_end=1867 + _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_start=1928 + _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_end=1957 + _globals['_MSGUPDATEPARAMS']._serialized_start=1960 + _globals['_MSGUPDATEPARAMS']._serialized_end=2160 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=2162 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=2187 + _globals['_MSG']._serialized_start=2190 + _globals['_MSG']._serialized_end=2893 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py index f96ee560..e7f49962 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py @@ -6,7 +6,7 @@ class MsgStub(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ def __init__(self, channel): @@ -48,7 +48,7 @@ def __init__(self, channel): class MsgServicer(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ def CreateDenom(self, request, context): @@ -129,7 +129,7 @@ def add_MsgServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Msg(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ @staticmethod diff --git a/tests/client/chain/grpc/configurable_permissions_query_servicer.py b/tests/client/chain/grpc/configurable_permissions_query_servicer.py index 54a54274..ba191fb7 100644 --- a/tests/client/chain/grpc/configurable_permissions_query_servicer.py +++ b/tests/client/chain/grpc/configurable_permissions_query_servicer.py @@ -10,32 +10,62 @@ class ConfigurablePermissionsQueryServicer(permissions_query_grpc.QueryServicer) def __init__(self): super().__init__() self.permissions_params = deque() - self.all_namespaces_responses = deque() - self.namespace_by_denom_responses = deque() - self.address_roles_responses = deque() - self.addresses_by_role_responses = deque() - self.vouchers_for_address_responses = deque() + self.namespace_denoms_responses = deque() + self.namespaces_responses = deque() + self.namespace_responses = deque() + self.roles_by_actor_responses = deque() + self.actors_by_role_responses = deque() + self.role_managers_responses = deque() + self.role_manager_responses = deque() + self.policy_statuses_responses = deque() + self.policy_manager_capabilities_responses = deque() + self.vouchers_responses = deque() + self.voucher_responses = deque() + self.module_state_responses = deque() async def Params(self, request: permissions_query_pb.QueryParamsRequest, context=None, metadata=None): return self.permissions_params.pop() - async def AllNamespaces(self, request: permissions_query_pb.QueryAllNamespacesRequest, context=None, metadata=None): - return self.all_namespaces_responses.pop() - - async def NamespaceByDenom( - self, request: permissions_query_pb.QueryNamespaceByDenomRequest, context=None, metadata=None + async def NamespaceDenoms( + self, request: permissions_query_pb.QueryNamespaceDenomsRequest, context=None, metadata=None ): - return self.namespace_by_denom_responses.pop() + return self.namespace_denoms_responses.pop() + + async def Namespaces(self, request: permissions_query_pb.QueryNamespaceDenomsRequest, context=None, metadata=None): + return self.namespaces_responses.pop() + + async def Namespace(self, request: permissions_query_pb.QueryNamespaceRequest, context=None, metadata=None): + return self.namespace_responses.pop() + + async def RolesByActor(self, request: permissions_query_pb.QueryRolesByActorRequest, context=None, metadata=None): + return self.roles_by_actor_responses.pop() + + async def ActorsByRole(self, request: permissions_query_pb.QueryActorsByRoleRequest, context=None, metadata=None): + return self.actors_by_role_responses.pop() - async def AddressRoles(self, request: permissions_query_pb.QueryAddressRolesRequest, context=None, metadata=None): - return self.address_roles_responses.pop() + async def RoleManagers(self, request: permissions_query_pb.QueryRoleManagersRequest, context=None, metadata=None): + return self.role_managers_responses.pop() - async def AddressesByRole( - self, request: permissions_query_pb.QueryAddressesByRoleRequest, context=None, metadata=None + async def RoleManager(self, request: permissions_query_pb.QueryRoleManagerRequest, context=None, metadata=None): + return self.role_manager_responses.pop() + + async def PolicyStatuses( + self, request: permissions_query_pb.QueryPolicyStatusesRequest, context=None, metadata=None + ): + return self.policy_statuses_responses.pop() + + async def PolicyManagerCapabilities( + self, request: permissions_query_pb.QueryPolicyManagerCapabilitiesRequest, context=None, metadata=None ): - return self.addresses_by_role_responses.pop() + return self.policy_manager_capabilities_responses.pop() + + async def Vouchers(self, request: permissions_query_pb.QueryVouchersRequest, context=None, metadata=None): + return self.vouchers_responses.pop() + + async def Voucher(self, request: permissions_query_pb.QueryVoucherRequest, context=None, metadata=None): + return self.voucher_responses.pop() - async def VouchersForAddress( - self, request: permissions_query_pb.QueryVouchersForAddressRequest, context=None, metadata=None + async def PermissionsModuleState( + self, request: permissions_query_pb.QueryModuleStateRequest, context=None, metadata=None ): - return self.vouchers_for_address_responses.pop() + return self.module_state_responses.pop() diff --git a/tests/client/chain/grpc/test_chain_grpc_auction_api.py b/tests/client/chain/grpc/test_chain_grpc_auction_api.py index 9de9c63a..0c6ef320 100644 --- a/tests/client/chain/grpc/test_chain_grpc_auction_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_auction_api.py @@ -23,13 +23,23 @@ async def test_fetch_module_params( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="1000000000000000000000", + ) auction_servicer.auction_params.append(auction_query_pb.QueryAuctionParamsResponse(params=params)) api = self._api_instance(servicer=auction_servicer) module_params = await api.fetch_module_params() - expected_params = {"params": {"auctionPeriod": "604800", "minNextBidIncrementRate": "2500000000000000"}} + expected_params = { + "params": { + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": params.inj_basket_max_cap, + } + } assert expected_params == module_params @@ -38,10 +48,15 @@ async def test_fetch_module_state( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="1000000000000000000000", + ) + bid_amount = coin_pb.Coin(amount="2347518723906280000", denom="inj") highest_bid = auction_pb.Bid( bidder="inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", - amount="\n\003inj\022\0232347518723906280000", + amount=bid_amount, ) state = genesis_pb.GenesisState( params=params, @@ -59,12 +74,16 @@ async def test_fetch_module_state( "auctionEndingTimestamp": "1687504387", "auctionRound": "50", "highestBid": { - "amount": "\n\x03inj\x12\x132347518723906280000", "bidder": "inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", + "amount": { + "amount": "2347518723906280000", + "denom": "inj", + }, }, "params": { - "auctionPeriod": "604800", - "minNextBidIncrementRate": "2500000000000000", + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": params.inj_basket_max_cap, }, } } @@ -76,7 +95,11 @@ async def test_fetch_module_state_when_no_highest_bid_present( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="1000000000000000000000", + ) state = genesis_pb.GenesisState( params=params, auction_round=50, @@ -89,11 +112,12 @@ async def test_fetch_module_state_when_no_highest_bid_present( module_state = await api.fetch_module_state() expected_state = { "state": { - "auctionEndingTimestamp": "1687504387", - "auctionRound": "50", + "auctionEndingTimestamp": str(state.auction_ending_timestamp), + "auctionRound": str(state.auction_round), "params": { - "auctionPeriod": "604800", - "minNextBidIncrementRate": "2500000000000000", + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": params.inj_basket_max_cap, }, } } diff --git a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py b/tests/client/chain/grpc/test_chain_grpc_exchange_api.py index 7ec81981..f5db75e7 100644 --- a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_exchange_api.py @@ -446,6 +446,8 @@ async def test_fetch_spot_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) exchange_servicer.spot_markets_responses.append( exchange_query_pb.QuerySpotMarketsResponse( @@ -476,6 +478,8 @@ async def test_fetch_spot_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, } ] } @@ -501,6 +505,8 @@ async def test_fetch_spot_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) exchange_servicer.spot_market_responses.append( exchange_query_pb.QuerySpotMarketResponse( @@ -528,6 +534,8 @@ async def test_fetch_spot_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, } } @@ -552,6 +560,8 @@ async def test_fetch_full_spot_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) mid_price_and_tob = exchange_pb.MidPriceAndTOB( mid_price="2000000000000000000", @@ -593,6 +603,8 @@ async def test_fetch_full_spot_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, }, "midPriceAndTob": { "midPrice": mid_price_and_tob.mid_price, @@ -624,6 +636,8 @@ async def test_fetch_full_spot_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) mid_price_and_tob = exchange_pb.MidPriceAndTOB( mid_price="2000000000000000000", @@ -663,6 +677,8 @@ async def test_fetch_full_spot_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, }, "midPriceAndTob": { "midPrice": mid_price_and_tob.mid_price, @@ -1234,6 +1250,7 @@ async def test_fetch_derivative_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) market_info = exchange_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", @@ -1298,6 +1315,7 @@ async def test_fetch_derivative_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, }, "perpetualInfo": { "marketInfo": { @@ -1350,6 +1368,7 @@ async def test_fetch_derivative_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) market_info = exchange_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", @@ -1412,6 +1431,7 @@ async def test_fetch_derivative_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, }, "perpetualInfo": { "marketInfo": { @@ -2323,6 +2343,7 @@ async def test_fetch_binary_options_markets( settlement_price="2000000000000000000", min_notional="5000000000000000000", admin_permissions=1, + quote_decimals=6, ) response = exchange_query_pb.QueryBinaryMarketsResponse( markets=[market], @@ -2354,6 +2375,7 @@ async def test_fetch_binary_options_markets( "settlementPrice": market.settlement_price, "minNotional": market.min_notional, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, }, ] } diff --git a/tests/client/chain/grpc/test_chain_grpc_permissions_api.py b/tests/client/chain/grpc/test_chain_grpc_permissions_api.py index 3913790c..0bcc63a6 100644 --- a/tests/client/chain/grpc/test_chain_grpc_permissions_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_permissions_api.py @@ -5,6 +5,7 @@ from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb from pyinjective.proto.injective.permissions.v1beta1 import ( + genesis_pb2 as genesis_pb, params_pb2 as permissions_params_pb, permissions_pb2 as permissions_pb, query_pb2 as permissions_query_pb, @@ -40,52 +41,104 @@ async def test_fetch_module_params( assert module_params == expected_params @pytest.mark.asyncio - async def test_fetch_all_namespaces( + async def test_fetch_namespace_denoms( + self, + permissions_servicer, + ): + denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" + permissions_servicer.namespace_denoms_responses.append( + permissions_query_pb.QueryNamespaceDenomsResponse(denoms=[denom]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + all_denoms = await api.fetch_namespace_denoms() + expected_denoms = {"denoms": [denom]} + + assert all_denoms == expected_denoms + + @pytest.mark.asyncio + async def test_fetch_namespaces( self, permissions_servicer, ): role_permission = permissions_pb.Role( - role="role", + name="role1", + role_id=1, permissions=3, ) - address_roles = permissions_pb.AddressRoles( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", - roles=["role"], + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, ) namespace = permissions_pb.Namespace( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - wasm_hook="wasm_hook", - mints_paused=True, - sends_paused=False, - burns_paused=False, + contract_hook="wasm_hook", role_permissions=[role_permission], - address_roles=[address_roles], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], ) - permissions_servicer.all_namespaces_responses.append( - permissions_query_pb.QueryAllNamespacesResponse(namespaces=[namespace]) + permissions_servicer.namespaces_responses.append( + permissions_query_pb.QueryNamespacesResponse(namespaces=[namespace]) ) api = self._api_instance(servicer=permissions_servicer) - all_namespaces = await api.fetch_all_namespaces() + all_namespaces = await api.fetch_namespaces() expected_namespaces = { "namespaces": [ { "denom": namespace.denom, - "wasmHook": namespace.wasm_hook, - "mintsPaused": namespace.mints_paused, - "sendsPaused": namespace.sends_paused, - "burnsPaused": namespace.burns_paused, + "contractHook": namespace.contract_hook, "rolePermissions": [ { - "role": role_permission.role, + "name": role_permission.name, + "roleId": role_permission.role_id, "permissions": role_permission.permissions, } ], - "addressRoles": [ + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ { - "address": address_roles.address, - "roles": address_roles.roles, + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, } ], } @@ -95,121 +148,429 @@ async def test_fetch_all_namespaces( assert all_namespaces == expected_namespaces @pytest.mark.asyncio - async def test_fetch_namespace_by_denom( + async def test_fetch_namespace( self, permissions_servicer, ): role_permission = permissions_pb.Role( - role="role", + name="role1", + role_id=1, permissions=3, ) - address_roles = permissions_pb.AddressRoles( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", - roles=["role"], + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, ) namespace = permissions_pb.Namespace( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - wasm_hook="wasm_hook", - mints_paused=True, - sends_paused=False, - burns_paused=False, + contract_hook="wasm_hook", role_permissions=[role_permission], - address_roles=[address_roles], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], ) - permissions_servicer.namespace_by_denom_responses.append( - permissions_query_pb.QueryNamespaceByDenomResponse(namespace=namespace) + permissions_servicer.namespace_responses.append( + permissions_query_pb.QueryNamespaceResponse(namespace=namespace) ) api = self._api_instance(servicer=permissions_servicer) - namespace_result = await api.fetch_namespace_by_denom(denom=namespace.denom, include_roles=True) - expected_namespace = { + all_namespaces = await api.fetch_namespace(denom=namespace.denom) + expected_namespaces = { "namespace": { "denom": namespace.denom, - "wasmHook": namespace.wasm_hook, - "mintsPaused": namespace.mints_paused, - "sendsPaused": namespace.sends_paused, - "burnsPaused": namespace.burns_paused, + "contractHook": namespace.contract_hook, "rolePermissions": [ { - "role": role_permission.role, + "name": role_permission.name, + "roleId": role_permission.role_id, "permissions": role_permission.permissions, } ], - "addressRoles": [ + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ { - "address": address_roles.address, - "roles": address_roles.roles, + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, } ], } } - assert namespace_result == expected_namespace + assert all_namespaces == expected_namespaces @pytest.mark.asyncio - async def test_fetch_address_roles( + async def test_fetch_roles_by_actor( self, permissions_servicer, ): roles = ["role1", "role2"] - permissions_servicer.address_roles_responses.append(permissions_query_pb.QueryAddressRolesResponse(roles=roles)) + permissions_servicer.roles_by_actor_responses.append( + permissions_query_pb.QueryRolesByActorResponse(roles=roles) + ) api = self._api_instance(servicer=permissions_servicer) - address_roles = await api.fetch_address_roles( + roles_by_actor = await api.fetch_roles_by_actor( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + actor="actor", ) expected_roles = { "roles": roles, } - assert address_roles == expected_roles + assert roles_by_actor == expected_roles @pytest.mark.asyncio - async def test_fetch_addresses_by_role( + async def test_fetch_actors_by_role( self, permissions_servicer, ): - addresses = ["inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"] - permissions_servicer.addresses_by_role_responses.append( - permissions_query_pb.QueryAddressesByRoleResponse(addresses=addresses) + actors = ["actor1", "actor2"] + permissions_servicer.actors_by_role_responses.append( + permissions_query_pb.QueryActorsByRoleResponse(actors=actors) ) api = self._api_instance(servicer=permissions_servicer) - addresses_response = await api.fetch_addresses_by_role( + actors_by_role = await api.fetch_actors_by_role( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", role="role1", ) - expected_addresses = { - "addresses": addresses, + expected_actors = { + "actors": actors, } - assert addresses_response == expected_addresses + assert actors_by_role == expected_actors @pytest.mark.asyncio - async def test_fetch_vouchers_for_address( + async def test_fetch_role_managers( self, permissions_servicer, ): - coin = coin_pb.Coin(denom="inj", amount="988987297011197594664") + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + permissions_servicer.role_managers_responses.append( + permissions_query_pb.QueryRoleManagersResponse(role_managers=[role_manager]) + ) - permissions_servicer.vouchers_for_address_responses.append( - permissions_query_pb.QueryVouchersForAddressResponse(vouchers=[coin]) + api = self._api_instance(servicer=permissions_servicer) + + managers = await api.fetch_role_managers( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_managers = { + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + } + + assert managers == expected_managers + + @pytest.mark.asyncio + async def test_fetch_role_manager( + self, + permissions_servicer, + ): + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + permissions_servicer.role_manager_responses.append( + permissions_query_pb.QueryRoleManagerResponse(role_manager=role_manager) ) api = self._api_instance(servicer=permissions_servicer) - vouchers = await api.fetch_vouchers_for_address( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + managers = await api.fetch_role_manager( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", manager=role_manager.manager + ) + expected_managers = { + "roleManager": { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + } + + assert managers == expected_managers + + @pytest.mark.asyncio + async def test_fetch_policy_statuses( + self, + permissions_servicer, + ): + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=True, + ) + permissions_servicer.policy_statuses_responses.append( + permissions_query_pb.QueryPolicyStatusesResponse(policy_statuses=[policy_status]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + statuses = await api.fetch_policy_statuses( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_statuses = { + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + } + + assert statuses == expected_statuses + + @pytest.mark.asyncio + async def test_fetch_policy_manager_capabilities( + self, + permissions_servicer, + ): + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, + ) + permissions_servicer.policy_manager_capabilities_responses.append( + permissions_query_pb.QueryPolicyManagerCapabilitiesResponse( + policy_manager_capabilities=[policy_manager_capability] + ) + ) + + api = self._api_instance(servicer=permissions_servicer) + + capabilities = await api.fetch_policy_manager_capabilities( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_capabilities = { + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + } + + assert capabilities == expected_capabilities + + @pytest.mark.asyncio + async def test_fetch_vouchers( + self, + permissions_servicer, + ): + voucher = permissions_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + permissions_servicer.vouchers_responses.append(permissions_query_pb.QueryVouchersResponse(vouchers=[voucher])) + + api = self._api_instance(servicer=permissions_servicer) + + all_vouchers = await api.fetch_vouchers( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", ) expected_vouchers = { - "vouchers": [{"denom": coin.denom, "amount": coin.amount}], + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } + + assert all_vouchers == expected_vouchers + + @pytest.mark.asyncio + async def test_fetch_voucher( + self, + permissions_servicer, + ): + voucher = coin_pb.Coin(denom="inj", amount="1000000000") + permissions_servicer.voucher_responses.append(permissions_query_pb.QueryVoucherResponse(voucher=voucher)) + + api = self._api_instance(servicer=permissions_servicer) + + fetched_voucher = await api.fetch_voucher( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + ) + expected_voucher = { + "voucher": { + "denom": voucher.denom, + "amount": voucher.amount, + }, + } + + assert fetched_voucher == expected_voucher + + @pytest.mark.asyncio + async def test_fetch_permissions_module_state( + self, + permissions_servicer, + ): + params = permissions_params_pb.Params( + wasm_hook_query_max_gas=1000000, + ) + role_permission = permissions_pb.Role( + name="role1", + role_id=1, + permissions=3, + ) + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, + ) + namespace = permissions_pb.Namespace( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + contract_hook="wasm_hook", + role_permissions=[role_permission], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], + ) + voucher = permissions_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + module_state = genesis_pb.GenesisState( + params=params, + namespaces=[namespace], + vouchers=[voucher], + ) + permissions_servicer.module_state_responses.append( + permissions_query_pb.QueryModuleStateResponse( + state=module_state, + ) + ) + + api = self._api_instance(servicer=permissions_servicer) + + fetched_module_state = await api.fetch_permissions_module_state() + expected_module_state = { + "state": { + "params": { + "wasmHookQueryMaxGas": str(params.wasm_hook_query_max_gas), + }, + "namespaces": [ + { + "denom": namespace.denom, + "contractHook": namespace.contract_hook, + "rolePermissions": [ + { + "name": role_permission.name, + "roleId": role_permission.role_id, + "permissions": role_permission.permissions, + } + ], + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + } + ], + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } } - assert vouchers == expected_vouchers + assert fetched_module_state == expected_module_state def _api_instance(self, servicer): network = Network.devnet() diff --git a/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py b/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py index 71cfe72c..653b3162 100644 --- a/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py @@ -50,6 +50,7 @@ async def test_fetch_denom_authority_metadata( ): authority_metadata = token_factory_authority_metadata_pb.DenomAuthorityMetadata( admin="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + admin_burn_allowed=True, ) token_factory_query_servicer.denom_authority_metadata_responses.append( token_factory_query_pb.QueryDenomAuthorityMetadataResponse( @@ -66,6 +67,7 @@ async def test_fetch_denom_authority_metadata( expected_metadata = { "authorityMetadata": { "admin": authority_metadata.admin, + "adminBurnAllowed": authority_metadata.admin_burn_allowed, }, } @@ -99,6 +101,7 @@ async def test_fetch_tokenfactory_module_state( ) authority_metadata = token_factory_authority_metadata_pb.DenomAuthorityMetadata( admin="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + admin_burn_allowed=True, ) genesis_denom = token_factory_genesis_pb.GenesisDenom( denom="factory/inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0/ninja", @@ -130,6 +133,7 @@ async def test_fetch_tokenfactory_module_state( "denom": genesis_denom.denom, "authorityMetadata": { "admin": authority_metadata.admin, + "adminBurnAllowed": authority_metadata.admin_burn_allowed, }, "name": genesis_denom.name, "symbol": genesis_denom.symbol, diff --git a/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py b/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py index 39513fdc..10db7088 100644 --- a/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py +++ b/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py @@ -54,7 +54,7 @@ async def test_stream( price="18215000", subaccount_id="0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", fee="76503000000000000000", - order_hash=b"\xaa\xb0Ju\xa3)@\xfe\xd58N\xba\xdfG\xfd\xd8}\xe4\r\xf4\xf8a\xd9\n\xa9\xd6x+V\x9b\x02&", + order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", fee_recipient_address="inj13ylj40uqx338u5xtccujxystzy39q08q2gz3dx", cid="HBOTSIJUT60b77b9c56f0456af96c5c6c0d8", trade_id=f"{block_height}_0", @@ -100,9 +100,7 @@ async def test_stream( ) spot_order_update = chain_stream_pb.SpotOrderUpdate( status="Booked", - order_hash=( - b"\xf9\xc7\xd8v8\x84-\x9b\x99s\xf5\xdfX\xc9\xf9V\x9a\xf7\xf9\xc3\xa1\x00h\t\xc17<\xd1k\x9d\x12\xed" - ), + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", cid="cid2", order=spot_order, ) @@ -128,7 +126,7 @@ async def test_stream( ) derivative_order_update = chain_stream_pb.DerivativeOrderUpdate( status="Booked", - order_hash=b"\x03\xc9\xf8G*Q-G%\xf1\xbcF3\xe89g\xbe\xeag\xd8Y\x7f\x87\x8a\xa5\xac\x8ew\x8a\x91\xa2F", + order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", cid="cid3", order=derivative_order, ) @@ -251,7 +249,7 @@ async def test_stream( "price": spot_trade.price, "subaccountId": spot_trade.subaccount_id, "fee": spot_trade.fee, - "orderHash": base64.b64encode(spot_trade.order_hash).decode(), + "orderHash": spot_trade.order_hash, "feeRecipientAddress": spot_trade.fee_recipient_address, "cid": spot_trade.cid, "tradeId": spot_trade.trade_id, @@ -280,7 +278,7 @@ async def test_stream( "spotOrders": [ { "status": "Booked", - "orderHash": base64.b64encode(spot_order_update.order_hash).decode(), + "orderHash": spot_order_update.order_hash, "cid": spot_order_update.cid, "order": { "marketId": spot_order.market_id, @@ -303,7 +301,7 @@ async def test_stream( "derivativeOrders": [ { "status": "Booked", - "orderHash": base64.b64encode(derivative_order_update.order_hash).decode(), + "orderHash": derivative_order_update.order_hash, "cid": derivative_order_update.cid, "order": { "marketId": derivative_order.market_id, diff --git a/tests/rpc_fixtures/markets_fixtures.py b/tests/rpc_fixtures/markets_fixtures.py index 9aecaf56..68ddbea9 100644 --- a/tests/rpc_fixtures/markets_fixtures.py +++ b/tests/rpc_fixtures/markets_fixtures.py @@ -125,6 +125,8 @@ def ape_usdt_spot_market_meta(): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) return market @@ -148,6 +150,8 @@ def inj_usdt_spot_market_meta(inj_token_meta, usdt_token_meta): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) return market @@ -177,6 +181,7 @@ def btc_usdt_perp_market_meta(usdt_perp_token_meta): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) market_info = exchange_pb.PerpetualMarketInfo( market_id="0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce", @@ -233,6 +238,7 @@ def first_match_bet_market_meta(inj_usdt_spot_market_meta): settlement_price="1", min_notional="1", admin_permissions=1, + quote_decimals=6, ) return market diff --git a/tests/test_composer.py b/tests/test_composer.py index 9b7fa84a..16642c81 100644 --- a/tests/test_composer.py +++ b/tests/test_composer.py @@ -7,6 +7,7 @@ from pyinjective.composer import Composer from pyinjective.constant import ADDITIONAL_CHAIN_FORMAT_DECIMALS, INJ_DECIMALS from pyinjective.core.network import Network +from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as permissions_pb from tests.model_fixtures.markets_fixtures import ( # noqa: F401 btc_usdt_perp_market, first_match_bet_market, @@ -44,6 +45,7 @@ def test_msg_create_denom(self, basic_composer: Composer): name = "Injective Test" symbol = "INJTEST" decimals = 18 + allow_admin_burn = True message = basic_composer.msg_create_denom( sender=sender, @@ -51,6 +53,7 @@ def test_msg_create_denom(self, basic_composer: Composer): name=name, symbol=symbol, decimals=decimals, + allow_admin_burn=allow_admin_burn, ) expected_message = { @@ -59,6 +62,7 @@ def test_msg_create_denom(self, basic_composer: Composer): "name": name, "symbol": symbol, "decimals": decimals, + "allowAdminBurn": allow_admin_burn, } dict_message = json_format.MessageToDict( message=message, @@ -73,10 +77,12 @@ def test_msg_mint(self, basic_composer: Composer): amount=1_000_000, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", ) + receiver = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" message = basic_composer.msg_mint( sender=sender, amount=amount, + receiver=receiver, ) expected_message = { @@ -85,6 +91,7 @@ def test_msg_mint(self, basic_composer: Composer): "amount": str(amount.amount), "denom": amount.denom, }, + "receiver": receiver, } dict_message = json_format.MessageToDict( message=message, @@ -99,10 +106,12 @@ def test_msg_burn(self, basic_composer: Composer): amount=100, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", ) + burn_from_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" message = basic_composer.msg_burn( sender=sender, amount=amount, + burn_from_address=burn_from_address, ) expected_message = { @@ -111,6 +120,7 @@ def test_msg_burn(self, basic_composer: Composer): "amount": str(amount.amount), "denom": amount.denom, }, + "burnFromAddress": burn_from_address, } dict_message = json_format.MessageToDict( message=message, @@ -293,6 +303,8 @@ def test_msg_instant_spot_market_launch(self, basic_composer): min_price_tick_size = Decimal("0.01") min_quantity_tick_size = Decimal("1") min_notional = Decimal("2") + base_decimals = 18 + quote_decimals = 6 base_token = basic_composer.tokens[base_denom] quote_token = basic_composer.tokens[quote_denom] @@ -313,6 +325,8 @@ def test_msg_instant_spot_market_launch(self, basic_composer): min_price_tick_size=min_price_tick_size, min_quantity_tick_size=min_quantity_tick_size, min_notional=min_notional, + base_decimals=base_decimals, + quote_decimals=quote_decimals, ) expected_message = { @@ -323,6 +337,8 @@ def test_msg_instant_spot_market_launch(self, basic_composer): "minPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", "minQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", "minNotional": f"{expected_min_notional.normalize():f}", + "baseDecimals": base_decimals, + "quoteDecimals": quote_decimals, } dict_message = json_format.MessageToDict( message=message, @@ -1708,57 +1724,129 @@ def test_msg_ibc_transfer(self, basic_composer): def test_msg_create_namespace(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - wasmhook = "wasmhook" - mints_paused = True - sends_paused = False - burns_paused = True + contract_hook = "contrachook" permissions_role1 = basic_composer.permissions_role( - role="role1", - permissions=1, + name="role1", + role_id=1, + permissions=5, ) permissions_role2 = basic_composer.permissions_role( - role="role2", - permissions=2, + name="role2", + role_id=2, + permissions=6, ) - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + actor_roles1 = basic_composer.permissions_actor_roles( + actor="actor1", roles=["role1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + actor_roles2 = basic_composer.permissions_actor_roles( + actor="actor2", roles=["role2"], ) + role_manager1 = basic_composer.permissions_role_manager( + manager="manager1", + roles=["role1"], + ) + role_manager2 = basic_composer.permissions_role_manager( + manager="manager2", + roles=["role2"], + ) + policy_status1 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=True, + ) + policy_status2 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + is_disabled=True, + is_sealed=False, + ) + policy_manager_capability1 = basic_composer.permissions_policy_manager_capability( + manager="manager1", + action=basic_composer.PERMISSIONS_ACTION["MINT"], + can_disable=False, + can_seal=True, + ) + policy_manager_capability2 = basic_composer.permissions_policy_manager_capability( + manager="manager2", + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + can_disable=True, + can_seal=False, + ) message = basic_composer.msg_create_namespace( sender=sender, denom=denom, - wasm_hook=wasmhook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, + contract_hook=contract_hook, role_permissions=[permissions_role1, permissions_role2], - address_roles=[permissions_address_roles1, permissions_address_roles2], + actor_roles=[actor_roles1, actor_roles2], + role_managers=[role_manager1, role_manager2], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability1, policy_manager_capability2], ) expected_message = { "sender": sender, "namespace": { "denom": denom, - "wasmHook": wasmhook, - "mintsPaused": mints_paused, - "sendsPaused": sends_paused, - "burnsPaused": burns_paused, + "contractHook": contract_hook, "rolePermissions": [ - json_format.MessageToDict(message=permissions_role1, always_print_fields_with_no_presence=True), - json_format.MessageToDict(message=permissions_role2, always_print_fields_with_no_presence=True), + { + "name": permissions_role1.name, + "roleId": permissions_role1.role_id, + "permissions": permissions_role1.permissions, + }, + { + "name": permissions_role2.name, + "roleId": permissions_role2.role_id, + "permissions": permissions_role2.permissions, + }, + ], + "actorRoles": [ + { + "actor": actor_roles1.actor, + "roles": actor_roles1.roles, + }, + { + "actor": actor_roles2.actor, + "roles": actor_roles2.roles, + }, + ], + "roleManagers": [ + { + "manager": role_manager1.manager, + "roles": role_manager1.roles, + }, + { + "manager": role_manager2.manager, + "roles": role_manager2.roles, + }, + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status1.action), + "isDisabled": policy_status1.is_disabled, + "isSealed": policy_status1.is_sealed, + }, + { + "action": policy_status2.action, + "isDisabled": policy_status2.is_disabled, + "isSealed": policy_status2.is_sealed, + }, ], - "addressRoles": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability1.manager, + "action": permissions_pb.Action.Name(policy_manager_capability1.action), + "canDisable": policy_manager_capability1.can_disable, + "canSeal": policy_manager_capability1.can_seal, + }, + { + "manager": policy_manager_capability2.manager, + "action": policy_manager_capability2.action, + "canDisable": policy_manager_capability2.can_disable, + "canSeal": policy_manager_capability2.can_seal, + }, ], }, } @@ -1769,99 +1857,114 @@ def test_msg_create_namespace(self, basic_composer): ) assert dict_message == expected_message - def test_msg_delete_namespace(self, basic_composer): - sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - denom = "inj" - - message = basic_composer.msg_delete_namespace( - sender=sender, - namespace_denom=denom, - ) - - expected_message = { - "sender": sender, - "namespaceDenom": denom, - } - - dict_message = json_format.MessageToDict( - message=message, - always_print_fields_with_no_presence=True, - ) - assert dict_message == expected_message - def test_msg_update_namespace(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - wasmhook = "wasmhook" - mints_paused = True - sends_paused = False - burns_paused = True - - message = basic_composer.msg_update_namespace( - sender=sender, - namespace_denom=denom, - wasm_hook=wasmhook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, - ) - - expected_message = { - "sender": sender, - "namespaceDenom": denom, - "wasmHook": {"newValue": wasmhook}, - "mintsPaused": {"newValue": mints_paused}, - "sendsPaused": {"newValue": sends_paused}, - "burnsPaused": {"newValue": burns_paused}, - } - - dict_message = json_format.MessageToDict( - message=message, - always_print_fields_with_no_presence=True, - ) - assert dict_message == expected_message - - def test_msg_update_namespace_roles(self, basic_composer): - sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - denom = "inj" + contract_hook = "contracthook" permissions_role1 = basic_composer.permissions_role( - role="role1", - permissions=1, + name="role1", + role_id=1, + permissions=5, ) permissions_role2 = basic_composer.permissions_role( - role="role2", - permissions=2, + name="role2", + role_id=2, + permissions=6, ) - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + role_manager1 = basic_composer.permissions_role_manager( + manager="manager1", roles=["role1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + role_manager2 = basic_composer.permissions_role_manager( + manager="manager2", roles=["role2"], ) + policy_status1 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=True, + ) + policy_status2 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + is_disabled=True, + is_sealed=False, + ) + policy_manager_capability1 = basic_composer.permissions_policy_manager_capability( + manager="manager1", + action=basic_composer.PERMISSIONS_ACTION["MINT"], + can_disable=False, + can_seal=True, + ) + policy_manager_capability2 = basic_composer.permissions_policy_manager_capability( + manager="manager2", + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + can_disable=True, + can_seal=False, + ) - message = basic_composer.msg_update_namespace_roles( + message = basic_composer.msg_update_namespace( sender=sender, - namespace_denom=denom, + denom=denom, + contract_hook=contract_hook, role_permissions=[permissions_role1, permissions_role2], - address_roles=[permissions_address_roles1, permissions_address_roles2], + role_managers=[role_manager1, role_manager2], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability1, policy_manager_capability2], ) expected_message = { "sender": sender, - "namespaceDenom": denom, + "denom": denom, + "contractHook": { + "newValue": contract_hook, + }, "rolePermissions": [ - json_format.MessageToDict(message=permissions_role1, always_print_fields_with_no_presence=True), - json_format.MessageToDict(message=permissions_role2, always_print_fields_with_no_presence=True), + { + "name": permissions_role1.name, + "roleId": permissions_role1.role_id, + "permissions": permissions_role1.permissions, + }, + { + "name": permissions_role2.name, + "roleId": permissions_role2.role_id, + "permissions": permissions_role2.permissions, + }, ], - "addressRoles": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "roleManagers": [ + { + "manager": role_manager1.manager, + "roles": role_manager1.roles, + }, + { + "manager": role_manager2.manager, + "roles": role_manager2.roles, + }, + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status1.action), + "isDisabled": policy_status1.is_disabled, + "isSealed": policy_status1.is_sealed, + }, + { + "action": policy_status2.action, + "isDisabled": policy_status2.is_disabled, + "isSealed": policy_status2.is_sealed, + }, + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability1.manager, + "action": permissions_pb.Action.Name(policy_manager_capability1.action), + "canDisable": policy_manager_capability1.can_disable, + "canSeal": policy_manager_capability1.can_seal, + }, + { + "manager": policy_manager_capability2.manager, + "action": policy_manager_capability2.action, + "canDisable": policy_manager_capability2.can_disable, + "canSeal": policy_manager_capability2.can_seal, + }, ], } @@ -1871,33 +1974,55 @@ def test_msg_update_namespace_roles(self, basic_composer): ) assert dict_message == expected_message - def test_msg_revoke_namespace_roles(self, basic_composer): + def test_msg_update_actor_roles(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role1"], + role_actors1 = basic_composer.permissions_role_actors( + role="role1", + actors=["actor1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role2"], + role_actors2 = basic_composer.permissions_role_actors( + role="role2", + actors=["actor2"], + ) + role_actors3 = basic_composer.permissions_role_actors( + role="role3", + actors=["actor3"], + ) + role_actors4 = basic_composer.permissions_role_actors( + role="role4", + actors=["actor4"], ) - message = basic_composer.msg_revoke_namespace_roles( + + message = basic_composer.msg_update_actor_roles( sender=sender, - namespace_denom=denom, - address_roles_to_revoke=[permissions_address_roles1, permissions_address_roles2], + denom=denom, + role_actors_to_add=[role_actors1, role_actors2], + role_actors_to_revoke=[role_actors3, role_actors4], ) expected_message = { "sender": sender, - "namespaceDenom": denom, - "addressRolesToRevoke": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "denom": denom, + "roleActorsToAdd": [ + { + "role": role_actors1.role, + "actors": role_actors1.actors, + }, + { + "role": role_actors2.role, + "actors": role_actors2.actors, + }, + ], + "roleActorsToRevoke": [ + { + "role": role_actors3.role, + "actors": role_actors3.actors, + }, + { + "role": role_actors4.role, + "actors": role_actors4.actors, + }, ], } From 5c0fb1fb17cff27e8df85179743bdffb0a6f7b61 Mon Sep 17 00:00:00 2001 From: PavelInjective Date: Thu, 14 Nov 2024 15:07:27 +0100 Subject: [PATCH 3/4] (fix) Edit version in pyproject.toml --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 067056d3..024cbe31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "injective-py" -version = "1.8.1" +version = "1.9.0-pre" description = "Injective Python SDK, with Exchange API Client" authors = ["Injective Labs "] license = "Apache-2.0" From e1c526edce59a16bec91cb2f4a643a96dbb3c62e Mon Sep 17 00:00:00 2001 From: Abel Armoa <30988000+aarmoa@users.noreply.github.com> Date: Thu, 5 Dec 2024 16:42:00 -0300 Subject: [PATCH 4/4] (feat) Updated queries and messages from the Permissions module to support the new version --- CHANGELOG.md | 3 + buf.gen.yaml | 8 +- .../exchange/3_MsgInstantSpotMarketLaunch.py | 2 + .../permissions/1_MsgCreateNamespace.py | 68 ++- .../permissions/2_MsgDeleteNamespace.py | 42 -- .../permissions/2_MsgUpdateNamespace.py | 82 +++ ...spaceRoles.py => 3_MsgUpdateActorRoles.py} | 30 +- .../permissions/3_MsgUpdateNamespace.py | 47 -- ...sgClaimVoucher.py => 4_MsgClaimVoucher.py} | 0 .../permissions/5_MsgRevokeNamespaceRoles.py | 46 -- .../permissions/query/10_Vouchers.py | 17 + .../{3_AddressRoles.py => 11_Voucher.py} | 4 +- ...ddress.py => 12_PermissionsModuleState.py} | 5 +- .../permissions/query/1_NamespaceDenoms.py | 16 + .../{1_AllNamespaces.py => 2_Namespaces.py} | 2 +- .../{2_NamespaceByDenom.py => 3_Namespace.py} | 2 +- .../permissions/query/4_RolesByActor.py | 18 + ...4_AddressesByRole.py => 5_ActorsByRole.py} | 2 +- .../permissions/query/6_RoleManagers.py | 17 + .../permissions/query/7_RoleManager.py | 18 + .../permissions/query/8_PolicyStatuses.py | 17 + .../query/9_PolicyManagerCapabilities.py | 17 + .../tokenfactory/1_CreateDenom.py | 1 + .../chain_client/tokenfactory/2_MsgMint.py | 1 + .../chain_client/tokenfactory/3_MsgBurn.py | 1 + pyinjective/async_client.py | 43 +- .../chain/grpc/chain_grpc_permissions_api.py | 72 ++- pyinjective/composer.py | 129 ++--- pyinjective/proto/google/api/client_pb2.py | 78 +-- pyinjective/proto/google/api/httpbody_pb2.py | 4 +- .../google/longrunning/operations_pb2.py | 4 +- .../google/longrunning/operations_pb2_grpc.py | 49 +- .../injective/auction/v1beta1/auction_pb2.py | 26 +- .../exchange/v1beta1/exchange_pb2.py | 216 ++++---- .../exchange/v1beta1/proposal_pb2.py | 88 ++-- .../injective/exchange/v1beta1/query_pb2.py | 64 ++- .../exchange/v1beta1/query_pb2_grpc.py | 86 +++ .../injective/exchange/v1beta1/tx_pb2.py | 256 ++++----- .../permissions/v1beta1/genesis_pb2.py | 4 +- .../permissions/v1beta1/permissions_pb2.py | 40 +- .../permissions/v1beta1/query_pb2.py | 112 ++-- .../permissions/v1beta1/query_pb2_grpc.py | 452 +++++++++++++--- .../injective/permissions/v1beta1/tx_pb2.py | 64 +-- .../permissions/v1beta1/tx_pb2_grpc.py | 112 +--- .../injective/stream/v1beta1/query_pb2.py | 2 +- .../v1beta1/authorityMetadata_pb2.py | 8 +- .../tokenfactory/v1beta1/events_pb2.py | 34 +- .../injective/tokenfactory/v1beta1/tx_pb2.py | 64 ++- .../tokenfactory/v1beta1/tx_pb2_grpc.py | 6 +- ...configurable_permissions_query_servicer.py | 68 ++- .../chain/grpc/test_chain_grpc_auction_api.py | 48 +- .../grpc/test_chain_grpc_exchange_api.py | 22 + .../grpc/test_chain_grpc_permissions_api.py | 491 +++++++++++++++--- .../grpc/test_chain_grpc_token_factory_api.py | 4 + .../test_chain_grpc_chain_stream.py | 14 +- tests/rpc_fixtures/markets_fixtures.py | 6 + tests/test_composer.py | 367 ++++++++----- 57 files changed, 2316 insertions(+), 1183 deletions(-) delete mode 100644 examples/chain_client/permissions/2_MsgDeleteNamespace.py create mode 100644 examples/chain_client/permissions/2_MsgUpdateNamespace.py rename examples/chain_client/permissions/{4_MsgUpdateNamespaceRoles.py => 3_MsgUpdateActorRoles.py} (62%) delete mode 100644 examples/chain_client/permissions/3_MsgUpdateNamespace.py rename examples/chain_client/permissions/{6_MsgClaimVoucher.py => 4_MsgClaimVoucher.py} (100%) delete mode 100644 examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py create mode 100644 examples/chain_client/permissions/query/10_Vouchers.py rename examples/chain_client/permissions/query/{3_AddressRoles.py => 11_Voucher.py} (77%) rename examples/chain_client/permissions/query/{5_VouchersForAddress.py => 12_PermissionsModuleState.py} (63%) create mode 100644 examples/chain_client/permissions/query/1_NamespaceDenoms.py rename examples/chain_client/permissions/query/{1_AllNamespaces.py => 2_Namespaces.py} (82%) rename examples/chain_client/permissions/query/{2_NamespaceByDenom.py => 3_Namespace.py} (76%) create mode 100644 examples/chain_client/permissions/query/4_RolesByActor.py rename examples/chain_client/permissions/query/{4_AddressesByRole.py => 5_ActorsByRole.py} (79%) create mode 100644 examples/chain_client/permissions/query/6_RoleManagers.py create mode 100644 examples/chain_client/permissions/query/7_RoleManager.py create mode 100644 examples/chain_client/permissions/query/8_PolicyStatuses.py create mode 100644 examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py diff --git a/CHANGELOG.md b/CHANGELOG.md index dcd41f91..d7535ee6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ All notable changes to this project will be documented in this file. +## [1.9.0] - 9999-99-99 +### Added +- Added support for all new queries and messages from the new Permissions module ## [1.8.1] - 2024-12-04 ### Changed diff --git a/buf.gen.yaml b/buf.gen.yaml index 1cb56c02..4e0739c5 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -20,10 +20,10 @@ inputs: # - git_repo: https://github.com/InjectiveLabs/wasmd # branch: v0.51.x-inj # subdir: proto - - git_repo: https://github.com/InjectiveLabs/injective-core - tag: v1.13.0 - subdir: proto # - git_repo: https://github.com/InjectiveLabs/injective-core -# branch: master +# tag: v1.13.0 # subdir: proto + - git_repo: https://github.com/InjectiveLabs/injective-core + branch: f/permissions-rework + subdir: proto - directory: proto diff --git a/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py b/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py index fe7c5ad4..53459eeb 100644 --- a/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py +++ b/examples/chain_client/exchange/3_MsgInstantSpotMarketLaunch.py @@ -43,6 +43,8 @@ async def main() -> None: min_price_tick_size=Decimal("0.001"), min_quantity_tick_size=Decimal("0.01"), min_notional=Decimal("1"), + base_decimals=18, + quote_decimals=6, ) # broadcast the transaction diff --git a/examples/chain_client/permissions/1_MsgCreateNamespace.py b/examples/chain_client/permissions/1_MsgCreateNamespace.py index bc21752d..25dca4e3 100644 --- a/examples/chain_client/permissions/1_MsgCreateNamespace.py +++ b/examples/chain_client/permissions/1_MsgCreateNamespace.py @@ -26,26 +26,68 @@ async def main() -> None: pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" role1 = composer.permissions_role( - role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE, - permissions=composer.MINT_ACTION_PERMISSION - | composer.RECEIVE_ACTION_PERMISSION - | composer.BURN_ACTION_PERMISSION, + name="EVERYONE", + role_id=0, + permissions=composer.PERMISSIONS_ACTION["RECEIVE"] | composer.PERMISSIONS_ACTION["SEND"], + ) + role2 = composer.permissions_role( + name="admin", + role_id=1, + permissions=composer.PERMISSIONS_ACTION["MODIFY_ROLE_PERMISSIONS"] + | composer.PERMISSIONS_ACTION["MODIFY_ADDRESS_ROLES"], + ) + role3 = composer.permissions_role( + name="user", + role_id=2, + permissions=composer.PERMISSIONS_ACTION["MINT"] + | composer.PERMISSIONS_ACTION["RECEIVE"] + | composer.PERMISSIONS_ACTION["BURN"] + | composer.PERMISSIONS_ACTION["SEND"], + ) + + actor_role1 = composer.permissions_actor_roles( + actor="inj1specificactoraddress", + roles=["admin"], + ) + actor_role2 = composer.permissions_actor_roles( + actor="inj1anotheractoraddress", + roles=["user"], + ) + + role_manager = composer.permissions_role_manager( + manager="inj1manageraddress", + roles=["admin"], + ) + + policy_status1 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=False, + ) + policy_status2 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["BURN"], + is_disabled=False, + is_sealed=False, + ) + + policy_manager_capability = composer.permissions_policy_manager_capability( + manager="inj1policymanageraddress", + action=composer.PERMISSIONS_ACTION["MODIFY_CONTRACT_HOOK"], + can_disable=True, + can_seal=False, ) - role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION) - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) message = composer.msg_create_namespace( sender=address.to_acc_bech32(), denom=denom, - wasm_hook="", - mints_paused=False, - sends_paused=False, - burns_paused=False, - role_permissions=[role1, role2], - address_roles=[address_role1], + contract_hook="", + role_permissions=[role1, role2, role3], + actor_roles=[actor_role1, actor_role2], + role_managers=[role_manager], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability], ) # broadcast the transaction diff --git a/examples/chain_client/permissions/2_MsgDeleteNamespace.py b/examples/chain_client/permissions/2_MsgDeleteNamespace.py deleted file mode 100644 index fc412b5a..00000000 --- a/examples/chain_client/permissions/2_MsgDeleteNamespace.py +++ /dev/null @@ -1,42 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - message = composer.msg_delete_namespace( - sender=address.to_acc_bech32(), - namespace_denom=denom, - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/2_MsgUpdateNamespace.py b/examples/chain_client/permissions/2_MsgUpdateNamespace.py new file mode 100644 index 00000000..aefc13d4 --- /dev/null +++ b/examples/chain_client/permissions/2_MsgUpdateNamespace.py @@ -0,0 +1,82 @@ +import asyncio +import os + +import dotenv + +from pyinjective.composer import Composer as ProtoMsgComposer +from pyinjective.core.broadcaster import MsgBroadcasterWithPk +from pyinjective.core.network import Network +from pyinjective.wallet import PrivateKey + + +async def main() -> None: + dotenv.load_dotenv() + private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") + + # select network: local, testnet, mainnet + network = Network.devnet() + composer = ProtoMsgComposer(network=network.string()) + + message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( + network=network, + private_key=private_key_in_hexa, + ) + + priv_key = PrivateKey.from_hex(private_key_in_hexa) + pub_key = priv_key.to_public_key() + address = pub_key.to_address() + + denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" + + role1 = composer.permissions_role( + name="EVERYONE", + role_id=0, + permissions=composer.PERMISSIONS_ACTION["UNSPECIFIED"], # revoke all permissions + ) + role2 = composer.permissions_role( + name="user", + role_id=2, + permissions=composer.PERMISSIONS_ACTION["RECEIVE"] | composer.PERMISSIONS_ACTION["SEND"], + ) + + role_manager = composer.permissions_role_manager( + manager="inj1manageraddress", + roles=["admin", "user"], + ) + + policy_status1 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["MINT"], + is_disabled=True, + is_sealed=False, + ) + policy_status2 = composer.permissions_policy_status( + action=composer.PERMISSIONS_ACTION["BURN"], + is_disabled=False, + is_sealed=True, + ) + + policy_manager_capability = composer.permissions_policy_manager_capability( + manager="inj1policymanageraddress", + action=composer.PERMISSIONS_ACTION["MODIFY_ROLE_PERMISSIONS"], + can_disable=True, + can_seal=False, + ) + + message = composer.msg_update_namespace( + sender=address.to_acc_bech32(), + denom=denom, + contract_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m", + role_permissions=[role1, role2], + role_managers=[role_manager], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability], + ) + + # broadcast the transaction + result = await message_broadcaster.broadcast([message]) + print("---Transaction Response---") + print(result) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py b/examples/chain_client/permissions/3_MsgUpdateActorRoles.py similarity index 62% rename from examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py rename to examples/chain_client/permissions/3_MsgUpdateActorRoles.py index 1af4e96f..7ab3e86a 100644 --- a/examples/chain_client/permissions/4_MsgUpdateNamespaceRoles.py +++ b/examples/chain_client/permissions/3_MsgUpdateActorRoles.py @@ -26,20 +26,30 @@ async def main() -> None: pub_key = priv_key.to_public_key() address = pub_key.to_address() - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - role1 = composer.permissions_role( - role=composer.DEFAULT_PERMISSIONS_EVERYONE_ROLE, - permissions=composer.RECEIVE_ACTION_PERMISSION, + + role_actors1 = composer.permissions_role_actors( + role="admin", + actors=["inj1actoraddress1", "inj1actoraddress2"], + ) + role_actors2 = composer.permissions_role_actors( + role="user", + actors=["inj1actoraddress3"], + ) + role_actors3 = composer.permissions_role_actors( + role="user", + actors=["inj1actoraddress4"], + ) + role_actors4 = composer.permissions_role_actors( + role="admin", + actors=["inj1actoraddress5"], ) - role2 = composer.permissions_role(role="blacklisted", permissions=composer.UNDEFINED_ACTION_PERMISSION) - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) - message = composer.msg_update_namespace_roles( + message = composer.msg_update_actor_roles( sender=address.to_acc_bech32(), - namespace_denom=denom, - role_permissions=[role1, role2], - address_roles=[address_role1], + denom=denom, + role_actors_to_add=[role_actors1, role_actors2], + role_actors_to_revoke=[role_actors3, role_actors4], ) # broadcast the transaction diff --git a/examples/chain_client/permissions/3_MsgUpdateNamespace.py b/examples/chain_client/permissions/3_MsgUpdateNamespace.py deleted file mode 100644 index 96c671c8..00000000 --- a/examples/chain_client/permissions/3_MsgUpdateNamespace.py +++ /dev/null @@ -1,47 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - - message = composer.msg_update_namespace( - sender=address.to_acc_bech32(), - namespace_denom=denom, - wasm_hook="inj19ld6swyldyujcn72j7ugnu9twafhs9wxlyye5m", - mints_paused=True, - sends_paused=True, - burns_paused=True, - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/6_MsgClaimVoucher.py b/examples/chain_client/permissions/4_MsgClaimVoucher.py similarity index 100% rename from examples/chain_client/permissions/6_MsgClaimVoucher.py rename to examples/chain_client/permissions/4_MsgClaimVoucher.py diff --git a/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py b/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py deleted file mode 100644 index 313aff42..00000000 --- a/examples/chain_client/permissions/5_MsgRevokeNamespaceRoles.py +++ /dev/null @@ -1,46 +0,0 @@ -import asyncio -import os - -import dotenv - -from pyinjective.composer import Composer as ProtoMsgComposer -from pyinjective.core.broadcaster import MsgBroadcasterWithPk -from pyinjective.core.network import Network -from pyinjective.wallet import PrivateKey - - -async def main() -> None: - dotenv.load_dotenv() - private_key_in_hexa = os.getenv("INJECTIVE_PRIVATE_KEY") - - # select network: local, testnet, mainnet - network = Network.devnet() - composer = ProtoMsgComposer(network=network.string()) - - message_broadcaster = MsgBroadcasterWithPk.new_using_simulation( - network=network, - private_key=private_key_in_hexa, - ) - - priv_key = PrivateKey.from_hex(private_key_in_hexa) - pub_key = priv_key.to_public_key() - address = pub_key.to_address() - - blocked_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" - denom = "factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test" - address_role1 = composer.permissions_address_roles(address=blocked_address, roles=["blacklisted"]) - - message = composer.msg_revoke_namespace_roles( - sender=address.to_acc_bech32(), - namespace_denom=denom, - address_roles_to_revoke=[address_role1], - ) - - # broadcast the transaction - result = await message_broadcaster.broadcast([message]) - print("---Transaction Response---") - print(result) - - -if __name__ == "__main__": - asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/10_Vouchers.py b/examples/chain_client/permissions/query/10_Vouchers.py new file mode 100644 index 00000000..46f250b6 --- /dev/null +++ b/examples/chain_client/permissions/query/10_Vouchers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + vouchers = await client.fetch_permissions_vouchers(denom=denom) + print(vouchers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/3_AddressRoles.py b/examples/chain_client/permissions/query/11_Voucher.py similarity index 77% rename from examples/chain_client/permissions/query/3_AddressRoles.py rename to examples/chain_client/permissions/query/11_Voucher.py index 18482aa8..01bfcb10 100644 --- a/examples/chain_client/permissions/query/3_AddressRoles.py +++ b/examples/chain_client/permissions/query/11_Voucher.py @@ -10,8 +10,8 @@ async def main() -> None: denom = "inj" address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" - roles = await client.fetch_permissions_address_roles(denom=denom, address=address) - print(roles) + voucher = await client.fetch_permissions_voucher(denom=denom, address=address) + print(voucher) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/query/5_VouchersForAddress.py b/examples/chain_client/permissions/query/12_PermissionsModuleState.py similarity index 63% rename from examples/chain_client/permissions/query/5_VouchersForAddress.py rename to examples/chain_client/permissions/query/12_PermissionsModuleState.py index 91e91df7..14d7f22f 100644 --- a/examples/chain_client/permissions/query/5_VouchersForAddress.py +++ b/examples/chain_client/permissions/query/12_PermissionsModuleState.py @@ -8,9 +8,8 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - address = "inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr" - addresses = await client.fetch_permissions_vouchers_for_address(address=address) - print(addresses) + state = await client.fetch_permissions_module_state() + print(state) if __name__ == "__main__": diff --git a/examples/chain_client/permissions/query/1_NamespaceDenoms.py b/examples/chain_client/permissions/query/1_NamespaceDenoms.py new file mode 100644 index 00000000..bafc7f0a --- /dev/null +++ b/examples/chain_client/permissions/query/1_NamespaceDenoms.py @@ -0,0 +1,16 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + namespaces = await client.fetch_permissions_namespace_denoms() + print(namespaces) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/1_AllNamespaces.py b/examples/chain_client/permissions/query/2_Namespaces.py similarity index 82% rename from examples/chain_client/permissions/query/1_AllNamespaces.py rename to examples/chain_client/permissions/query/2_Namespaces.py index 775ee1c6..a9a1b25c 100644 --- a/examples/chain_client/permissions/query/1_AllNamespaces.py +++ b/examples/chain_client/permissions/query/2_Namespaces.py @@ -8,7 +8,7 @@ async def main() -> None: network = Network.testnet() client = AsyncClient(network) - namespaces = await client.fetch_all_permissions_namespaces() + namespaces = await client.fetch_permissions_namespaces() print(namespaces) diff --git a/examples/chain_client/permissions/query/2_NamespaceByDenom.py b/examples/chain_client/permissions/query/3_Namespace.py similarity index 76% rename from examples/chain_client/permissions/query/2_NamespaceByDenom.py rename to examples/chain_client/permissions/query/3_Namespace.py index 165ddb06..a8046443 100644 --- a/examples/chain_client/permissions/query/2_NamespaceByDenom.py +++ b/examples/chain_client/permissions/query/3_Namespace.py @@ -9,7 +9,7 @@ async def main() -> None: client = AsyncClient(network) denom = "inj" - namespace = await client.fetch_permissions_namespace_by_denom(denom=denom, include_roles=True) + namespace = await client.fetch_permissions_namespace(denom=denom) print(namespace) diff --git a/examples/chain_client/permissions/query/4_RolesByActor.py b/examples/chain_client/permissions/query/4_RolesByActor.py new file mode 100644 index 00000000..03840eaf --- /dev/null +++ b/examples/chain_client/permissions/query/4_RolesByActor.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + actor = "actor" + roles = await client.fetch_permissions_roles_by_actor(denom=denom, actor=actor) + print(roles) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/4_AddressesByRole.py b/examples/chain_client/permissions/query/5_ActorsByRole.py similarity index 79% rename from examples/chain_client/permissions/query/4_AddressesByRole.py rename to examples/chain_client/permissions/query/5_ActorsByRole.py index 05466776..c1f93b44 100644 --- a/examples/chain_client/permissions/query/4_AddressesByRole.py +++ b/examples/chain_client/permissions/query/5_ActorsByRole.py @@ -10,7 +10,7 @@ async def main() -> None: denom = "inj" role = "roleName" - addresses = await client.fetch_permissions_addresses_by_role(denom=denom, role=role) + addresses = await client.fetch_permissions_actors_by_role(denom=denom, role=role) print(addresses) diff --git a/examples/chain_client/permissions/query/6_RoleManagers.py b/examples/chain_client/permissions/query/6_RoleManagers.py new file mode 100644 index 00000000..67cf0a39 --- /dev/null +++ b/examples/chain_client/permissions/query/6_RoleManagers.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + managers = await client.fetch_permissions_role_managers(denom=denom) + print(managers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/7_RoleManager.py b/examples/chain_client/permissions/query/7_RoleManager.py new file mode 100644 index 00000000..e6ff8d2a --- /dev/null +++ b/examples/chain_client/permissions/query/7_RoleManager.py @@ -0,0 +1,18 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + manager = "manager" + managers = await client.fetch_permissions_role_manager(denom=denom, manager=manager) + print(managers) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/8_PolicyStatuses.py b/examples/chain_client/permissions/query/8_PolicyStatuses.py new file mode 100644 index 00000000..4617a72b --- /dev/null +++ b/examples/chain_client/permissions/query/8_PolicyStatuses.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + policy_statuses = await client.fetch_permissions_policy_statuses(denom=denom) + print(policy_statuses) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py b/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py new file mode 100644 index 00000000..87accfa9 --- /dev/null +++ b/examples/chain_client/permissions/query/9_PolicyManagerCapabilities.py @@ -0,0 +1,17 @@ +import asyncio + +from pyinjective.async_client import AsyncClient +from pyinjective.core.network import Network + + +async def main() -> None: + network = Network.testnet() + client = AsyncClient(network) + + denom = "inj" + policy_manager_capabilities = await client.fetch_permissions_policy_manager_capabilities(denom=denom) + print(policy_manager_capabilities) + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(main()) diff --git a/examples/chain_client/tokenfactory/1_CreateDenom.py b/examples/chain_client/tokenfactory/1_CreateDenom.py index a317e298..a4bd2ef3 100644 --- a/examples/chain_client/tokenfactory/1_CreateDenom.py +++ b/examples/chain_client/tokenfactory/1_CreateDenom.py @@ -32,6 +32,7 @@ async def main() -> None: name="Injective Test Token", symbol="INJTEST", decimals=18, + allow_admin_burn=False, ) # broadcast the transaction diff --git a/examples/chain_client/tokenfactory/2_MsgMint.py b/examples/chain_client/tokenfactory/2_MsgMint.py index b6617431..4534ad1c 100644 --- a/examples/chain_client/tokenfactory/2_MsgMint.py +++ b/examples/chain_client/tokenfactory/2_MsgMint.py @@ -31,6 +31,7 @@ async def main() -> None: message = composer.msg_mint( sender=address.to_acc_bech32(), amount=amount, + receiver="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", ) # broadcast the transaction diff --git a/examples/chain_client/tokenfactory/3_MsgBurn.py b/examples/chain_client/tokenfactory/3_MsgBurn.py index c4aa013a..790bfbf3 100644 --- a/examples/chain_client/tokenfactory/3_MsgBurn.py +++ b/examples/chain_client/tokenfactory/3_MsgBurn.py @@ -31,6 +31,7 @@ async def main() -> None: message = composer.msg_burn( sender=address.to_acc_bech32(), amount=amount, + burn_from_address="inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r", ) # broadcast the transaction diff --git a/pyinjective/async_client.py b/pyinjective/async_client.py index ea12cb1d..56853ba6 100644 --- a/pyinjective/async_client.py +++ b/pyinjective/async_client.py @@ -3214,22 +3214,41 @@ async def fetch_ibc_connection_params(self) -> Dict[str, Any]: # ------------------------------ # region Permissions module - async def fetch_all_permissions_namespaces(self) -> Dict[str, Any]: - return await self.permissions_api.fetch_all_namespaces() + async def fetch_permissions_namespace_denoms(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespace_denoms() - async def fetch_permissions_namespace_by_denom( - self, denom: str, include_roles: Optional[bool] = None - ) -> Dict[str, Any]: - return await self.permissions_api.fetch_namespace_by_denom(denom=denom, include_roles=include_roles) + async def fetch_permissions_namespaces(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespaces() + + async def fetch_permissions_namespace(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_namespace(denom=denom) + + async def fetch_permissions_roles_by_actor(self, denom: str, actor: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_roles_by_actor(denom=denom, actor=actor) + + async def fetch_permissions_actors_by_role(self, denom: str, role: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_actors_by_role(denom=denom, role=role) + + async def fetch_permissions_role_managers(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_role_managers(denom=denom) + + async def fetch_permissions_role_manager(self, denom: str, manager: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_role_manager(denom=denom, manager=manager) + + async def fetch_permissions_policy_statuses(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_policy_statuses(denom=denom) + + async def fetch_permissions_policy_manager_capabilities(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_policy_manager_capabilities(denom=denom) - async def fetch_permissions_address_roles(self, denom: str, address: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_address_roles(denom=denom, address=address) + async def fetch_permissions_vouchers(self, denom: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_vouchers(denom=denom) - async def fetch_permissions_addresses_by_role(self, denom: str, role: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_addresses_by_role(denom=denom, role=role) + async def fetch_permissions_voucher(self, denom: str, address: str) -> Dict[str, Any]: + return await self.permissions_api.fetch_voucher(denom=denom, address=address) - async def fetch_permissions_vouchers_for_address(self, address: str) -> Dict[str, Any]: - return await self.permissions_api.fetch_vouchers_for_address(address=address) + async def fetch_permissions_module_state(self) -> Dict[str, Any]: + return await self.permissions_api.fetch_permissions_module_state() # endregion diff --git a/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py b/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py index 4a268981..cdbc4c25 100644 --- a/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py +++ b/pyinjective/client/chain/grpc/chain_grpc_permissions_api.py @@ -21,33 +21,75 @@ async def fetch_module_params(self) -> Dict[str, Any]: return response - async def fetch_all_namespaces(self) -> Dict[str, Any]: - request = permissions_query_pb.QueryAllNamespacesRequest() - response = await self._execute_call(call=self._stub.AllNamespaces, request=request) + async def fetch_namespace_denoms(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespaceDenomsRequest() + response = await self._execute_call(call=self._stub.NamespaceDenoms, request=request) return response - async def fetch_namespace_by_denom(self, denom: str, include_roles: bool) -> Dict[str, Any]: - request = permissions_query_pb.QueryNamespaceByDenomRequest(denom=denom, include_roles=include_roles) - response = await self._execute_call(call=self._stub.NamespaceByDenom, request=request) + async def fetch_namespaces(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespacesRequest() + response = await self._execute_call(call=self._stub.Namespaces, request=request) return response - async def fetch_address_roles(self, denom: str, address: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryAddressRolesRequest(denom=denom, address=address) - response = await self._execute_call(call=self._stub.AddressRoles, request=request) + async def fetch_namespace(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryNamespaceRequest(denom=denom) + response = await self._execute_call(call=self._stub.Namespace, request=request) return response - async def fetch_addresses_by_role(self, denom: str, role: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryAddressesByRoleRequest(denom=denom, role=role) - response = await self._execute_call(call=self._stub.AddressesByRole, request=request) + async def fetch_roles_by_actor(self, denom: str, actor: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRolesByActorRequest(denom=denom, actor=actor) + response = await self._execute_call(call=self._stub.RolesByActor, request=request) return response - async def fetch_vouchers_for_address(self, address: str) -> Dict[str, Any]: - request = permissions_query_pb.QueryVouchersForAddressRequest(address=address) - response = await self._execute_call(call=self._stub.VouchersForAddress, request=request) + async def fetch_actors_by_role(self, denom: str, role: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryActorsByRoleRequest(denom=denom, role=role) + response = await self._execute_call(call=self._stub.ActorsByRole, request=request) + + return response + + async def fetch_role_managers(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRoleManagersRequest(denom=denom) + response = await self._execute_call(call=self._stub.RoleManagers, request=request) + + return response + + async def fetch_role_manager(self, denom: str, manager: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryRoleManagerRequest(denom=denom, manager=manager) + response = await self._execute_call(call=self._stub.RoleManager, request=request) + + return response + + async def fetch_policy_statuses(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryPolicyStatusesRequest(denom=denom) + response = await self._execute_call(call=self._stub.PolicyStatuses, request=request) + + return response + + async def fetch_policy_manager_capabilities(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryPolicyManagerCapabilitiesRequest(denom=denom) + response = await self._execute_call(call=self._stub.PolicyManagerCapabilities, request=request) + + return response + + async def fetch_vouchers(self, denom: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryVouchersRequest(denom=denom) + response = await self._execute_call(call=self._stub.Vouchers, request=request) + + return response + + async def fetch_voucher(self, denom: str, address: str) -> Dict[str, Any]: + request = permissions_query_pb.QueryVoucherRequest(denom=denom, address=address) + response = await self._execute_call(call=self._stub.Voucher, request=request) + + return response + + async def fetch_permissions_module_state(self) -> Dict[str, Any]: + request = permissions_query_pb.QueryModuleStateRequest() + response = await self._execute_call(call=self._stub.PermissionsModuleState, request=request) return response diff --git a/pyinjective/composer.py b/pyinjective/composer.py index 08e17021..00e5f73c 100644 --- a/pyinjective/composer.py +++ b/pyinjective/composer.py @@ -1,5 +1,6 @@ import json from decimal import Decimal +from enum import IntFlag from time import time from typing import Any, Dict, List, Optional from warnings import warn @@ -101,11 +102,13 @@ class Composer: - DEFAULT_PERMISSIONS_EVERYONE_ROLE = "EVERYONE" - UNDEFINED_ACTION_PERMISSION = 0 - MINT_ACTION_PERMISSION = 1 - RECEIVE_ACTION_PERMISSION = 2 - BURN_ACTION_PERMISSION = 4 + PERMISSIONS_ACTION = IntFlag( + "PERMISSIONS_ACTION", + [ + (permission_name, injective_permissions_pb.Action.Value(permission_name)) + for permission_name in injective_permissions_pb.Action.keys() + ], + ) def __init__( self, @@ -566,6 +569,8 @@ def msg_instant_spot_market_launch( min_price_tick_size: Decimal, min_quantity_tick_size: Decimal, min_notional: Decimal, + base_decimals: int, + quote_decimals: int, ) -> injective_exchange_tx_pb.MsgInstantSpotMarketLaunch: base_token = self.tokens[base_denom] quote_token = self.tokens[quote_denom] @@ -588,6 +593,8 @@ def msg_instant_spot_market_launch( min_price_tick_size=f"{chain_min_price_tick_size.normalize():f}", min_quantity_tick_size=f"{chain_min_quantity_tick_size.normalize():f}", min_notional=f"{chain_min_notional.normalize():f}", + base_decimals=base_decimals, + quote_decimals=quote_decimals, ) def msg_instant_perpetual_market_launch( @@ -2015,6 +2022,7 @@ def msg_create_denom( name: str, symbol: str, decimals: int, + allow_admin_burn: bool, ) -> token_factory_tx_pb.MsgCreateDenom: return token_factory_tx_pb.MsgCreateDenom( sender=sender, @@ -2022,21 +2030,24 @@ def msg_create_denom( name=name, symbol=symbol, decimals=decimals, + allow_admin_burn=allow_admin_burn, ) def msg_mint( self, sender: str, amount: base_coin_pb.Coin, + receiver: str, ) -> token_factory_tx_pb.MsgMint: - return token_factory_tx_pb.MsgMint(sender=sender, amount=amount) + return token_factory_tx_pb.MsgMint(sender=sender, amount=amount, receiver=receiver) def msg_burn( self, sender: str, amount: base_coin_pb.Coin, + burn_from_address: str, ) -> token_factory_tx_pb.MsgBurn: - return token_factory_tx_pb.MsgBurn(sender=sender, amount=amount) + return token_factory_tx_pb.MsgBurn(sender=sender, amount=amount, burnFromAddress=burn_from_address) def msg_set_denom_metadata( self, @@ -2325,87 +2336,89 @@ def msg_ibc_transfer( # endregion # region Permissions module - def permissions_role(self, role: str, permissions: int) -> injective_permissions_pb.Role: - return injective_permissions_pb.Role(role=role, permissions=permissions) + def permissions_role(self, name: str, role_id: int, permissions: int) -> injective_permissions_pb.Role: + return injective_permissions_pb.Role(name=name, role_id=role_id, permissions=permissions) + + def permissions_actor_roles(self, actor: str, roles: List[str]) -> injective_permissions_pb.ActorRoles: + return injective_permissions_pb.ActorRoles(actor=actor, roles=roles) + + def permissions_role_manager(self, manager: str, roles: List[str]) -> injective_permissions_pb.RoleManager: + return injective_permissions_pb.RoleManager(manager=manager, roles=roles) + + def permissions_policy_status( + self, action: int, is_disabled: bool, is_sealed: bool + ) -> injective_permissions_pb.PolicyStatus: + return injective_permissions_pb.PolicyStatus(action=action, is_disabled=is_disabled, is_sealed=is_sealed) - def permissions_address_roles(self, address: str, roles: List[str]) -> injective_permissions_pb.AddressRoles: - return injective_permissions_pb.AddressRoles(address=address, roles=roles) + def permissions_policy_manager_capability( + self, manager: str, action: int, can_disable: bool, can_seal: bool + ) -> injective_permissions_pb.PolicyManagerCapability: + return injective_permissions_pb.PolicyManagerCapability( + manager=manager, action=action, can_disable=can_disable, can_seal=can_seal + ) + + def permissions_role_actors(self, role: str, actors: List[str]) -> injective_permissions_pb.RoleActors: + return injective_permissions_pb.RoleActors(role=role, actors=actors) def msg_create_namespace( self, sender: str, denom: str, - wasm_hook: str, - mints_paused: bool, - sends_paused: bool, - burns_paused: bool, + contract_hook: str, role_permissions: List[injective_permissions_pb.Role], - address_roles: List[injective_permissions_pb.AddressRoles], + actor_roles: List[injective_permissions_pb.ActorRoles], + role_managers: List[injective_permissions_pb.RoleManager], + policy_statuses: List[injective_permissions_pb.PolicyStatus], + policy_manager_capabilities: List[injective_permissions_pb.PolicyManagerCapability], ) -> injective_permissions_tx_pb.MsgCreateNamespace: namespace = injective_permissions_pb.Namespace( denom=denom, - wasm_hook=wasm_hook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, + contract_hook=contract_hook, role_permissions=role_permissions, - address_roles=address_roles, + actor_roles=actor_roles, + role_managers=role_managers, + policy_statuses=policy_statuses, + policy_manager_capabilities=policy_manager_capabilities, ) return injective_permissions_tx_pb.MsgCreateNamespace( sender=sender, namespace=namespace, ) - def msg_delete_namespace(self, sender: str, namespace_denom: str) -> injective_permissions_tx_pb.MsgDeleteNamespace: - return injective_permissions_tx_pb.MsgDeleteNamespace(sender=sender, namespace_denom=namespace_denom) - def msg_update_namespace( self, sender: str, - namespace_denom: str, - wasm_hook: str, - mints_paused: bool, - sends_paused: bool, - burns_paused: bool, + denom: str, + contract_hook: str, + role_permissions: List[injective_permissions_pb.Role], + role_managers: List[injective_permissions_pb.RoleManager], + policy_statuses: List[injective_permissions_pb.PolicyStatus], + policy_manager_capabilities: List[injective_permissions_pb.PolicyManagerCapability], ) -> injective_permissions_tx_pb.MsgUpdateNamespace: - wasmhook_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetWasmHook(new_value=wasm_hook) - mints_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetMintsPaused(new_value=mints_paused) - sends_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetSendsPaused(new_value=sends_paused) - burns_paused_update = injective_permissions_tx_pb.MsgUpdateNamespace.MsgSetBurnsPaused(new_value=burns_paused) + contract_hook_update = injective_permissions_tx_pb.MsgUpdateNamespace.SetContractHook(new_value=contract_hook) return injective_permissions_tx_pb.MsgUpdateNamespace( sender=sender, - namespace_denom=namespace_denom, - wasm_hook=wasmhook_update, - mints_paused=mints_paused_update, - sends_paused=sends_paused_update, - burns_paused=burns_paused_update, - ) - - def msg_update_namespace_roles( - self, - sender: str, - namespace_denom: str, - role_permissions: List[injective_permissions_pb.Role], - address_roles: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgUpdateNamespaceRoles: - return injective_permissions_tx_pb.MsgUpdateNamespaceRoles( - sender=sender, - namespace_denom=namespace_denom, + denom=denom, + contract_hook=contract_hook_update, role_permissions=role_permissions, - address_roles=address_roles, + role_managers=role_managers, + policy_statuses=policy_statuses, + policy_manager_capabilities=policy_manager_capabilities, ) - def msg_revoke_namespace_roles( + def msg_update_actor_roles( self, sender: str, - namespace_denom: str, - address_roles_to_revoke: List[injective_permissions_pb.AddressRoles], - ) -> injective_permissions_tx_pb.MsgRevokeNamespaceRoles: - return injective_permissions_tx_pb.MsgRevokeNamespaceRoles( + denom: str, + role_actors_to_add: List[injective_permissions_pb.RoleActors], + role_actors_to_revoke: List[injective_permissions_pb.RoleActors], + ) -> injective_permissions_tx_pb.MsgUpdateActorRoles: + return injective_permissions_tx_pb.MsgUpdateActorRoles( sender=sender, - namespace_denom=namespace_denom, - address_roles_to_revoke=address_roles_to_revoke, + denom=denom, + role_actors_to_add=role_actors_to_add, + role_actors_to_revoke=role_actors_to_revoke, ) def msg_claim_voucher( diff --git a/pyinjective/proto/google/api/client_pb2.py b/pyinjective/proto/google/api/client_pb2.py index 57d8f80c..5aeb6aad 100644 --- a/pyinjective/proto/google/api/client_pb2.py +++ b/pyinjective/proto/google/api/client_pb2.py @@ -17,7 +17,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\x94\x01\n\x16\x43ommonLanguageSettings\x12\x30\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestinationR\x0c\x64\x65stinations\"\x93\x05\n\x15\x43lientLibrarySettings\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12:\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStageR\x0blaunchStage\x12,\n\x12rest_numeric_enums\x18\x03 \x01(\x08R\x10restNumericEnums\x12=\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettingsR\x0cjavaSettings\x12:\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettingsR\x0b\x63ppSettings\x12:\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettingsR\x0bphpSettings\x12\x43\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettingsR\x0cnodeSettings\x12\x43\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettingsR\x0e\x64otnetSettings\x12=\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettingsR\x0crubySettings\x12\x37\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettingsR\ngoSettings\"\xf4\x04\n\nPublishing\x12\x43\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n\rnew_issue_uri\x18\x65 \x01(\tR\x0bnewIssueUri\x12+\n\x11\x64ocumentation_uri\x18\x66 \x01(\tR\x10\x64ocumentationUri\x12$\n\x0e\x61pi_short_name\x18g \x01(\tR\x0c\x61piShortName\x12!\n\x0cgithub_label\x18h \x01(\tR\x0bgithubLabel\x12\x34\n\x16\x63odeowner_github_teams\x18i \x03(\tR\x14\x63odeownerGithubTeams\x12$\n\x0e\x64oc_tag_prefix\x18j \x01(\tR\x0c\x64ocTagPrefix\x12I\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganizationR\x0corganization\x12L\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n\x0cJavaSettings\x12\'\n\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x1a\x44\n\x16ServiceClassNamesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"I\n\x0b\x43ppSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"I\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xfd\x01\n\x0ePythonSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\x64\n\x15\x65xperimental_features\x18\x02 \x01(\x0b\x32/.google.api.PythonSettings.ExperimentalFeaturesR\x14\x65xperimentalFeatures\x1aI\n\x14\x45xperimentalFeatures\x12\x31\n\x15rest_async_io_enabled\x18\x01 \x01(\x08R\x12restAsyncIoEnabled\"J\n\x0cNodeSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xae\x04\n\x0e\x44otnetSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12Z\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x12\x38\n\x18\x66orced_namespace_aliases\x18\x05 \x03(\tR\x16\x66orcedNamespaceAliases\x12\x35\n\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x43\n\x15RenamedResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"J\n\x0cRubySettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"H\n\nGoSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc2\x03\n\x0eMethodSettings\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12I\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunningR\x0blongRunning\x12\x32\n\x15\x61uto_populated_fields\x18\x03 \x03(\tR\x13\x61utoPopulatedFields\x1a\x94\x02\n\x0bLongRunning\x12G\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10initialPollDelay\x12\x32\n\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0cmaxPollDelay\x12G\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10totalPollTimeout*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14:J\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\tR\x0fmethodSignature:C\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\tR\x0b\x64\x65\x66\x61ultHost:C\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tR\x0boauthScopes:D\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\napiVersionB\xa9\x01\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17google/api/client.proto\x12\ngoogle.api\x1a\x1dgoogle/api/launch_stage.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\"\xf8\x01\n\x16\x43ommonLanguageSettings\x12\x30\n\x12reference_docs_uri\x18\x01 \x01(\tB\x02\x18\x01R\x10referenceDocsUri\x12H\n\x0c\x64\x65stinations\x18\x02 \x03(\x0e\x32$.google.api.ClientLibraryDestinationR\x0c\x64\x65stinations\x12\x62\n\x1aselective_gapic_generation\x18\x03 \x01(\x0b\x32$.google.api.SelectiveGapicGenerationR\x18selectiveGapicGeneration\"\x93\x05\n\x15\x43lientLibrarySettings\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12:\n\x0claunch_stage\x18\x02 \x01(\x0e\x32\x17.google.api.LaunchStageR\x0blaunchStage\x12,\n\x12rest_numeric_enums\x18\x03 \x01(\x08R\x10restNumericEnums\x12=\n\rjava_settings\x18\x15 \x01(\x0b\x32\x18.google.api.JavaSettingsR\x0cjavaSettings\x12:\n\x0c\x63pp_settings\x18\x16 \x01(\x0b\x32\x17.google.api.CppSettingsR\x0b\x63ppSettings\x12:\n\x0cphp_settings\x18\x17 \x01(\x0b\x32\x17.google.api.PhpSettingsR\x0bphpSettings\x12\x43\n\x0fpython_settings\x18\x18 \x01(\x0b\x32\x1a.google.api.PythonSettingsR\x0epythonSettings\x12=\n\rnode_settings\x18\x19 \x01(\x0b\x32\x18.google.api.NodeSettingsR\x0cnodeSettings\x12\x43\n\x0f\x64otnet_settings\x18\x1a \x01(\x0b\x32\x1a.google.api.DotnetSettingsR\x0e\x64otnetSettings\x12=\n\rruby_settings\x18\x1b \x01(\x0b\x32\x18.google.api.RubySettingsR\x0crubySettings\x12\x37\n\x0bgo_settings\x18\x1c \x01(\x0b\x32\x16.google.api.GoSettingsR\ngoSettings\"\xf4\x04\n\nPublishing\x12\x43\n\x0fmethod_settings\x18\x02 \x03(\x0b\x32\x1a.google.api.MethodSettingsR\x0emethodSettings\x12\"\n\rnew_issue_uri\x18\x65 \x01(\tR\x0bnewIssueUri\x12+\n\x11\x64ocumentation_uri\x18\x66 \x01(\tR\x10\x64ocumentationUri\x12$\n\x0e\x61pi_short_name\x18g \x01(\tR\x0c\x61piShortName\x12!\n\x0cgithub_label\x18h \x01(\tR\x0bgithubLabel\x12\x34\n\x16\x63odeowner_github_teams\x18i \x03(\tR\x14\x63odeownerGithubTeams\x12$\n\x0e\x64oc_tag_prefix\x18j \x01(\tR\x0c\x64ocTagPrefix\x12I\n\x0corganization\x18k \x01(\x0e\x32%.google.api.ClientLibraryOrganizationR\x0corganization\x12L\n\x10library_settings\x18m \x03(\x0b\x32!.google.api.ClientLibrarySettingsR\x0flibrarySettings\x12I\n!proto_reference_documentation_uri\x18n \x01(\tR\x1eprotoReferenceDocumentationUri\x12G\n rest_reference_documentation_uri\x18o \x01(\tR\x1drestReferenceDocumentationUri\"\x9a\x02\n\x0cJavaSettings\x12\'\n\x0flibrary_package\x18\x01 \x01(\tR\x0elibraryPackage\x12_\n\x13service_class_names\x18\x02 \x03(\x0b\x32/.google.api.JavaSettings.ServiceClassNamesEntryR\x11serviceClassNames\x12:\n\x06\x63ommon\x18\x03 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x1a\x44\n\x16ServiceClassNamesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"I\n\x0b\x43ppSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"I\n\x0bPhpSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc5\x02\n\x0ePythonSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12\x64\n\x15\x65xperimental_features\x18\x02 \x01(\x0b\x32/.google.api.PythonSettings.ExperimentalFeaturesR\x14\x65xperimentalFeatures\x1a\x90\x01\n\x14\x45xperimentalFeatures\x12\x31\n\x15rest_async_io_enabled\x18\x01 \x01(\x08R\x12restAsyncIoEnabled\x12\x45\n\x1fprotobuf_pythonic_types_enabled\x18\x02 \x01(\x08R\x1cprotobufPythonicTypesEnabled\"J\n\x0cNodeSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xae\x04\n\x0e\x44otnetSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\x12Z\n\x10renamed_services\x18\x02 \x03(\x0b\x32/.google.api.DotnetSettings.RenamedServicesEntryR\x0frenamedServices\x12]\n\x11renamed_resources\x18\x03 \x03(\x0b\x32\x30.google.api.DotnetSettings.RenamedResourcesEntryR\x10renamedResources\x12+\n\x11ignored_resources\x18\x04 \x03(\tR\x10ignoredResources\x12\x38\n\x18\x66orced_namespace_aliases\x18\x05 \x03(\tR\x16\x66orcedNamespaceAliases\x12\x35\n\x16handwritten_signatures\x18\x06 \x03(\tR\x15handwrittenSignatures\x1a\x42\n\x14RenamedServicesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x1a\x43\n\x15RenamedResourcesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"J\n\x0cRubySettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"H\n\nGoSettings\x12:\n\x06\x63ommon\x18\x01 \x01(\x0b\x32\".google.api.CommonLanguageSettingsR\x06\x63ommon\"\xc2\x03\n\x0eMethodSettings\x12\x1a\n\x08selector\x18\x01 \x01(\tR\x08selector\x12I\n\x0clong_running\x18\x02 \x01(\x0b\x32&.google.api.MethodSettings.LongRunningR\x0blongRunning\x12\x32\n\x15\x61uto_populated_fields\x18\x03 \x03(\tR\x13\x61utoPopulatedFields\x1a\x94\x02\n\x0bLongRunning\x12G\n\x12initial_poll_delay\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10initialPollDelay\x12\x32\n\x15poll_delay_multiplier\x18\x02 \x01(\x02R\x13pollDelayMultiplier\x12?\n\x0emax_poll_delay\x18\x03 \x01(\x0b\x32\x19.google.protobuf.DurationR\x0cmaxPollDelay\x12G\n\x12total_poll_timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.DurationR\x10totalPollTimeout\"4\n\x18SelectiveGapicGeneration\x12\x18\n\x07methods\x18\x01 \x03(\tR\x07methods*\xa3\x01\n\x19\x43lientLibraryOrganization\x12+\n\'CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED\x10\x00\x12\t\n\x05\x43LOUD\x10\x01\x12\x07\n\x03\x41\x44S\x10\x02\x12\n\n\x06PHOTOS\x10\x03\x12\x0f\n\x0bSTREET_VIEW\x10\x04\x12\x0c\n\x08SHOPPING\x10\x05\x12\x07\n\x03GEO\x10\x06\x12\x11\n\rGENERATIVE_AI\x10\x07*g\n\x18\x43lientLibraryDestination\x12*\n&CLIENT_LIBRARY_DESTINATION_UNSPECIFIED\x10\x00\x12\n\n\x06GITHUB\x10\n\x12\x13\n\x0fPACKAGE_MANAGER\x10\x14:J\n\x10method_signature\x12\x1e.google.protobuf.MethodOptions\x18\x9b\x08 \x03(\tR\x0fmethodSignature:C\n\x0c\x64\x65\x66\x61ult_host\x12\x1f.google.protobuf.ServiceOptions\x18\x99\x08 \x01(\tR\x0b\x64\x65\x66\x61ultHost:C\n\x0coauth_scopes\x12\x1f.google.protobuf.ServiceOptions\x18\x9a\x08 \x01(\tR\x0boauthScopes:D\n\x0b\x61pi_version\x12\x1f.google.protobuf.ServiceOptions\x18\xc1\xba\xab\xfa\x01 \x01(\tR\napiVersionB\xa9\x01\n\x0e\x63om.google.apiB\x0b\x43lientProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -33,42 +33,44 @@ _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_options = b'8\001' _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._loaded_options = None _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_options = b'8\001' - _globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=3512 - _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=3675 - _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=3677 - _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=3780 + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_start=3738 + _globals['_CLIENTLIBRARYORGANIZATION']._serialized_end=3901 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_start=3903 + _globals['_CLIENTLIBRARYDESTINATION']._serialized_end=4006 _globals['_COMMONLANGUAGESETTINGS']._serialized_start=137 - _globals['_COMMONLANGUAGESETTINGS']._serialized_end=285 - _globals['_CLIENTLIBRARYSETTINGS']._serialized_start=288 - _globals['_CLIENTLIBRARYSETTINGS']._serialized_end=947 - _globals['_PUBLISHING']._serialized_start=950 - _globals['_PUBLISHING']._serialized_end=1578 - _globals['_JAVASETTINGS']._serialized_start=1581 - _globals['_JAVASETTINGS']._serialized_end=1863 - _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1795 - _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1863 - _globals['_CPPSETTINGS']._serialized_start=1865 - _globals['_CPPSETTINGS']._serialized_end=1938 - _globals['_PHPSETTINGS']._serialized_start=1940 - _globals['_PHPSETTINGS']._serialized_end=2013 - _globals['_PYTHONSETTINGS']._serialized_start=2016 - _globals['_PYTHONSETTINGS']._serialized_end=2269 - _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2196 - _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2269 - _globals['_NODESETTINGS']._serialized_start=2271 - _globals['_NODESETTINGS']._serialized_end=2345 - _globals['_DOTNETSETTINGS']._serialized_start=2348 - _globals['_DOTNETSETTINGS']._serialized_end=2906 - _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2771 - _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=2837 - _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=2839 - _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=2906 - _globals['_RUBYSETTINGS']._serialized_start=2908 - _globals['_RUBYSETTINGS']._serialized_end=2982 - _globals['_GOSETTINGS']._serialized_start=2984 - _globals['_GOSETTINGS']._serialized_end=3056 - _globals['_METHODSETTINGS']._serialized_start=3059 - _globals['_METHODSETTINGS']._serialized_end=3509 - _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3233 - _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=3509 + _globals['_COMMONLANGUAGESETTINGS']._serialized_end=385 + _globals['_CLIENTLIBRARYSETTINGS']._serialized_start=388 + _globals['_CLIENTLIBRARYSETTINGS']._serialized_end=1047 + _globals['_PUBLISHING']._serialized_start=1050 + _globals['_PUBLISHING']._serialized_end=1678 + _globals['_JAVASETTINGS']._serialized_start=1681 + _globals['_JAVASETTINGS']._serialized_end=1963 + _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_start=1895 + _globals['_JAVASETTINGS_SERVICECLASSNAMESENTRY']._serialized_end=1963 + _globals['_CPPSETTINGS']._serialized_start=1965 + _globals['_CPPSETTINGS']._serialized_end=2038 + _globals['_PHPSETTINGS']._serialized_start=2040 + _globals['_PHPSETTINGS']._serialized_end=2113 + _globals['_PYTHONSETTINGS']._serialized_start=2116 + _globals['_PYTHONSETTINGS']._serialized_end=2441 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_start=2297 + _globals['_PYTHONSETTINGS_EXPERIMENTALFEATURES']._serialized_end=2441 + _globals['_NODESETTINGS']._serialized_start=2443 + _globals['_NODESETTINGS']._serialized_end=2517 + _globals['_DOTNETSETTINGS']._serialized_start=2520 + _globals['_DOTNETSETTINGS']._serialized_end=3078 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_start=2943 + _globals['_DOTNETSETTINGS_RENAMEDSERVICESENTRY']._serialized_end=3009 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_start=3011 + _globals['_DOTNETSETTINGS_RENAMEDRESOURCESENTRY']._serialized_end=3078 + _globals['_RUBYSETTINGS']._serialized_start=3080 + _globals['_RUBYSETTINGS']._serialized_end=3154 + _globals['_GOSETTINGS']._serialized_start=3156 + _globals['_GOSETTINGS']._serialized_end=3228 + _globals['_METHODSETTINGS']._serialized_start=3231 + _globals['_METHODSETTINGS']._serialized_end=3681 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_start=3405 + _globals['_METHODSETTINGS_LONGRUNNING']._serialized_end=3681 + _globals['_SELECTIVEGAPICGENERATION']._serialized_start=3683 + _globals['_SELECTIVEGAPICGENERATION']._serialized_end=3735 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/api/httpbody_pb2.py b/pyinjective/proto/google/api/httpbody_pb2.py index 5a8b69fe..eb6c4482 100644 --- a/pyinjective/proto/google/api/httpbody_pb2.py +++ b/pyinjective/proto/google/api/httpbody_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\x19google/api/httpbody.proto\x12\ngoogle.api\x1a\x19google/protobuf/any.proto\"w\n\x08HttpBody\x12!\n\x0c\x63ontent_type\x18\x01 \x01(\tR\x0b\x63ontentType\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x34\n\nextensions\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensionsB\xa8\x01\n\x0e\x63om.google.apiB\rHttpbodyProtoP\x01Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\xf8\x01\x01\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19google/api/httpbody.proto\x12\ngoogle.api\x1a\x19google/protobuf/any.proto\"w\n\x08HttpBody\x12!\n\x0c\x63ontent_type\x18\x01 \x01(\tR\x0b\x63ontentType\x12\x12\n\x04\x64\x61ta\x18\x02 \x01(\x0cR\x04\x64\x61ta\x12\x34\n\nextensions\x18\x03 \x03(\x0b\x32\x14.google.protobuf.AnyR\nextensionsB\xa5\x01\n\x0e\x63om.google.apiB\rHttpbodyProtoP\x01Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\xa2\x02\x03GAX\xaa\x02\nGoogle.Api\xca\x02\nGoogle\\Api\xe2\x02\x16Google\\Api\\GPBMetadata\xea\x02\x0bGoogle::Apib\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'google.api.httpbody_pb2', _globals) if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\rHttpbodyProtoP\001Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\370\001\001\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' + _globals['DESCRIPTOR']._serialized_options = b'\n\016com.google.apiB\rHttpbodyProtoP\001Z;google.golang.org/genproto/googleapis/api/httpbody;httpbody\242\002\003GAX\252\002\nGoogle.Api\312\002\nGoogle\\Api\342\002\026Google\\Api\\GPBMetadata\352\002\013Google::Api' _globals['_HTTPBODY']._serialized_start=68 _globals['_HTTPBODY']._serialized_end=187 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/google/longrunning/operations_pb2.py b/pyinjective/proto/google/longrunning/operations_pb2.py index 719371ca..72a5cef3 100644 --- a/pyinjective/proto/google/longrunning/operations_pb2.py +++ b/pyinjective/proto/google/longrunning/operations_pb2.py @@ -15,13 +15,13 @@ from pyinjective.proto.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from pyinjective.proto.google.api import client_pb2 as google_dot_api_dot_client__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 +from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\x1a google/protobuf/descriptor.proto\"\xcf\x01\n\tOperation\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x08metadata\x12\x12\n\x04\x64one\x18\x03 \x01(\x08R\x04\x64one\x12*\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rror\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08responseB\x08\n\x06result\")\n\x13GetOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x7f\n\x15ListOperationsRequest\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06\x66ilter\x18\x01 \x01(\tR\x06\x66ilter\x12\x1b\n\tpage_size\x18\x02 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\"\x7f\n\x16ListOperationsResponse\x12=\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.OperationR\noperations\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\",\n\x16\x43\x61ncelOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\",\n\x16\x44\x65leteOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"_\n\x14WaitOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x33\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\"Y\n\rOperationInfo\x12#\n\rresponse_type\x18\x01 \x01(\tR\x0cresponseType\x12#\n\rmetadata_type\x18\x02 \x01(\tR\x0cmetadataType2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:i\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoR\roperationInfoB\xda\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xf8\x01\x01\xa2\x02\x03GLX\xaa\x02\x12Google.Longrunning\xca\x02\x12Google\\Longrunning\xe2\x02\x1eGoogle\\Longrunning\\GPBMetadata\xea\x02\x13Google::Longrunningb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#google/longrunning/operations.proto\x12\x12google.longrunning\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x19google/protobuf/any.proto\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x17google/rpc/status.proto\"\xcf\x01\n\tOperation\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x14.google.protobuf.AnyR\x08metadata\x12\x12\n\x04\x64one\x18\x03 \x01(\x08R\x04\x64one\x12*\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.google.rpc.StatusH\x00R\x05\x65rror\x12\x32\n\x08response\x18\x05 \x01(\x0b\x32\x14.google.protobuf.AnyH\x00R\x08responseB\x08\n\x06result\")\n\x13GetOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x7f\n\x15ListOperationsRequest\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n\x06\x66ilter\x18\x01 \x01(\tR\x06\x66ilter\x12\x1b\n\tpage_size\x18\x02 \x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03 \x01(\tR\tpageToken\"\x7f\n\x16ListOperationsResponse\x12=\n\noperations\x18\x01 \x03(\x0b\x32\x1d.google.longrunning.OperationR\noperations\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\",\n\x16\x43\x61ncelOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\",\n\x16\x44\x65leteOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"_\n\x14WaitOperationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x33\n\x07timeout\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationR\x07timeout\"Y\n\rOperationInfo\x12#\n\rresponse_type\x18\x01 \x01(\tR\x0cresponseType\x12#\n\rmetadata_type\x18\x02 \x01(\tR\x0cmetadataType2\xaa\x05\n\nOperations\x12\x94\x01\n\x0eListOperations\x12).google.longrunning.ListOperationsRequest\x1a*.google.longrunning.ListOperationsResponse\"+\xda\x41\x0bname,filter\x82\xd3\xe4\x93\x02\x17\x12\x15/v1/{name=operations}\x12\x7f\n\x0cGetOperation\x12\'.google.longrunning.GetOperationRequest\x1a\x1d.google.longrunning.Operation\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/{name=operations/**}\x12~\n\x0f\x44\x65leteOperation\x12*.google.longrunning.DeleteOperationRequest\x1a\x16.google.protobuf.Empty\"\'\xda\x41\x04name\x82\xd3\xe4\x93\x02\x1a*\x18/v1/{name=operations/**}\x12\x88\x01\n\x0f\x43\x61ncelOperation\x12*.google.longrunning.CancelOperationRequest\x1a\x16.google.protobuf.Empty\"1\xda\x41\x04name\x82\xd3\xe4\x93\x02$\"\x1f/v1/{name=operations/**}:cancel:\x01*\x12Z\n\rWaitOperation\x12(.google.longrunning.WaitOperationRequest\x1a\x1d.google.longrunning.Operation\"\x00\x1a\x1d\xca\x41\x1alongrunning.googleapis.com:i\n\x0eoperation_info\x12\x1e.google.protobuf.MethodOptions\x18\x99\x08 \x01(\x0b\x32!.google.longrunning.OperationInfoR\roperationInfoB\xda\x01\n\x16\x63om.google.longrunningB\x0fOperationsProtoP\x01ZCcloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb\xf8\x01\x01\xa2\x02\x03GLX\xaa\x02\x12Google.Longrunning\xca\x02\x12Google\\Longrunning\xe2\x02\x1eGoogle\\Longrunning\\GPBMetadata\xea\x02\x13Google::Longrunningb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) diff --git a/pyinjective/proto/google/longrunning/operations_pb2_grpc.py b/pyinjective/proto/google/longrunning/operations_pb2_grpc.py index 533da2f8..e0b9948f 100644 --- a/pyinjective/proto/google/longrunning/operations_pb2_grpc.py +++ b/pyinjective/proto/google/longrunning/operations_pb2_grpc.py @@ -10,12 +10,12 @@ class OperationsStub(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ def __init__(self, channel): @@ -55,25 +55,17 @@ class OperationsServicer(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ def ListOperations(self, request, context): """Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. - - NOTE: the `name` binding allows API services to override the binding - to use different resource name schemes, such as `users/*/operations`. To - override the binding, API services can add a binding such as - `"/v1/{name=users/*}/operations"` to their service configuration. - For backwards compatibility, the default name includes the operations - collection id, however overriding users must ensure the name binding - is the parent resource, without the operations collection id. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -107,8 +99,9 @@ def CancelOperation(self, request, context): other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with - an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, - corresponding to `Code.CANCELLED`. + an [Operation.error][google.longrunning.Operation.error] value with a + [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + `Code.CANCELLED`. """ context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -169,12 +162,12 @@ class Operations(object): """Manages long-running operations with an API service. When an API method normally takes long time to complete, it can be designed - to return [Operation][google.longrunning.Operation] to the client, and the client can use this - interface to receive the real response asynchronously by polling the - operation resource, or pass the operation resource to another API (such as - Google Cloud Pub/Sub API) to receive the response. Any API service that - returns long-running operations should implement the `Operations` interface - so developers can have a consistent client experience. + to return [Operation][google.longrunning.Operation] to the client, and the + client can use this interface to receive the real response asynchronously by + polling the operation resource, or pass the operation resource to another API + (such as Pub/Sub API) to receive the response. Any API service that returns + long-running operations should implement the `Operations` interface so + developers can have a consistent client experience. """ @staticmethod diff --git a/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py b/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py index efdcbff9..d2cc528a 100644 --- a/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py +++ b/pyinjective/proto/injective/auction/v1beta1/auction_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/auction/v1beta1/auction.proto\x12\x19injective.auction.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xab\x01\n\x06Params\x12%\n\x0e\x61uction_period\x18\x01 \x01(\x03R\rauctionPeriod\x12\x61\n\x1bmin_next_bid_increment_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17minNextBidIncrementRate:\x17\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0e\x61uction/Params\"\x83\x01\n\x03\x42id\x12\x33\n\x06\x62idder\x18\x01 \x01(\tB\x1b\xea\xde\x1f\x06\x62idder\xf2\xde\x1f\ryaml:\"bidder\"R\x06\x62idder\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\"\x8a\x01\n\x11LastAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\x81\x01\n\x08\x45ventBid\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\x8b\x01\n\x12\x45ventAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12G\n\x06\x61mount\x18\x02 \x01(\tB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\xc0\x01\n\x11\x45ventAuctionStart\x12\x14\n\x05round\x18\x01 \x01(\x04R\x05round\x12)\n\x10\x65nding_timestamp\x18\x02 \x01(\x03R\x0f\x65ndingTimestamp\x12j\n\nnew_basket\x18\x03 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tnewBasketB\x82\x02\n\x1d\x63om.injective.auction.v1beta1B\x0c\x41uctionProtoP\x01ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\xa2\x02\x03IAX\xaa\x02\x19Injective.Auction.V1beta1\xca\x02\x19Injective\\Auction\\V1beta1\xe2\x02%Injective\\Auction\\V1beta1\\GPBMetadata\xea\x02\x1bInjective::Auction::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/auction/v1beta1/auction.proto\x12\x19injective.auction.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x11\x61mino/amino.proto\"\xf7\x01\n\x06Params\x12%\n\x0e\x61uction_period\x18\x01 \x01(\x03R\rauctionPeriod\x12\x61\n\x1bmin_next_bid_increment_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17minNextBidIncrementRate\x12J\n\x12inj_basket_max_cap\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0finjBasketMaxCap:\x17\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0e\x61uction/Params\"\x9e\x01\n\x03\x42id\x12\x33\n\x06\x62idder\x18\x01 \x01(\tB\x1b\xea\xde\x1f\x06\x62idder\xf2\xde\x1f\ryaml:\"bidder\"R\x06\x62idder\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\"\xa5\x01\n\x11LastAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\x9c\x01\n\x08\x45ventBid\x12\x16\n\x06\x62idder\x18\x01 \x01(\tR\x06\x62idder\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\xa6\x01\n\x12\x45ventAuctionResult\x12\x16\n\x06winner\x18\x01 \x01(\tR\x06winner\x12\x62\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB/\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.CoinR\x06\x61mount\x12\x14\n\x05round\x18\x03 \x01(\x04R\x05round\"\xc0\x01\n\x11\x45ventAuctionStart\x12\x14\n\x05round\x18\x01 \x01(\x04R\x05round\x12)\n\x10\x65nding_timestamp\x18\x02 \x01(\x03R\x0f\x65ndingTimestamp\x12j\n\nnew_basket\x18\x03 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tnewBasketB\x82\x02\n\x1d\x63om.injective.auction.v1beta1B\x0c\x41uctionProtoP\x01ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\xa2\x02\x03IAX\xaa\x02\x19Injective.Auction.V1beta1\xca\x02\x19Injective\\Auction\\V1beta1\xe2\x02%Injective\\Auction\\V1beta1\\GPBMetadata\xea\x02\x1bInjective::Auction::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,6 +27,8 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\035com.injective.auction.v1beta1B\014AuctionProtoP\001ZMgithub.com/InjectiveLabs/injective-core/injective-chain/modules/auction/types\242\002\003IAX\252\002\031Injective.Auction.V1beta1\312\002\031Injective\\Auction\\V1beta1\342\002%Injective\\Auction\\V1beta1\\GPBMetadata\352\002\033Injective::Auction::V1beta1' _globals['_PARAMS'].fields_by_name['min_next_bid_increment_rate']._loaded_options = None _globals['_PARAMS'].fields_by_name['min_next_bid_increment_rate']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_PARAMS'].fields_by_name['inj_basket_max_cap']._loaded_options = None + _globals['_PARAMS'].fields_by_name['inj_basket_max_cap']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_PARAMS']._loaded_options = None _globals['_PARAMS']._serialized_options = b'\350\240\037\001\212\347\260*\016auction/Params' _globals['_BID'].fields_by_name['bidder']._loaded_options = None @@ -42,15 +44,15 @@ _globals['_EVENTAUCTIONSTART'].fields_by_name['new_basket']._loaded_options = None _globals['_EVENTAUCTIONSTART'].fields_by_name['new_basket']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' _globals['_PARAMS']._serialized_start=144 - _globals['_PARAMS']._serialized_end=315 - _globals['_BID']._serialized_start=318 - _globals['_BID']._serialized_end=449 - _globals['_LASTAUCTIONRESULT']._serialized_start=452 - _globals['_LASTAUCTIONRESULT']._serialized_end=590 - _globals['_EVENTBID']._serialized_start=593 - _globals['_EVENTBID']._serialized_end=722 - _globals['_EVENTAUCTIONRESULT']._serialized_start=725 - _globals['_EVENTAUCTIONRESULT']._serialized_end=864 - _globals['_EVENTAUCTIONSTART']._serialized_start=867 - _globals['_EVENTAUCTIONSTART']._serialized_end=1059 + _globals['_PARAMS']._serialized_end=391 + _globals['_BID']._serialized_start=394 + _globals['_BID']._serialized_end=552 + _globals['_LASTAUCTIONRESULT']._serialized_start=555 + _globals['_LASTAUCTIONRESULT']._serialized_end=720 + _globals['_EVENTBID']._serialized_start=723 + _globals['_EVENTBID']._serialized_end=879 + _globals['_EVENTAUCTIONRESULT']._serialized_start=882 + _globals['_EVENTAUCTIONRESULT']._serialized_end=1048 + _globals['_EVENTAUCTIONSTART']._serialized_start=1051 + _globals['_EVENTAUCTIONSTART']._serialized_end=1243 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py index f837770f..de0fe292 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/exchange_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/exchange.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xdd\x15\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12\x80\x01\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x38.injective.exchange.v1beta1.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12L\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/Params\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\xec\x08\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions:\x04\x88\xa0\x1f\x00\"\xd7\x08\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions:\x04\x88\xa0\x1f\x00\"\xe4\x02\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12w\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp\"\x8d\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xec\x05\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12@\n\x06status\x18\x08 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\x84\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xcc\x02\n\x0eSpotLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\"\xd4\x02\n\x0fSpotMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12\x44\n\norder_type\x18\x04 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xc7\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCount\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"w\n\x13SubaccountOrderData\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective.exchange.v1beta1.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\x8f\x03\n\x14\x44\x65rivativeLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\x95\x03\n\x15\x44\x65rivativeMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\xcd\x02\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\xa1\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x02 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"{\n\x12SubaccountPosition\x12@\n\x08position\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"w\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12=\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x07\x64\x65posit\"p\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12I\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xfe\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12j\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12v\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa9\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12u\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32:.injective.exchange.v1beta1.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x8c\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12N\n\ntier_infos\x18\x04 \x03(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x86\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Y\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x97\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"\x89\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"s\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x06volume\x18\x02 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03*T\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\xaf\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMITB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rExchangeProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/exchange.proto\x12\x1ainjective.exchange.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xdd\x15\n\x06Params\x12\x65\n\x1fspot_market_instant_listing_fee\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x1bspotMarketInstantListingFee\x12q\n%derivative_market_instant_listing_fee\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R!derivativeMarketInstantListingFee\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_maker_fee_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotMakerFeeRate\x12\x61\n\x1b\x64\x65\x66\x61ult_spot_taker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17\x64\x65\x66\x61ultSpotTakerFeeRate\x12m\n!default_derivative_maker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeMakerFeeRate\x12m\n!default_derivative_taker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultDerivativeTakerFeeRate\x12\x64\n\x1c\x64\x65\x66\x61ult_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultInitialMarginRatio\x12l\n default_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1d\x64\x65\x66\x61ultMaintenanceMarginRatio\x12\x38\n\x18\x64\x65\x66\x61ult_funding_interval\x18\t \x01(\x03R\x16\x64\x65\x66\x61ultFundingInterval\x12)\n\x10\x66unding_multiple\x18\n \x01(\x03R\x0f\x66undingMultiple\x12X\n\x16relayer_fee_share_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12i\n\x1f\x64\x65\x66\x61ult_hourly_funding_rate_cap\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x64\x65\x66\x61ultHourlyFundingRateCap\x12\x64\n\x1c\x64\x65\x66\x61ult_hourly_interest_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19\x64\x65\x66\x61ultHourlyInterestRate\x12\x44\n\x1fmax_derivative_order_side_count\x18\x0e \x01(\rR\x1bmaxDerivativeOrderSideCount\x12s\n\'inj_reward_staked_requirement_threshold\x18\x0f \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR#injRewardStakedRequirementThreshold\x12G\n trading_rewards_vesting_duration\x18\x10 \x01(\x03R\x1dtradingRewardsVestingDuration\x12\x64\n\x1cliquidator_reward_share_rate\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19liquidatorRewardShareRate\x12x\n)binary_options_market_instant_listing_fee\x18\x12 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R$binaryOptionsMarketInstantListingFee\x12\x80\x01\n atomic_market_order_access_level\x18\x13 \x01(\x0e\x32\x38.injective.exchange.v1beta1.AtomicMarketOrderAccessLevelR\x1c\x61tomicMarketOrderAccessLevel\x12x\n\'spot_atomic_market_order_fee_multiplier\x18\x14 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"spotAtomicMarketOrderFeeMultiplier\x12\x84\x01\n-derivative_atomic_market_order_fee_multiplier\x18\x15 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR(derivativeAtomicMarketOrderFeeMultiplier\x12\x8b\x01\n1binary_options_atomic_market_order_fee_multiplier\x18\x16 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR+binaryOptionsAtomicMarketOrderFeeMultiplier\x12^\n\x19minimal_protocol_fee_rate\x18\x17 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16minimalProtocolFeeRate\x12[\n+is_instant_derivative_market_launch_enabled\x18\x18 \x01(\x08R&isInstantDerivativeMarketLaunchEnabled\x12\x44\n\x1fpost_only_mode_height_threshold\x18\x19 \x01(\x03R\x1bpostOnlyModeHeightThreshold\x12g\n1margin_decrease_price_timestamp_threshold_seconds\x18\x1a \x01(\x03R,marginDecreasePriceTimestampThresholdSeconds\x12\'\n\x0f\x65xchange_admins\x18\x1b \x03(\tR\x0e\x65xchangeAdmins\x12L\n\x13inj_auction_max_cap\x18\x1c \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10injAuctionMaxCap:\x18\xe8\xa0\x1f\x01\x8a\xe7\xb0*\x0f\x65xchange/Params\"\x84\x01\n\x13MarketFeeMultiplier\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\x0e\x66\x65\x65_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rfeeMultiplier:\x04\x88\xa0\x1f\x00\"\x93\t\n\x10\x44\x65rivativeMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1f\n\x0boracle_base\x18\x02 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x03 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x1f\n\x0bquote_denom\x18\x06 \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12 \n\x0bisPerpetual\x18\r \x01(\x08R\x0bisPerpetual\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x11 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x12 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals:\x04\x88\xa0\x1f\x00\"\xfe\x08\n\x13\x42inaryOptionsMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x02 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x03 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x05 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x06 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x07 \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x08 \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\t \x01(\tR\nquoteDenom\x12\x1b\n\tmarket_id\x18\n \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12@\n\x06status\x18\x0e \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12N\n\x10settlement_price\x18\x11 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x46\n\x0cmin_notional\x18\x12 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x13 \x01(\rR\x10\x61\x64minPermissions\x12%\n\x0equote_decimals\x18\x14 \x01(\rR\rquoteDecimals:\x04\x88\xa0\x1f\x00\"\xe4\x02\n\x17\x45xpiryFuturesMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x31\n\x14\x65xpiration_timestamp\x18\x02 \x01(\x03R\x13\x65xpirationTimestamp\x12\x30\n\x14twap_start_timestamp\x18\x03 \x01(\x03R\x12twapStartTimestamp\x12w\n&expiration_twap_start_price_cumulative\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\"expirationTwapStartPriceCumulative\x12N\n\x10settlement_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"\xc6\x02\n\x13PerpetualMarketInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Z\n\x17hourly_funding_rate_cap\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14hourlyFundingRateCap\x12U\n\x14hourly_interest_rate\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12hourlyInterestRate\x12\x34\n\x16next_funding_timestamp\x18\x04 \x01(\x03R\x14nextFundingTimestamp\x12)\n\x10\x66unding_interval\x18\x05 \x01(\x03R\x0f\x66undingInterval\"\xe3\x01\n\x16PerpetualMarketFunding\x12R\n\x12\x63umulative_funding\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x63umulativeFunding\x12N\n\x10\x63umulative_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x63umulativePrice\x12%\n\x0elast_timestamp\x18\x03 \x01(\x03R\rlastTimestamp\"\x8d\x01\n\x1e\x44\x65rivativeMarketSettlementInfo\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\"=\n\x14NextFundingTimestamp\x12%\n\x0enext_timestamp\x18\x01 \x01(\x03R\rnextTimestamp\"\xea\x01\n\x0eMidPriceAndTOB\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb8\x06\n\nSpotMarket\x12\x16\n\x06ticker\x18\x01 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x02 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12\x1b\n\tmarket_id\x18\x07 \x01(\tR\x08marketId\x12@\n\x06status\x18\x08 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\r \x01(\rR\x10\x61\x64minPermissions\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals\"\xa5\x01\n\x07\x44\x65posit\x12P\n\x11\x61vailable_balance\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10\x61vailableBalance\x12H\n\rtotal_balance\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctotalBalance\",\n\x14SubaccountTradeNonce\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\xe3\x01\n\tOrderInfo\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12#\n\rfee_recipient\x18\x02 \x01(\tR\x0c\x66\x65\x65Recipient\x12\x39\n\x05price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\x84\x02\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xcc\x02\n\x0eSpotLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\"\xd4\x02\n\x0fSpotMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x46\n\x0c\x62\x61lance_hold\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12\x1d\n\norder_hash\x18\x03 \x01(\x0cR\torderHash\x12\x44\n\norder_type\x18\x04 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xc7\x02\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12J\n\norder_info\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\"\xfc\x03\n\x1bSubaccountOrderbookMetadata\x12\x39\n\x19vanilla_limit_order_count\x18\x01 \x01(\rR\x16vanillaLimitOrderCount\x12@\n\x1dreduce_only_limit_order_count\x18\x02 \x01(\rR\x19reduceOnlyLimitOrderCount\x12h\n\x1e\x61ggregate_reduce_only_quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1b\x61ggregateReduceOnlyQuantity\x12\x61\n\x1a\x61ggregate_vanilla_quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61ggregateVanillaQuantity\x12\x45\n\x1fvanilla_conditional_order_count\x18\x05 \x01(\rR\x1cvanillaConditionalOrderCount\x12L\n#reduce_only_conditional_order_count\x18\x06 \x01(\rR\x1freduceOnlyConditionalOrderCount\"\xc3\x01\n\x0fSubaccountOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\"\n\x0cisReduceOnly\x18\x03 \x01(\x08R\x0cisReduceOnly\x12\x10\n\x03\x63id\x18\x04 \x01(\tR\x03\x63id\"w\n\x13SubaccountOrderData\x12\x41\n\x05order\x18\x01 \x01(\x0b\x32+.injective.exchange.v1beta1.SubaccountOrderR\x05order\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\"\x8f\x03\n\x14\x44\x65rivativeLimitOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\x95\x03\n\x15\x44\x65rivativeMarketOrder\x12J\n\norder_info\x18\x01 \x01(\x0b\x32%.injective.exchange.v1beta1.OrderInfoB\x04\xc8\xde\x1f\x00R\torderInfo\x12\x44\n\norder_type\x18\x02 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderTypeR\torderType\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12\x44\n\x0bmargin_hold\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmarginHold\x12H\n\rtrigger_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1d\n\norder_hash\x18\x06 \x01(\x0cR\torderHash\"\xc5\x02\n\x08Position\x12\x16\n\x06isLong\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"I\n\x14MarketOrderIndicator\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x02 \x01(\x08R\x05isBuy\"\xcd\x02\n\x08TradeLog\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x03 \x01(\x0cR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"\x9a\x02\n\rPositionDelta\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12R\n\x12\x65xecution_quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11\x65xecutionQuantity\x12N\n\x10\x65xecution_margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65xecutionMargin\x12L\n\x0f\x65xecution_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0e\x65xecutionPrice\"\xa1\x03\n\x12\x44\x65rivativeTradeLog\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x02 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x05 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\x06 \x01(\x0c\x42\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\x12\x35\n\x03pnl\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03pnl\"{\n\x12SubaccountPosition\x12@\n\x08position\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionR\x08position\x12#\n\rsubaccount_id\x18\x02 \x01(\x0cR\x0csubaccountId\"w\n\x11SubaccountDeposit\x12#\n\rsubaccount_id\x18\x01 \x01(\x0cR\x0csubaccountId\x12=\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x07\x64\x65posit\"p\n\rDepositUpdate\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12I\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.SubaccountDepositR\x08\x64\x65posits\"\xcc\x01\n\x10PointsMultiplier\x12[\n\x17maker_points_multiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15makerPointsMultiplier\x12[\n\x17taker_points_multiplier\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15takerPointsMultiplier\"\xfe\x02\n\x1eTradingRewardCampaignBoostInfo\x12\x35\n\x17\x62oosted_spot_market_ids\x18\x01 \x03(\tR\x14\x62oostedSpotMarketIds\x12j\n\x17spot_market_multipliers\x18\x02 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x15spotMarketMultipliers\x12\x41\n\x1d\x62oosted_derivative_market_ids\x18\x03 \x03(\tR\x1a\x62oostedDerivativeMarketIds\x12v\n\x1d\x64\x65rivative_market_multipliers\x18\x04 \x03(\x0b\x32,.injective.exchange.v1beta1.PointsMultiplierB\x04\xc8\xde\x1f\x00R\x1b\x64\x65rivativeMarketMultipliers\"\xbc\x01\n\x12\x43\x61mpaignRewardPool\x12\'\n\x0fstart_timestamp\x18\x01 \x01(\x03R\x0estartTimestamp\x12}\n\x14max_campaign_rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x12maxCampaignRewards\"\xa9\x02\n\x19TradingRewardCampaignInfo\x12:\n\x19\x63\x61mpaign_duration_seconds\x18\x01 \x01(\x03R\x17\x63\x61mpaignDurationSeconds\x12!\n\x0cquote_denoms\x18\x02 \x03(\tR\x0bquoteDenoms\x12u\n\x19trading_reward_boost_info\x18\x03 \x01(\x0b\x32:.injective.exchange.v1beta1.TradingRewardCampaignBoostInfoR\x16tradingRewardBoostInfo\x12\x36\n\x17\x64isqualified_market_ids\x18\x04 \x03(\tR\x15\x64isqualifiedMarketIds\"\xc0\x02\n\x13\x46\x65\x65\x44iscountTierInfo\x12S\n\x13maker_discount_rate\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11makerDiscountRate\x12S\n\x13taker_discount_rate\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x11takerDiscountRate\x12\x42\n\rstaked_amount\x18\x03 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0cstakedAmount\x12;\n\x06volume\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06volume\"\x8c\x02\n\x13\x46\x65\x65\x44iscountSchedule\x12!\n\x0c\x62ucket_count\x18\x01 \x01(\x04R\x0b\x62ucketCount\x12\'\n\x0f\x62ucket_duration\x18\x02 \x01(\x03R\x0e\x62ucketDuration\x12!\n\x0cquote_denoms\x18\x03 \x03(\tR\x0bquoteDenoms\x12N\n\ntier_infos\x18\x04 \x03(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\ttierInfos\x12\x36\n\x17\x64isqualified_market_ids\x18\x05 \x03(\tR\x15\x64isqualifiedMarketIds\"M\n\x12\x46\x65\x65\x44iscountTierTTL\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12#\n\rttl_timestamp\x18\x02 \x01(\x03R\x0cttlTimestamp\"\x9e\x01\n\x0cVolumeRecord\x12\x46\n\x0cmaker_volume\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bmakerVolume\x12\x46\n\x0ctaker_volume\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0btakerVolume\"\x91\x01\n\x0e\x41\x63\x63ountRewards\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x65\n\x07rewards\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x07rewards\"\x86\x01\n\x0cTradeRecords\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12Y\n\x14latest_trade_records\x18\x02 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\x12latestTradeRecords\"6\n\rSubaccountIDs\x12%\n\x0esubaccount_ids\x18\x01 \x03(\x0cR\rsubaccountIds\"\xa7\x01\n\x0bTradeRecord\x12\x1c\n\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"m\n\x05Level\x12\x31\n\x01p\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01p\x12\x31\n\x01q\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x01q\"\x97\x01\n\x1f\x41ggregateSubaccountVolumeRecord\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"\x89\x01\n\x1c\x41ggregateAccountVolumeRecord\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12O\n\x0emarket_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\rmarketVolumes\"s\n\x0cMarketVolume\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x06volume\x18\x02 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"A\n\rDenomDecimals\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1a\n\x08\x64\x65\x63imals\x18\x02 \x01(\x04R\x08\x64\x65\x63imals\"e\n\x12GrantAuthorization\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"^\n\x0b\x41\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x35\n\x06\x61mount\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\"\x90\x01\n\x0e\x45\x66\x66\x65\x63tiveGrant\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12I\n\x11net_granted_stake\x18\x02 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x0fnetGrantedStake\x12\x19\n\x08is_valid\x18\x03 \x01(\x08R\x07isValid*t\n\x1c\x41tomicMarketOrderAccessLevel\x12\n\n\x06Nobody\x10\x00\x12\"\n\x1e\x42\x65ginBlockerSmartContractsOnly\x10\x01\x12\x16\n\x12SmartContractsOnly\x10\x02\x12\x0c\n\x08\x45veryone\x10\x03*T\n\x0cMarketStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x41\x63tive\x10\x01\x12\n\n\x06Paused\x10\x02\x12\x0e\n\nDemolished\x10\x03\x12\x0b\n\x07\x45xpired\x10\x04*\xbb\x02\n\tOrderType\x12 \n\x0bUNSPECIFIED\x10\x00\x1a\x0f\x8a\x9d \x0bUNSPECIFIED\x12\x10\n\x03\x42UY\x10\x01\x1a\x07\x8a\x9d \x03\x42UY\x12\x12\n\x04SELL\x10\x02\x1a\x08\x8a\x9d \x04SELL\x12\x1a\n\x08STOP_BUY\x10\x03\x1a\x0c\x8a\x9d \x08STOP_BUY\x12\x1c\n\tSTOP_SELL\x10\x04\x1a\r\x8a\x9d \tSTOP_SELL\x12\x1a\n\x08TAKE_BUY\x10\x05\x1a\x0c\x8a\x9d \x08TAKE_BUY\x12\x1c\n\tTAKE_SELL\x10\x06\x1a\r\x8a\x9d \tTAKE_SELL\x12\x16\n\x06\x42UY_PO\x10\x07\x1a\n\x8a\x9d \x06\x42UY_PO\x12\x18\n\x07SELL_PO\x10\x08\x1a\x0b\x8a\x9d \x07SELL_PO\x12\x1e\n\nBUY_ATOMIC\x10\t\x1a\x0e\x8a\x9d \nBUY_ATOMIC\x12 \n\x0bSELL_ATOMIC\x10\n\x1a\x0f\x8a\x9d \x0bSELL_ATOMIC*\xaf\x01\n\rExecutionType\x12\x1c\n\x18UnspecifiedExecutionType\x10\x00\x12\n\n\x06Market\x10\x01\x12\r\n\tLimitFill\x10\x02\x12\x1a\n\x16LimitMatchRestingOrder\x10\x03\x12\x16\n\x12LimitMatchNewOrder\x10\x04\x12\x15\n\x11MarketLiquidation\x10\x05\x12\x1a\n\x16\x45xpiryMarketSettlement\x10\x06*\x89\x02\n\tOrderMask\x12\x16\n\x06UNUSED\x10\x00\x1a\n\x8a\x9d \x06UNUSED\x12\x10\n\x03\x41NY\x10\x01\x1a\x07\x8a\x9d \x03\x41NY\x12\x18\n\x07REGULAR\x10\x02\x1a\x0b\x8a\x9d \x07REGULAR\x12 \n\x0b\x43ONDITIONAL\x10\x04\x1a\x0f\x8a\x9d \x0b\x43ONDITIONAL\x12.\n\x17\x44IRECTION_BUY_OR_HIGHER\x10\x08\x1a\x11\x8a\x9d \rBUY_OR_HIGHER\x12.\n\x17\x44IRECTION_SELL_OR_LOWER\x10\x10\x1a\x11\x8a\x9d \rSELL_OR_LOWER\x12\x1b\n\x0bTYPE_MARKET\x10 \x1a\n\x8a\x9d \x06MARKET\x12\x19\n\nTYPE_LIMIT\x10@\x1a\t\x8a\x9d \x05LIMITB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rExchangeProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -298,116 +298,116 @@ _globals['_ACTIVEGRANT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._loaded_options = None _globals['_EFFECTIVEGRANT'].fields_by_name['net_granted_stake']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' - _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=15988 - _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=16104 - _globals['_MARKETSTATUS']._serialized_start=16106 - _globals['_MARKETSTATUS']._serialized_end=16190 - _globals['_ORDERTYPE']._serialized_start=16193 - _globals['_ORDERTYPE']._serialized_end=16508 - _globals['_EXECUTIONTYPE']._serialized_start=16511 - _globals['_EXECUTIONTYPE']._serialized_end=16686 - _globals['_ORDERMASK']._serialized_start=16689 - _globals['_ORDERMASK']._serialized_end=16954 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_start=16142 + _globals['_ATOMICMARKETORDERACCESSLEVEL']._serialized_end=16258 + _globals['_MARKETSTATUS']._serialized_start=16260 + _globals['_MARKETSTATUS']._serialized_end=16344 + _globals['_ORDERTYPE']._serialized_start=16347 + _globals['_ORDERTYPE']._serialized_end=16662 + _globals['_EXECUTIONTYPE']._serialized_start=16665 + _globals['_EXECUTIONTYPE']._serialized_end=16840 + _globals['_ORDERMASK']._serialized_start=16843 + _globals['_ORDERMASK']._serialized_end=17108 _globals['_PARAMS']._serialized_start=186 _globals['_PARAMS']._serialized_end=2967 _globals['_MARKETFEEMULTIPLIER']._serialized_start=2970 _globals['_MARKETFEEMULTIPLIER']._serialized_end=3102 _globals['_DERIVATIVEMARKET']._serialized_start=3105 - _globals['_DERIVATIVEMARKET']._serialized_end=4237 - _globals['_BINARYOPTIONSMARKET']._serialized_start=4240 - _globals['_BINARYOPTIONSMARKET']._serialized_end=5351 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=5354 - _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=5710 - _globals['_PERPETUALMARKETINFO']._serialized_start=5713 - _globals['_PERPETUALMARKETINFO']._serialized_end=6039 - _globals['_PERPETUALMARKETFUNDING']._serialized_start=6042 - _globals['_PERPETUALMARKETFUNDING']._serialized_end=6269 - _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=6272 - _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=6413 - _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=6415 - _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=6476 - _globals['_MIDPRICEANDTOB']._serialized_start=6479 - _globals['_MIDPRICEANDTOB']._serialized_end=6713 - _globals['_SPOTMARKET']._serialized_start=6716 - _globals['_SPOTMARKET']._serialized_end=7464 - _globals['_DEPOSIT']._serialized_start=7467 - _globals['_DEPOSIT']._serialized_end=7632 - _globals['_SUBACCOUNTTRADENONCE']._serialized_start=7634 - _globals['_SUBACCOUNTTRADENONCE']._serialized_end=7678 - _globals['_ORDERINFO']._serialized_start=7681 - _globals['_ORDERINFO']._serialized_end=7908 - _globals['_SPOTORDER']._serialized_start=7911 - _globals['_SPOTORDER']._serialized_end=8171 - _globals['_SPOTLIMITORDER']._serialized_start=8174 - _globals['_SPOTLIMITORDER']._serialized_end=8506 - _globals['_SPOTMARKETORDER']._serialized_start=8509 - _globals['_SPOTMARKETORDER']._serialized_end=8849 - _globals['_DERIVATIVEORDER']._serialized_start=8852 - _globals['_DERIVATIVEORDER']._serialized_end=9179 - _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=9182 - _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=9690 - _globals['_SUBACCOUNTORDER']._serialized_start=9693 - _globals['_SUBACCOUNTORDER']._serialized_end=9888 - _globals['_SUBACCOUNTORDERDATA']._serialized_start=9890 - _globals['_SUBACCOUNTORDERDATA']._serialized_end=10009 - _globals['_DERIVATIVELIMITORDER']._serialized_start=10012 - _globals['_DERIVATIVELIMITORDER']._serialized_end=10411 - _globals['_DERIVATIVEMARKETORDER']._serialized_start=10414 - _globals['_DERIVATIVEMARKETORDER']._serialized_end=10819 - _globals['_POSITION']._serialized_start=10822 - _globals['_POSITION']._serialized_end=11147 - _globals['_MARKETORDERINDICATOR']._serialized_start=11149 - _globals['_MARKETORDERINDICATOR']._serialized_end=11222 - _globals['_TRADELOG']._serialized_start=11225 - _globals['_TRADELOG']._serialized_end=11558 - _globals['_POSITIONDELTA']._serialized_start=11561 - _globals['_POSITIONDELTA']._serialized_end=11843 - _globals['_DERIVATIVETRADELOG']._serialized_start=11846 - _globals['_DERIVATIVETRADELOG']._serialized_end=12263 - _globals['_SUBACCOUNTPOSITION']._serialized_start=12265 - _globals['_SUBACCOUNTPOSITION']._serialized_end=12388 - _globals['_SUBACCOUNTDEPOSIT']._serialized_start=12390 - _globals['_SUBACCOUNTDEPOSIT']._serialized_end=12509 - _globals['_DEPOSITUPDATE']._serialized_start=12511 - _globals['_DEPOSITUPDATE']._serialized_end=12623 - _globals['_POINTSMULTIPLIER']._serialized_start=12626 - _globals['_POINTSMULTIPLIER']._serialized_end=12830 - _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=12833 - _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=13215 - _globals['_CAMPAIGNREWARDPOOL']._serialized_start=13218 - _globals['_CAMPAIGNREWARDPOOL']._serialized_end=13406 - _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=13409 - _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=13706 - _globals['_FEEDISCOUNTTIERINFO']._serialized_start=13709 - _globals['_FEEDISCOUNTTIERINFO']._serialized_end=14029 - _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=14032 - _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=14300 - _globals['_FEEDISCOUNTTIERTTL']._serialized_start=14302 - _globals['_FEEDISCOUNTTIERTTL']._serialized_end=14379 - _globals['_VOLUMERECORD']._serialized_start=14382 - _globals['_VOLUMERECORD']._serialized_end=14540 - _globals['_ACCOUNTREWARDS']._serialized_start=14543 - _globals['_ACCOUNTREWARDS']._serialized_end=14688 - _globals['_TRADERECORDS']._serialized_start=14691 - _globals['_TRADERECORDS']._serialized_end=14825 - _globals['_SUBACCOUNTIDS']._serialized_start=14827 - _globals['_SUBACCOUNTIDS']._serialized_end=14881 - _globals['_TRADERECORD']._serialized_start=14884 - _globals['_TRADERECORD']._serialized_end=15051 - _globals['_LEVEL']._serialized_start=15053 - _globals['_LEVEL']._serialized_end=15162 - _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=15165 - _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=15316 - _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=15319 - _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=15456 - _globals['_MARKETVOLUME']._serialized_start=15458 - _globals['_MARKETVOLUME']._serialized_end=15573 - _globals['_DENOMDECIMALS']._serialized_start=15575 - _globals['_DENOMDECIMALS']._serialized_end=15640 - _globals['_GRANTAUTHORIZATION']._serialized_start=15642 - _globals['_GRANTAUTHORIZATION']._serialized_end=15743 - _globals['_ACTIVEGRANT']._serialized_start=15745 - _globals['_ACTIVEGRANT']._serialized_end=15839 - _globals['_EFFECTIVEGRANT']._serialized_start=15842 - _globals['_EFFECTIVEGRANT']._serialized_end=15986 + _globals['_DERIVATIVEMARKET']._serialized_end=4276 + _globals['_BINARYOPTIONSMARKET']._serialized_start=4279 + _globals['_BINARYOPTIONSMARKET']._serialized_end=5429 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_start=5432 + _globals['_EXPIRYFUTURESMARKETINFO']._serialized_end=5788 + _globals['_PERPETUALMARKETINFO']._serialized_start=5791 + _globals['_PERPETUALMARKETINFO']._serialized_end=6117 + _globals['_PERPETUALMARKETFUNDING']._serialized_start=6120 + _globals['_PERPETUALMARKETFUNDING']._serialized_end=6347 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_start=6350 + _globals['_DERIVATIVEMARKETSETTLEMENTINFO']._serialized_end=6491 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_start=6493 + _globals['_NEXTFUNDINGTIMESTAMP']._serialized_end=6554 + _globals['_MIDPRICEANDTOB']._serialized_start=6557 + _globals['_MIDPRICEANDTOB']._serialized_end=6791 + _globals['_SPOTMARKET']._serialized_start=6794 + _globals['_SPOTMARKET']._serialized_end=7618 + _globals['_DEPOSIT']._serialized_start=7621 + _globals['_DEPOSIT']._serialized_end=7786 + _globals['_SUBACCOUNTTRADENONCE']._serialized_start=7788 + _globals['_SUBACCOUNTTRADENONCE']._serialized_end=7832 + _globals['_ORDERINFO']._serialized_start=7835 + _globals['_ORDERINFO']._serialized_end=8062 + _globals['_SPOTORDER']._serialized_start=8065 + _globals['_SPOTORDER']._serialized_end=8325 + _globals['_SPOTLIMITORDER']._serialized_start=8328 + _globals['_SPOTLIMITORDER']._serialized_end=8660 + _globals['_SPOTMARKETORDER']._serialized_start=8663 + _globals['_SPOTMARKETORDER']._serialized_end=9003 + _globals['_DERIVATIVEORDER']._serialized_start=9006 + _globals['_DERIVATIVEORDER']._serialized_end=9333 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_start=9336 + _globals['_SUBACCOUNTORDERBOOKMETADATA']._serialized_end=9844 + _globals['_SUBACCOUNTORDER']._serialized_start=9847 + _globals['_SUBACCOUNTORDER']._serialized_end=10042 + _globals['_SUBACCOUNTORDERDATA']._serialized_start=10044 + _globals['_SUBACCOUNTORDERDATA']._serialized_end=10163 + _globals['_DERIVATIVELIMITORDER']._serialized_start=10166 + _globals['_DERIVATIVELIMITORDER']._serialized_end=10565 + _globals['_DERIVATIVEMARKETORDER']._serialized_start=10568 + _globals['_DERIVATIVEMARKETORDER']._serialized_end=10973 + _globals['_POSITION']._serialized_start=10976 + _globals['_POSITION']._serialized_end=11301 + _globals['_MARKETORDERINDICATOR']._serialized_start=11303 + _globals['_MARKETORDERINDICATOR']._serialized_end=11376 + _globals['_TRADELOG']._serialized_start=11379 + _globals['_TRADELOG']._serialized_end=11712 + _globals['_POSITIONDELTA']._serialized_start=11715 + _globals['_POSITIONDELTA']._serialized_end=11997 + _globals['_DERIVATIVETRADELOG']._serialized_start=12000 + _globals['_DERIVATIVETRADELOG']._serialized_end=12417 + _globals['_SUBACCOUNTPOSITION']._serialized_start=12419 + _globals['_SUBACCOUNTPOSITION']._serialized_end=12542 + _globals['_SUBACCOUNTDEPOSIT']._serialized_start=12544 + _globals['_SUBACCOUNTDEPOSIT']._serialized_end=12663 + _globals['_DEPOSITUPDATE']._serialized_start=12665 + _globals['_DEPOSITUPDATE']._serialized_end=12777 + _globals['_POINTSMULTIPLIER']._serialized_start=12780 + _globals['_POINTSMULTIPLIER']._serialized_end=12984 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_start=12987 + _globals['_TRADINGREWARDCAMPAIGNBOOSTINFO']._serialized_end=13369 + _globals['_CAMPAIGNREWARDPOOL']._serialized_start=13372 + _globals['_CAMPAIGNREWARDPOOL']._serialized_end=13560 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_start=13563 + _globals['_TRADINGREWARDCAMPAIGNINFO']._serialized_end=13860 + _globals['_FEEDISCOUNTTIERINFO']._serialized_start=13863 + _globals['_FEEDISCOUNTTIERINFO']._serialized_end=14183 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_start=14186 + _globals['_FEEDISCOUNTSCHEDULE']._serialized_end=14454 + _globals['_FEEDISCOUNTTIERTTL']._serialized_start=14456 + _globals['_FEEDISCOUNTTIERTTL']._serialized_end=14533 + _globals['_VOLUMERECORD']._serialized_start=14536 + _globals['_VOLUMERECORD']._serialized_end=14694 + _globals['_ACCOUNTREWARDS']._serialized_start=14697 + _globals['_ACCOUNTREWARDS']._serialized_end=14842 + _globals['_TRADERECORDS']._serialized_start=14845 + _globals['_TRADERECORDS']._serialized_end=14979 + _globals['_SUBACCOUNTIDS']._serialized_start=14981 + _globals['_SUBACCOUNTIDS']._serialized_end=15035 + _globals['_TRADERECORD']._serialized_start=15038 + _globals['_TRADERECORD']._serialized_end=15205 + _globals['_LEVEL']._serialized_start=15207 + _globals['_LEVEL']._serialized_end=15316 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_start=15319 + _globals['_AGGREGATESUBACCOUNTVOLUMERECORD']._serialized_end=15470 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_start=15473 + _globals['_AGGREGATEACCOUNTVOLUMERECORD']._serialized_end=15610 + _globals['_MARKETVOLUME']._serialized_start=15612 + _globals['_MARKETVOLUME']._serialized_end=15727 + _globals['_DENOMDECIMALS']._serialized_start=15729 + _globals['_DENOMDECIMALS']._serialized_end=15794 + _globals['_GRANTAUTHORIZATION']._serialized_start=15796 + _globals['_GRANTAUTHORIZATION']._serialized_end=15897 + _globals['_ACTIVEGRANT']._serialized_start=15899 + _globals['_ACTIVEGRANT']._serialized_end=15993 + _globals['_EFFECTIVEGRANT']._serialized_start=15996 + _globals['_EFFECTIVEGRANT']._serialized_end=16140 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py index 962502a2..6d44d878 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/proposal_pb2.py @@ -22,7 +22,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/proposal.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xd3\x06\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12@\n\x06status\x18\t \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0c \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xcc\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12L\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32(.injective.exchange.v1beta1.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x96\r\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x85\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x39.injective.exchange.v1beta1.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x97\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32?.injective.exchange.v1beta1.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12u\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32\x34.injective.exchange.v1beta1.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x84\x01\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x39.injective.exchange.v1beta1.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x91\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32=.injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x95\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32?.injective.exchange.v1beta1.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x91\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32=.injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x94\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32\x42.injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12|\n\x1e\x64\x65nom_decimals_update_proposal\x18\x0b \x01(\x0b\x32\x37.injective.exchange.v1beta1.UpdateDenomDecimalsProposalR\x1b\x64\x65nomDecimalsUpdateProposal\x12\x63\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x87\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32:.injective.exchange.v1beta1.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\xca\x05\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0b \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\xa6\x08\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x10 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xe5\x07\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xc6\x08\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\x92\n\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12M\n\roracle_params\x18\x0e \x01(\x0b\x32(.injective.exchange.v1beta1.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xf8\x01\n\x1bUpdateDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12P\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsR\rdenomDecimals:O\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*$exchange/UpdateDenomDecimalsProposal\"\xc2\x08\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12U\n\roracle_params\x18\x0e \x01(\x0b\x32\x30.injective.exchange.v1beta1.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xf6\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xfc\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12u\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12q\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd7\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12_\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32-.injective.exchange.v1beta1.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xe3\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x08schedule\x18\x03 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xb3\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x65\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rProposalProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/exchange/v1beta1/proposal.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\x9f\x07\n\x1dSpotMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12@\n\x06status\x18\t \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12\x1c\n\x06ticker\x18\n \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0c \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\r \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0e \x01(\rR\rquoteDecimals:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/SpotMarketParamUpdateProposal\"\xcc\x01\n\x16\x45xchangeEnableProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12L\n\x0c\x65xchangeType\x18\x03 \x01(\x0e\x32(.injective.exchange.v1beta1.ExchangeTypeR\x0c\x65xchangeType:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x8a\xe7\xb0*\x1f\x65xchange/ExchangeEnableProposal\"\x96\r\n!BatchExchangeModificationProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x85\x01\n\"spot_market_param_update_proposals\x18\x03 \x03(\x0b\x32\x39.injective.exchange.v1beta1.SpotMarketParamUpdateProposalR\x1espotMarketParamUpdateProposals\x12\x97\x01\n(derivative_market_param_update_proposals\x18\x04 \x03(\x0b\x32?.injective.exchange.v1beta1.DerivativeMarketParamUpdateProposalR$derivativeMarketParamUpdateProposals\x12u\n\x1cspot_market_launch_proposals\x18\x05 \x03(\x0b\x32\x34.injective.exchange.v1beta1.SpotMarketLaunchProposalR\x19spotMarketLaunchProposals\x12\x84\x01\n!perpetual_market_launch_proposals\x18\x06 \x03(\x0b\x32\x39.injective.exchange.v1beta1.PerpetualMarketLaunchProposalR\x1eperpetualMarketLaunchProposals\x12\x91\x01\n&expiry_futures_market_launch_proposals\x18\x07 \x03(\x0b\x32=.injective.exchange.v1beta1.ExpiryFuturesMarketLaunchProposalR\"expiryFuturesMarketLaunchProposals\x12\x95\x01\n\'trading_reward_campaign_update_proposal\x18\x08 \x01(\x0b\x32?.injective.exchange.v1beta1.TradingRewardCampaignUpdateProposalR#tradingRewardCampaignUpdateProposal\x12\x91\x01\n&binary_options_market_launch_proposals\x18\t \x03(\x0b\x32=.injective.exchange.v1beta1.BinaryOptionsMarketLaunchProposalR\"binaryOptionsMarketLaunchProposals\x12\x94\x01\n%binary_options_param_update_proposals\x18\n \x03(\x0b\x32\x42.injective.exchange.v1beta1.BinaryOptionsMarketParamUpdateProposalR!binaryOptionsParamUpdateProposals\x12|\n\x1e\x64\x65nom_decimals_update_proposal\x18\x0b \x01(\x0b\x32\x37.injective.exchange.v1beta1.UpdateDenomDecimalsProposalR\x1b\x64\x65nomDecimalsUpdateProposal\x12\x63\n\x15\x66\x65\x65_discount_proposal\x18\x0c \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountProposalR\x13\x66\x65\x65\x44iscountProposal\x12\x87\x01\n\"market_forced_settlement_proposals\x18\r \x03(\x0b\x32:.injective.exchange.v1beta1.MarketForcedSettlementProposalR\x1fmarketForcedSettlementProposals:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BatchExchangeModificationProposal\"\x96\x06\n\x18SpotMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x04 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x05 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x46\n\x0cmin_notional\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x0b \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo\x12#\n\rbase_decimals\x18\x0e \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\x0f \x01(\rR\rquoteDecimals:L\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*!exchange/SpotMarketLaunchProposal\"\xa6\x08\n\x1dPerpetualMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12U\n\x14initial_margin_ratio\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x10 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:Q\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*&exchange/PerpetualMarketLaunchProposal\"\xe5\x07\n!BinaryOptionsMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x04 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x05 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x31\n\x14\x65xpiration_timestamp\x18\x08 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\t \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\n \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0b \x01(\tR\nquoteDenom\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12+\n\x11\x61\x64min_permissions\x18\x11 \x01(\rR\x10\x61\x64minPermissions:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/BinaryOptionsMarketLaunchProposal\"\xc6\x08\n!ExpiryFuturesMarketLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x16\n\x06ticker\x18\x03 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x05 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x06 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x08 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12\x16\n\x06\x65xpiry\x18\t \x01(\x03R\x06\x65xpiry\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12R\n\x13min_price_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:U\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0**exchange/ExpiryFuturesMarketLaunchProposal\"\x92\n\n#DerivativeMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12U\n\x14initial_margin_ratio\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12I\n\x0emaker_fee_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\t \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\n \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12S\n\x12HourlyInterestRate\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12HourlyInterestRate\x12W\n\x14HourlyFundingRateCap\x18\x0c \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x14HourlyFundingRateCap\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12M\n\roracle_params\x18\x0e \x01(\x0b\x32(.injective.exchange.v1beta1.OracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12\x44\n\nadmin_info\x18\x11 \x01(\x0b\x32%.injective.exchange.v1beta1.AdminInfoR\tadminInfo:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/DerivativeMarketParamUpdateProposal\"N\n\tAdminInfo\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12+\n\x11\x61\x64min_permissions\x18\x02 \x01(\rR\x10\x61\x64minPermissions\"\x99\x02\n\x1eMarketForcedSettlementProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice:R\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\'exchange/MarketForcedSettlementProposal\"\xf8\x01\n\x1bUpdateDenomDecimalsProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12P\n\x0e\x64\x65nom_decimals\x18\x03 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsR\rdenomDecimals:O\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*$exchange/UpdateDenomDecimalsProposal\"\xc2\x08\n&BinaryOptionsMarketParamUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12I\n\x0emaker_fee_rate\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12X\n\x16relayer_fee_share_rate\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13relayerFeeShareRate\x12R\n\x13min_price_tick_size\x18\x07 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x08 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12N\n\x10settlement_price\x18\x0b \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x14\n\x05\x61\x64min\x18\x0c \x01(\tR\x05\x61\x64min\x12@\n\x06status\x18\r \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status\x12U\n\roracle_params\x18\x0e \x01(\x0b\x32\x30.injective.exchange.v1beta1.ProviderOracleParamsR\x0coracleParams\x12\x1c\n\x06ticker\x18\x0f \x01(\tB\x04\xc8\xde\x1f\x01R\x06ticker\x12\x46\n\x0cmin_notional\x18\x10 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:Z\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*/exchange/BinaryOptionsMarketParamUpdateProposal\"\xc1\x01\n\x14ProviderOracleParams\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x1a\n\x08provider\x18\x02 \x01(\tR\x08provider\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xc9\x01\n\x0cOracleParams\x12\x1f\n\x0boracle_base\x18\x01 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x02 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x03 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x04 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\"\xf6\x02\n#TradingRewardCampaignLaunchProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12\x62\n\x15\x63\x61mpaign_reward_pools\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x13\x63\x61mpaignRewardPools:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignLaunchProposal\"\xfc\x03\n#TradingRewardCampaignUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12Z\n\rcampaign_info\x18\x03 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x0c\x63\x61mpaignInfo\x12u\n\x1f\x63\x61mpaign_reward_pools_additions\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1c\x63\x61mpaignRewardPoolsAdditions\x12q\n\x1d\x63\x61mpaign_reward_pools_updates\x18\x05 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR\x1a\x63\x61mpaignRewardPoolsUpdates:W\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*,exchange/TradingRewardCampaignUpdateProposal\"\x80\x01\n\x11RewardPointUpdate\x12\'\n\x0f\x61\x63\x63ount_address\x18\x01 \x01(\tR\x0e\x61\x63\x63ountAddress\x12\x42\n\nnew_points\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tnewPoints\"\xd7\x02\n(TradingRewardPendingPointsUpdateProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x34\n\x16pending_pool_timestamp\x18\x03 \x01(\x03R\x14pendingPoolTimestamp\x12_\n\x14reward_point_updates\x18\x04 \x03(\x0b\x32-.injective.exchange.v1beta1.RewardPointUpdateR\x12rewardPointUpdates:\\\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*1exchange/TradingRewardPendingPointsUpdateProposal\"\xe3\x01\n\x13\x46\x65\x65\x44iscountProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12K\n\x08schedule\x18\x03 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x08schedule:G\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*\x1c\x65xchange/FeeDiscountProposal\"\x85\x02\n\x1f\x42\x61tchCommunityPoolSpendProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12U\n\tproposals\x18\x03 \x03(\x0b\x32\x37.cosmos.distribution.v1beta1.CommunityPoolSpendProposalR\tproposals:S\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*(exchange/BatchCommunityPoolSpendProposal\"\xb3\x02\n.AtomicMarketOrderFeeMultiplierScheduleProposal\x12\x14\n\x05title\x18\x01 \x01(\tR\x05title\x12 \n\x0b\x64\x65scription\x18\x02 \x01(\tR\x0b\x64\x65scription\x12\x65\n\x16market_fee_multipliers\x18\x03 \x03(\x0b\x32/.injective.exchange.v1beta1.MarketFeeMultiplierR\x14marketFeeMultipliers:b\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\xca\xb4-\x1a\x63osmos.gov.v1beta1.Content\x8a\xe7\xb0*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal*x\n\x0c\x45xchangeType\x12\x32\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x1a\x18\x8a\x9d \x14\x45XCHANGE_UNSPECIFIED\x12\x12\n\x04SPOT\x10\x01\x1a\x08\x8a\x9d \x04SPOT\x12 \n\x0b\x44\x45RIVATIVES\x10\x02\x1a\x0f\x8a\x9d \x0b\x44\x45RIVATIVESB\x89\x02\n\x1e\x63om.injective.exchange.v1beta1B\rProposalProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -174,48 +174,48 @@ _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*(exchange/BatchCommunityPoolSpendProposal' _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._loaded_options = None _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_options = b'\210\240\037\000\350\240\037\000\312\264-\032cosmos.gov.v1beta1.Content\212\347\260*7exchange/AtomicMarketOrderFeeMultiplierScheduleProposal' - _globals['_EXCHANGETYPE']._serialized_start=12535 - _globals['_EXCHANGETYPE']._serialized_end=12655 + _globals['_EXCHANGETYPE']._serialized_start=12687 + _globals['_EXCHANGETYPE']._serialized_end=12807 _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_start=329 - _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1180 - _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1183 - _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1387 - _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1390 - _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3076 - _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3079 - _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=3793 - _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=3796 - _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=4858 - _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=4861 - _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=5858 - _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=5861 - _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=6955 - _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=6958 - _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=8256 - _globals['_ADMININFO']._serialized_start=8258 - _globals['_ADMININFO']._serialized_end=8336 - _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=8339 - _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=8620 - _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_start=8623 - _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_end=8871 - _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=8874 - _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=9964 - _globals['_PROVIDERORACLEPARAMS']._serialized_start=9967 - _globals['_PROVIDERORACLEPARAMS']._serialized_end=10160 - _globals['_ORACLEPARAMS']._serialized_start=10163 - _globals['_ORACLEPARAMS']._serialized_end=10364 - _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=10367 - _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=10741 - _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=10744 - _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=11252 - _globals['_REWARDPOINTUPDATE']._serialized_start=11255 - _globals['_REWARDPOINTUPDATE']._serialized_end=11383 - _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=11386 - _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=11729 - _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=11732 - _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=11959 - _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=11962 - _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=12223 - _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=12226 - _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=12533 + _globals['_SPOTMARKETPARAMUPDATEPROPOSAL']._serialized_end=1256 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_start=1259 + _globals['_EXCHANGEENABLEPROPOSAL']._serialized_end=1463 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_start=1466 + _globals['_BATCHEXCHANGEMODIFICATIONPROPOSAL']._serialized_end=3152 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_start=3155 + _globals['_SPOTMARKETLAUNCHPROPOSAL']._serialized_end=3945 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_start=3948 + _globals['_PERPETUALMARKETLAUNCHPROPOSAL']._serialized_end=5010 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_start=5013 + _globals['_BINARYOPTIONSMARKETLAUNCHPROPOSAL']._serialized_end=6010 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_start=6013 + _globals['_EXPIRYFUTURESMARKETLAUNCHPROPOSAL']._serialized_end=7107 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_start=7110 + _globals['_DERIVATIVEMARKETPARAMUPDATEPROPOSAL']._serialized_end=8408 + _globals['_ADMININFO']._serialized_start=8410 + _globals['_ADMININFO']._serialized_end=8488 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_start=8491 + _globals['_MARKETFORCEDSETTLEMENTPROPOSAL']._serialized_end=8772 + _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_start=8775 + _globals['_UPDATEDENOMDECIMALSPROPOSAL']._serialized_end=9023 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_start=9026 + _globals['_BINARYOPTIONSMARKETPARAMUPDATEPROPOSAL']._serialized_end=10116 + _globals['_PROVIDERORACLEPARAMS']._serialized_start=10119 + _globals['_PROVIDERORACLEPARAMS']._serialized_end=10312 + _globals['_ORACLEPARAMS']._serialized_start=10315 + _globals['_ORACLEPARAMS']._serialized_end=10516 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_start=10519 + _globals['_TRADINGREWARDCAMPAIGNLAUNCHPROPOSAL']._serialized_end=10893 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_start=10896 + _globals['_TRADINGREWARDCAMPAIGNUPDATEPROPOSAL']._serialized_end=11404 + _globals['_REWARDPOINTUPDATE']._serialized_start=11407 + _globals['_REWARDPOINTUPDATE']._serialized_end=11535 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_start=11538 + _globals['_TRADINGREWARDPENDINGPOINTSUPDATEPROPOSAL']._serialized_end=11881 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_start=11884 + _globals['_FEEDISCOUNTPROPOSAL']._serialized_end=12111 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_start=12114 + _globals['_BATCHCOMMUNITYPOOLSPENDPROPOSAL']._serialized_end=12375 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_start=12378 + _globals['_ATOMICMARKETORDERFEEMULTIPLIERSCHEDULEPROPOSAL']._serialized_end=12685 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py index 30a1f5d7..43c5af63 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/query_pb2.py @@ -19,7 +19,7 @@ from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/query.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a(injective/exchange/v1beta1/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xc1\x01\n\x1dQuerySubaccountOrdersResponse\x12N\n\nbuy_orders\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\tbuyOrders\x12P\n\x0bsell_orders\x18\x02 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\nsellOrders\"\xaf\x01\n%SubaccountOrderbookMetadataWithMarket\x12S\n\x08metadata\x18\x01 \x01(\x0b\x32\x37.injective.exchange.v1beta1.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"_\n\x1bQueryExchangeParamsResponse\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x93\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12L\n\nsubaccount\x18\x02 \x01(\x0b\x32&.injective.exchange.v1beta1.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xea\x01\n\x1fQuerySubaccountDepositsResponse\x12\x65\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32I.injective.exchange.v1beta1.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a`\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"f\n\x1dQueryExchangeBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"u\n\x1cQueryAggregateVolumeResponse\x12U\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xf9\x01\n\x1dQueryAggregateVolumesResponse\x12t\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v1beta1.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12\x62\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"l\n\"QueryAggregateMarketVolumeResponse\x12\x46\n\x06volume\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"0\n\x18QueryDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"5\n\x19QueryDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"3\n\x19QueryDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"t\n\x1aQueryDenomDecimalsResponse\x12V\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"i\n#QueryAggregateMarketVolumesResponse\x12\x42\n\x07volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"a\n\x1eQuerySubaccountDepositResponse\x12?\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\\\n\x18QuerySpotMarketsResponse\x12@\n\x07markets\x18\x01 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"Y\n\x17QuerySpotMarketResponse\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\"\xd6\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x44\n\norder_side\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xb8\x01\n\x1aQuerySpotOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\xad\x01\n\x0e\x46ullSpotMarket\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\x12[\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"d\n\x1cQueryFullSpotMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"a\n\x1bQueryFullSpotMarketResponse\x12\x42\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"l\n\x1fQuerySpotOrdersByHashesResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"j\n\x1dQueryTraderSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"r\n%QueryAccountAddressSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xbe\x01\n QueryDerivativeOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\x9c\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x05 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xdc\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x04 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"v\n#QueryTraderDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"~\n+QueryAccountAddressDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"x\n%QueryDerivativeOrdersByHashesResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xbf\x01\n\x14PerpetualMarketState\x12P\n\x0bmarket_info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoR\nmarketInfo\x12U\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x0b\x66undingInfo\"\xba\x03\n\x14\x46ullDerivativeMarket\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x06market\x12Y\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.PerpetualMarketStateH\x00R\rperpetualInfo\x12X\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12[\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"l\n\x1eQueryDerivativeMarketsResponse\x12J\n\x07markets\x18\x01 \x03(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"i\n\x1dQueryDerivativeMarketResponse\x12H\n\x06market\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"n\n QuerySubaccountPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"k\n\'QuerySubaccountPositionInMarketResponse\x12@\n\x05state\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionB\x04\xc8\xde\x1f\x01R\x05state\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"}\n0QuerySubaccountEffectivePositionInMarketResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v1beta1.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"m\n QueryPerpetualMarketInfoResponse\x12I\n\x04info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n$QueryExpiryFuturesMarketInfoResponse\x12M\n\x04info\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n#QueryPerpetualMarketFundingResponse\x12N\n\x05state\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x8b\x01\n$QuerySubaccountOrderMetadataResponse\x12\x63\n\x08metadata\x18\x01 \x03(\x0b\x32\x41.injective.exchange.v1beta1.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\x19\n\x17QueryModuleStateRequest\"Z\n\x18QueryModuleStateResponse\x12>\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"d\n\x16QueryPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xfe\x04\n QueryTradeRewardCampaignResponse\x12v\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xe9\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12R\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12O\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x87\x01\n QueryFeeDiscountScheduleResponse\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"|\n\x1eQueryBalanceMismatchesResponse\x12Z\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x96\x01\n$QueryBalanceWithBalanceHoldsResponse\x12n\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"s\n&QueryFeeDiscountTierStatisticsResponse\x12I\n\nstatistics\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"t\n#QueryHistoricalTradeRecordsResponse\x12M\n\rtrade_records\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\xa0\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x63\n\x15trade_history_options\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.TradeHistoryOptionsR\x13tradeHistoryOptions\"\x83\x02\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12H\n\x0braw_history\x18\x03 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"g\n\x1aQueryBinaryMarketsResponse\x12I\n\x07markets\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x87\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12U\n\x06orders\x18\x01 \x03(\x0b\x32=.injective.exchange.v1beta1.TrimmedDerivativeConditionalOrderR\x06orders\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xb3\x01\n\x1dQueryActiveStakeGrantResponse\x12=\n\x05grant\x18\x01 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x05grant\x12S\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb7\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\xcd\x65\n\x05Query\x12\xba\x01\n\x13QueryExchangeParams\x12\x36.injective.exchange.v1beta1.QueryExchangeParamsRequest\x1a\x37.injective.exchange.v1beta1.QueryExchangeParamsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v1beta1/exchangeParams\x12\xce\x01\n\x12SubaccountDeposits\x12:.injective.exchange.v1beta1.QuerySubaccountDepositsRequest\x1a;.injective.exchange.v1beta1.QuerySubaccountDepositsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/exchange/subaccountDeposits\x12\xca\x01\n\x11SubaccountDeposit\x12\x39.injective.exchange.v1beta1.QuerySubaccountDepositRequest\x1a:.injective.exchange.v1beta1.QuerySubaccountDepositResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/exchange/subaccountDeposit\x12\xc6\x01\n\x10\x45xchangeBalances\x12\x38.injective.exchange.v1beta1.QueryExchangeBalancesRequest\x1a\x39.injective.exchange.v1beta1.QueryExchangeBalancesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/exchangeBalances\x12\xcc\x01\n\x0f\x41ggregateVolume\x12\x37.injective.exchange.v1beta1.QueryAggregateVolumeRequest\x1a\x38.injective.exchange.v1beta1.QueryAggregateVolumeResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/exchange/aggregateVolume/{account}\x12\xc6\x01\n\x10\x41ggregateVolumes\x12\x38.injective.exchange.v1beta1.QueryAggregateVolumesRequest\x1a\x39.injective.exchange.v1beta1.QueryAggregateVolumesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/aggregateVolumes\x12\xe6\x01\n\x15\x41ggregateMarketVolume\x12=.injective.exchange.v1beta1.QueryAggregateMarketVolumeRequest\x1a>.injective.exchange.v1beta1.QueryAggregateMarketVolumeResponse\"N\x82\xd3\xe4\x93\x02H\x12\x46/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}\x12\xde\x01\n\x16\x41ggregateMarketVolumes\x12>.injective.exchange.v1beta1.QueryAggregateMarketVolumesRequest\x1a?.injective.exchange.v1beta1.QueryAggregateMarketVolumesResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v1beta1/exchange/aggregateMarketVolumes\x12\xbf\x01\n\x0c\x44\x65nomDecimal\x12\x34.injective.exchange.v1beta1.QueryDenomDecimalRequest\x1a\x35.injective.exchange.v1beta1.QueryDenomDecimalResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/exchange/denom_decimal/{denom}\x12\xbb\x01\n\rDenomDecimals\x12\x35.injective.exchange.v1beta1.QueryDenomDecimalsRequest\x1a\x36.injective.exchange.v1beta1.QueryDenomDecimalsResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v1beta1/exchange/denom_decimals\x12\xaa\x01\n\x0bSpotMarkets\x12\x33.injective.exchange.v1beta1.QuerySpotMarketsRequest\x1a\x34.injective.exchange.v1beta1.QuerySpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/spot/markets\x12\xb3\x01\n\nSpotMarket\x12\x32.injective.exchange.v1beta1.QuerySpotMarketRequest\x1a\x33.injective.exchange.v1beta1.QuerySpotMarketResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/spot/markets/{market_id}\x12\xbb\x01\n\x0f\x46ullSpotMarkets\x12\x37.injective.exchange.v1beta1.QueryFullSpotMarketsRequest\x1a\x38.injective.exchange.v1beta1.QueryFullSpotMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v1beta1/spot/full_markets\x12\xc3\x01\n\x0e\x46ullSpotMarket\x12\x36.injective.exchange.v1beta1.QueryFullSpotMarketRequest\x1a\x37.injective.exchange.v1beta1.QueryFullSpotMarketResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/full_market/{market_id}\x12\xbe\x01\n\rSpotOrderbook\x12\x35.injective.exchange.v1beta1.QuerySpotOrderbookRequest\x1a\x36.injective.exchange.v1beta1.QuerySpotOrderbookResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/spot/orderbook/{market_id}\x12\xd4\x01\n\x10TraderSpotOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}\x12\xf6\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12@.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest\x1a\x41.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders/{market_id}/account/{account_address}\x12\xe4\x01\n\x12SpotOrdersByHashes\x12:.injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest\x1a;.injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xc3\x01\n\x10SubaccountOrders\x12\x38.injective.exchange.v1beta1.QuerySubaccountOrdersRequest\x1a\x39.injective.exchange.v1beta1.QuerySubaccountOrdersResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/orders/{subaccount_id}\x12\xe7\x01\n\x19TraderSpotTransientOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}\x12\xd5\x01\n\x12SpotMidPriceAndTOB\x12:.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest\x1a;.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}\x12\xed\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12@.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}\x12\xd6\x01\n\x13\x44\x65rivativeOrderbook\x12;.injective.exchange.v1beta1.QueryDerivativeOrderbookRequest\x1a<.injective.exchange.v1beta1.QueryDerivativeOrderbookResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}\x12\x8e\x02\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x46.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest\x1aG.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders/{market_id}/account/{account_address}\x12\xfc\x01\n\x18\x44\x65rivativeOrdersByHashes\x12@.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xff\x01\n\x1fTraderDerivativeTransientOrders\x12>.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xc2\x01\n\x11\x44\x65rivativeMarkets\x12\x39.injective.exchange.v1beta1.QueryDerivativeMarketsRequest\x1a:.injective.exchange.v1beta1.QueryDerivativeMarketsResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./injective/exchange/v1beta1/derivative/markets\x12\xcb\x01\n\x10\x44\x65rivativeMarket\x12\x38.injective.exchange.v1beta1.QueryDerivativeMarketRequest\x1a\x39.injective.exchange.v1beta1.QueryDerivativeMarketResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/derivative/markets/{market_id}\x12\xe7\x01\n\x17\x44\x65rivativeMarketAddress\x12?.injective.exchange.v1beta1.QueryDerivativeMarketAddressRequest\x1a@.injective.exchange.v1beta1.QueryDerivativeMarketAddressResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/derivative/market_address/{market_id}\x12\xd1\x01\n\x14SubaccountTradeNonce\x12<.injective.exchange.v1beta1.QuerySubaccountTradeNonceRequest\x1a=.injective.exchange.v1beta1.QuerySubaccountTradeNonceResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/exchange/{subaccount_id}\x12\xb2\x01\n\x13\x45xchangeModuleState\x12\x33.injective.exchange.v1beta1.QueryModuleStateRequest\x1a\x34.injective.exchange.v1beta1.QueryModuleStateResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/module_state\x12\xa1\x01\n\tPositions\x12\x31.injective.exchange.v1beta1.QueryPositionsRequest\x1a\x32.injective.exchange.v1beta1.QueryPositionsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v1beta1/positions\x12\xcf\x01\n\x13SubaccountPositions\x12;.injective.exchange.v1beta1.QuerySubaccountPositionsRequest\x1a<.injective.exchange.v1beta1.QuerySubaccountPositionsResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/positions/{subaccount_id}\x12\xf0\x01\n\x1aSubaccountPositionInMarket\x12\x42.injective.exchange.v1beta1.QuerySubaccountPositionInMarketRequest\x1a\x43.injective.exchange.v1beta1.QuerySubaccountPositionInMarketResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}\x12\x95\x02\n#SubaccountEffectivePositionInMarket\x12K.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketRequest\x1aL.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketResponse\"S\x82\xd3\xe4\x93\x02M\x12K/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}\x12\xd7\x01\n\x13PerpetualMarketInfo\x12;.injective.exchange.v1beta1.QueryPerpetualMarketInfoRequest\x1a<.injective.exchange.v1beta1.QueryPerpetualMarketInfoResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/perpetual_market_info/{market_id}\x12\xe0\x01\n\x17\x45xpiryFuturesMarketInfo\x12?.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoRequest\x1a@.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/expiry_market_info/{market_id}\x12\xe3\x01\n\x16PerpetualMarketFunding\x12>.injective.exchange.v1beta1.QueryPerpetualMarketFundingRequest\x1a?.injective.exchange.v1beta1.QueryPerpetualMarketFundingResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/perpetual_market_funding/{market_id}\x12\xe0\x01\n\x17SubaccountOrderMetadata\x12?.injective.exchange.v1beta1.QuerySubaccountOrderMetadataRequest\x1a@.injective.exchange.v1beta1.QuerySubaccountOrderMetadataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/order_metadata/{subaccount_id}\x12\xc3\x01\n\x11TradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/trade_reward_points\x12\xd2\x01\n\x18PendingTradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/pending_trade_reward_points\x12\xcb\x01\n\x13TradeRewardCampaign\x12;.injective.exchange.v1beta1.QueryTradeRewardCampaignRequest\x1a<.injective.exchange.v1beta1.QueryTradeRewardCampaignResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/trade_reward_campaign\x12\xe2\x01\n\x16\x46\x65\x65\x44iscountAccountInfo\x12>.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoRequest\x1a?.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v1beta1/fee_discount_account_info/{account}\x12\xcb\x01\n\x13\x46\x65\x65\x44iscountSchedule\x12;.injective.exchange.v1beta1.QueryFeeDiscountScheduleRequest\x1a<.injective.exchange.v1beta1.QueryFeeDiscountScheduleResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/fee_discount_schedule\x12\xd0\x01\n\x11\x42\x61lanceMismatches\x12\x39.injective.exchange.v1beta1.QueryBalanceMismatchesRequest\x1a:.injective.exchange.v1beta1.QueryBalanceMismatchesResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryHistoricalTradeRecordsRequest\x1a?.injective.exchange.v1beta1.QueryHistoricalTradeRecordsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/historical_trade_records\x12\xd7\x01\n\x13IsOptedOutOfRewards\x12;.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsRequest\x1a<.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}\x12\xe5\x01\n\x19OptedOutOfRewardsAccounts\x12\x41.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsRequest\x1a\x42.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/opted_out_of_rewards_accounts\x12\xca\x01\n\x10MarketVolatility\x12\x38.injective.exchange.v1beta1.QueryMarketVolatilityRequest\x1a\x39.injective.exchange.v1beta1.QueryMarketVolatilityResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/market_volatility/{market_id}\x12\xc1\x01\n\x14\x42inaryOptionsMarkets\x12\x35.injective.exchange.v1beta1.QueryBinaryMarketsRequest\x1a\x36.injective.exchange.v1beta1.QueryBinaryMarketsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/binary_options/markets\x12\x99\x02\n!TraderDerivativeConditionalOrders\x12I.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersRequest\x1aJ.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse\"]\x82\xd3\xe4\x93\x02W\x12U/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xfe\x01\n\"MarketAtomicExecutionFeeMultiplier\x12J.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest\x1aK.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/atomic_order_fee_multiplier\x12\xc9\x01\n\x10\x41\x63tiveStakeGrant\x12\x38.injective.exchange.v1beta1.QueryActiveStakeGrantRequest\x1a\x39.injective.exchange.v1beta1.QueryActiveStakeGrantResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/active_stake_grant/{grantee}\x12\xda\x01\n\x12GrantAuthorization\x12:.injective.exchange.v1beta1.QueryGrantAuthorizationRequest\x1a;.injective.exchange.v1beta1.QueryGrantAuthorizationResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}\x12\xd4\x01\n\x13GrantAuthorizations\x12;.injective.exchange.v1beta1.QueryGrantAuthorizationsRequest\x1a<.injective.exchange.v1beta1.QueryGrantAuthorizationsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/grant_authorizations/{granter}B\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nQueryProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/exchange/v1beta1/query.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1cgoogle/api/annotations.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a(injective/exchange/v1beta1/genesis.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x14gogoproto/gogo.proto\"O\n\nSubaccount\x12\x16\n\x06trader\x18\x01 \x01(\tR\x06trader\x12)\n\x10subaccount_nonce\x18\x02 \x01(\rR\x0fsubaccountNonce\"`\n\x1cQuerySubaccountOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\xc1\x01\n\x1dQuerySubaccountOrdersResponse\x12N\n\nbuy_orders\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\tbuyOrders\x12P\n\x0bsell_orders\x18\x02 \x03(\x0b\x32/.injective.exchange.v1beta1.SubaccountOrderDataR\nsellOrders\"\xaf\x01\n%SubaccountOrderbookMetadataWithMarket\x12S\n\x08metadata\x18\x01 \x01(\x0b\x32\x37.injective.exchange.v1beta1.SubaccountOrderbookMetadataR\x08metadata\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x14\n\x05isBuy\x18\x03 \x01(\x08R\x05isBuy\"\x1c\n\x1aQueryExchangeParamsRequest\"_\n\x1bQueryExchangeParamsResponse\x12@\n\x06params\x18\x01 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x93\x01\n\x1eQuerySubaccountDepositsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12L\n\nsubaccount\x18\x02 \x01(\x0b\x32&.injective.exchange.v1beta1.SubaccountB\x04\xc8\xde\x1f\x01R\nsubaccount\"\xea\x01\n\x1fQuerySubaccountDepositsResponse\x12\x65\n\x08\x64\x65posits\x18\x01 \x03(\x0b\x32I.injective.exchange.v1beta1.QuerySubaccountDepositsResponse.DepositsEntryR\x08\x64\x65posits\x1a`\n\rDepositsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x39\n\x05value\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x05value:\x02\x38\x01\"\x1e\n\x1cQueryExchangeBalancesRequest\"f\n\x1dQueryExchangeBalancesResponse\x12\x45\n\x08\x62\x61lances\x18\x01 \x03(\x0b\x32#.injective.exchange.v1beta1.BalanceB\x04\xc8\xde\x1f\x00R\x08\x62\x61lances\"7\n\x1bQueryAggregateVolumeRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"u\n\x1cQueryAggregateVolumeResponse\x12U\n\x11\x61ggregate_volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x10\x61ggregateVolumes\"Y\n\x1cQueryAggregateVolumesRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\xf9\x01\n\x1dQueryAggregateVolumesResponse\x12t\n\x19\x61ggregate_account_volumes\x18\x01 \x03(\x0b\x32\x38.injective.exchange.v1beta1.AggregateAccountVolumeRecordR\x17\x61ggregateAccountVolumes\x12\x62\n\x18\x61ggregate_market_volumes\x18\x02 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x16\x61ggregateMarketVolumes\"@\n!QueryAggregateMarketVolumeRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"l\n\"QueryAggregateMarketVolumeResponse\x12\x46\n\x06volume\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.VolumeRecordB\x04\xc8\xde\x1f\x00R\x06volume\"0\n\x18QueryDenomDecimalRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"5\n\x19QueryDenomDecimalResponse\x12\x18\n\x07\x64\x65\x63imal\x18\x01 \x01(\x04R\x07\x64\x65\x63imal\"3\n\x19QueryDenomDecimalsRequest\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"t\n\x1aQueryDenomDecimalsResponse\x12V\n\x0e\x64\x65nom_decimals\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.DenomDecimalsB\x04\xc8\xde\x1f\x00R\rdenomDecimals\"C\n\"QueryAggregateMarketVolumesRequest\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"i\n#QueryAggregateMarketVolumesResponse\x12\x42\n\x07volumes\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.MarketVolumeR\x07volumes\"Z\n\x1dQuerySubaccountDepositRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"a\n\x1eQuerySubaccountDepositResponse\x12?\n\x08\x64\x65posits\x18\x01 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositR\x08\x64\x65posits\"P\n\x17QuerySpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"\\\n\x18QuerySpotMarketsResponse\x12@\n\x07markets\x18\x01 \x03(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x07markets\"5\n\x16QuerySpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"Y\n\x17QuerySpotMarketResponse\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\"\xd6\x02\n\x19QuerySpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x44\n\norder_side\x18\x03 \x01(\x0e\x32%.injective.exchange.v1beta1.OrderSideR\torderSide\x12_\n\x19limit_cumulative_notional\x18\x04 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\x12_\n\x19limit_cumulative_quantity\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeQuantity\"\xb8\x01\n\x1aQuerySpotOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\xad\x01\n\x0e\x46ullSpotMarket\x12>\n\x06market\x18\x01 \x01(\x0b\x32&.injective.exchange.v1beta1.SpotMarketR\x06market\x12[\n\x11mid_price_and_tob\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTob\"\x88\x01\n\x1bQueryFullSpotMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"d\n\x1cQueryFullSpotMarketsResponse\x12\x44\n\x07markets\x18\x01 \x03(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x07markets\"m\n\x1aQueryFullSpotMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x32\n\x16with_mid_price_and_tob\x18\x02 \x01(\x08R\x12withMidPriceAndTob\"a\n\x1bQueryFullSpotMarketResponse\x12\x42\n\x06market\x18\x01 \x01(\x0b\x32*.injective.exchange.v1beta1.FullSpotMarketR\x06market\"\x85\x01\n\x1eQuerySpotOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"l\n\x1fQuerySpotOrdersByHashesResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"`\n\x1cQueryTraderSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"l\n$QueryAccountAddressSpotOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\x9b\x02\n\x15TrimmedSpotLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12?\n\x08\x66illable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x14\n\x05isBuy\x18\x04 \x01(\x08R\x05isBuy\x12\x1d\n\norder_hash\x18\x05 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id\"j\n\x1dQueryTraderSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"r\n%QueryAccountAddressSpotOrdersResponse\x12I\n\x06orders\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.TrimmedSpotLimitOrderR\x06orders\"=\n\x1eQuerySpotMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xfb\x01\n\x1fQuerySpotMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"C\n$QueryDerivativeMidPriceAndTOBRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\x81\x02\n%QueryDerivativeMidPriceAndTOBResponse\x12@\n\tmid_price\x18\x01 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08midPrice\x12I\n\x0e\x62\x65st_buy_price\x18\x02 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0c\x62\x65stBuyPrice\x12K\n\x0f\x62\x65st_sell_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rbestSellPrice\"\xb5\x01\n\x1fQueryDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12_\n\x19limit_cumulative_notional\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x17limitCumulativeNotional\"\xbe\x01\n QueryDerivativeOrderbookResponse\x12K\n\x10\x62uys_price_level\x18\x01 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0e\x62uysPriceLevel\x12M\n\x11sells_price_level\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\x0fsellsPriceLevel\"\x9c\x03\n.QueryTraderSpotOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x44\n\x0b\x62\x61se_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nbaseAmount\x12\x46\n\x0cquote_amount\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x05 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x06 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"\xdc\x02\n4QueryTraderDerivativeOrdersToCancelUpToAmountRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x46\n\x0cquote_amount\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bquoteAmount\x12L\n\x08strategy\x18\x04 \x01(\x0e\x32\x30.injective.exchange.v1beta1.CancellationStrategyR\x08strategy\x12L\n\x0freference_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ereferencePrice\"f\n\"QueryTraderDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"r\n*QueryAccountAddressDerivativeOrdersRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\'\n\x0f\x61\x63\x63ount_address\x18\x02 \x01(\tR\x0e\x61\x63\x63ountAddress\"\xe9\x02\n\x1bTrimmedDerivativeLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12?\n\x08\x66illable\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08\x66illable\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12\x1d\n\norder_hash\x18\x06 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x07 \x01(\tR\x03\x63id\"v\n#QueryTraderDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"~\n+QueryAccountAddressDerivativeOrdersResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8b\x01\n$QueryDerivativeOrdersByHashesRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12!\n\x0corder_hashes\x18\x03 \x03(\tR\x0borderHashes\"x\n%QueryDerivativeOrdersByHashesResponse\x12O\n\x06orders\x18\x01 \x03(\x0b\x32\x37.injective.exchange.v1beta1.TrimmedDerivativeLimitOrderR\x06orders\"\x8a\x01\n\x1dQueryDerivativeMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\x12\x32\n\x16with_mid_price_and_tob\x18\x03 \x01(\x08R\x12withMidPriceAndTob\"\x88\x01\n\nPriceLevel\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\"\xbf\x01\n\x14PerpetualMarketState\x12P\n\x0bmarket_info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoR\nmarketInfo\x12U\n\x0c\x66unding_info\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingR\x0b\x66undingInfo\"\xba\x03\n\x14\x46ullDerivativeMarket\x12\x44\n\x06market\x18\x01 \x01(\x0b\x32,.injective.exchange.v1beta1.DerivativeMarketR\x06market\x12Y\n\x0eperpetual_info\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.PerpetualMarketStateH\x00R\rperpetualInfo\x12X\n\x0c\x66utures_info\x18\x03 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoH\x00R\x0b\x66uturesInfo\x12\x42\n\nmark_price\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tmarkPrice\x12[\n\x11mid_price_and_tob\x18\x05 \x01(\x0b\x32*.injective.exchange.v1beta1.MidPriceAndTOBB\x04\xc8\xde\x1f\x01R\x0emidPriceAndTobB\x06\n\x04info\"l\n\x1eQueryDerivativeMarketsResponse\x12J\n\x07markets\x18\x01 \x03(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x07markets\";\n\x1cQueryDerivativeMarketRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"i\n\x1dQueryDerivativeMarketResponse\x12H\n\x06market\x18\x01 \x01(\x0b\x32\x30.injective.exchange.v1beta1.FullDerivativeMarketR\x06market\"B\n#QueryDerivativeMarketAddressRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"e\n$QueryDerivativeMarketAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\"G\n QuerySubaccountTradeNonceRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"F\n\x1fQuerySubaccountPositionsRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"j\n&QuerySubaccountPositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"s\n/QuerySubaccountEffectivePositionInMarketRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"J\n#QuerySubaccountOrderMetadataRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\"n\n QuerySubaccountPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"k\n\'QuerySubaccountPositionInMarketResponse\x12@\n\x05state\x18\x01 \x01(\x0b\x32$.injective.exchange.v1beta1.PositionB\x04\xc8\xde\x1f\x01R\x05state\"\x83\x02\n\x11\x45\x66\x66\x65\x63tivePosition\x12\x17\n\x07is_long\x18\x01 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12N\n\x10\x65\x66\x66\x65\x63tive_margin\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0f\x65\x66\x66\x65\x63tiveMargin\"}\n0QuerySubaccountEffectivePositionInMarketResponse\x12I\n\x05state\x18\x01 \x01(\x0b\x32-.injective.exchange.v1beta1.EffectivePositionB\x04\xc8\xde\x1f\x01R\x05state\">\n\x1fQueryPerpetualMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"m\n QueryPerpetualMarketInfoResponse\x12I\n\x04info\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.PerpetualMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"B\n#QueryExpiryFuturesMarketInfoRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n$QueryExpiryFuturesMarketInfoResponse\x12M\n\x04info\x18\x01 \x01(\x0b\x32\x33.injective.exchange.v1beta1.ExpiryFuturesMarketInfoB\x04\xc8\xde\x1f\x00R\x04info\"A\n\"QueryPerpetualMarketFundingRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"u\n#QueryPerpetualMarketFundingResponse\x12N\n\x05state\x18\x01 \x01(\x0b\x32\x32.injective.exchange.v1beta1.PerpetualMarketFundingB\x04\xc8\xde\x1f\x00R\x05state\"\x8b\x01\n$QuerySubaccountOrderMetadataResponse\x12\x63\n\x08metadata\x18\x01 \x03(\x0b\x32\x41.injective.exchange.v1beta1.SubaccountOrderbookMetadataWithMarketB\x04\xc8\xde\x1f\x00R\x08metadata\"9\n!QuerySubaccountTradeNonceResponse\x12\x14\n\x05nonce\x18\x01 \x01(\rR\x05nonce\"\x19\n\x17QueryModuleStateRequest\"Z\n\x18QueryModuleStateResponse\x12>\n\x05state\x18\x01 \x01(\x0b\x32(.injective.exchange.v1beta1.GenesisStateR\x05state\"\x17\n\x15QueryPositionsRequest\"d\n\x16QueryPositionsResponse\x12J\n\x05state\x18\x01 \x03(\x0b\x32..injective.exchange.v1beta1.DerivativePositionB\x04\xc8\xde\x1f\x00R\x05state\"q\n\x1dQueryTradeRewardPointsRequest\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\x12\x34\n\x16pending_pool_timestamp\x18\x02 \x01(\x03R\x14pendingPoolTimestamp\"\x84\x01\n\x1eQueryTradeRewardPointsResponse\x12\x62\n\x1b\x61\x63\x63ount_trade_reward_points\x18\x01 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x18\x61\x63\x63ountTradeRewardPoints\"!\n\x1fQueryTradeRewardCampaignRequest\"\xfe\x04\n QueryTradeRewardCampaignResponse\x12v\n\x1ctrading_reward_campaign_info\x18\x01 \x01(\x0b\x32\x35.injective.exchange.v1beta1.TradingRewardCampaignInfoR\x19tradingRewardCampaignInfo\x12\x80\x01\n%trading_reward_pool_campaign_schedule\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR!tradingRewardPoolCampaignSchedule\x12^\n\x19total_trade_reward_points\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16totalTradeRewardPoints\x12\x8f\x01\n-pending_trading_reward_pool_campaign_schedule\x18\x04 \x03(\x0b\x32..injective.exchange.v1beta1.CampaignRewardPoolR(pendingTradingRewardPoolCampaignSchedule\x12m\n!pending_total_trade_reward_points\x18\x05 \x03(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x1dpendingTotalTradeRewardPoints\";\n\x1fQueryIsOptedOutOfRewardsRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"D\n QueryIsOptedOutOfRewardsResponse\x12 \n\x0cis_opted_out\x18\x01 \x01(\x08R\nisOptedOut\"\'\n%QueryOptedOutOfRewardsAccountsRequest\"D\n&QueryOptedOutOfRewardsAccountsResponse\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\">\n\"QueryFeeDiscountAccountInfoRequest\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\"\xe9\x01\n#QueryFeeDiscountAccountInfoResponse\x12\x1d\n\ntier_level\x18\x01 \x01(\x04R\ttierLevel\x12R\n\x0c\x61\x63\x63ount_info\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountTierInfoR\x0b\x61\x63\x63ountInfo\x12O\n\x0b\x61\x63\x63ount_ttl\x18\x03 \x01(\x0b\x32..injective.exchange.v1beta1.FeeDiscountTierTTLR\naccountTtl\"!\n\x1fQueryFeeDiscountScheduleRequest\"\x87\x01\n QueryFeeDiscountScheduleResponse\x12\x63\n\x15\x66\x65\x65_discount_schedule\x18\x01 \x01(\x0b\x32/.injective.exchange.v1beta1.FeeDiscountScheduleR\x13\x66\x65\x65\x44iscountSchedule\"@\n\x1dQueryBalanceMismatchesRequest\x12\x1f\n\x0b\x64ust_factor\x18\x01 \x01(\x03R\ndustFactor\"\xa2\x03\n\x0f\x42\x61lanceMismatch\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\x12J\n\x0e\x65xpected_total\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\rexpectedTotal\x12\x43\n\ndifference\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\ndifference\"|\n\x1eQueryBalanceMismatchesResponse\x12Z\n\x12\x62\x61lance_mismatches\x18\x01 \x03(\x0b\x32+.injective.exchange.v1beta1.BalanceMismatchR\x11\x62\x61lanceMismatches\"%\n#QueryBalanceWithBalanceHoldsRequest\"\x97\x02\n\x15\x42\x61lanceWithMarginHold\x12\"\n\x0csubaccountId\x18\x01 \x01(\tR\x0csubaccountId\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x41\n\tavailable\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\tavailable\x12\x39\n\x05total\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05total\x12\x46\n\x0c\x62\x61lance_hold\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0b\x62\x61lanceHold\"\x96\x01\n$QueryBalanceWithBalanceHoldsResponse\x12n\n\x1a\x62\x61lance_with_balance_holds\x18\x01 \x03(\x0b\x32\x31.injective.exchange.v1beta1.BalanceWithMarginHoldR\x17\x62\x61lanceWithBalanceHolds\"\'\n%QueryFeeDiscountTierStatisticsRequest\"9\n\rTierStatistic\x12\x12\n\x04tier\x18\x01 \x01(\x04R\x04tier\x12\x14\n\x05\x63ount\x18\x02 \x01(\x04R\x05\x63ount\"s\n&QueryFeeDiscountTierStatisticsResponse\x12I\n\nstatistics\x18\x01 \x03(\x0b\x32).injective.exchange.v1beta1.TierStatisticR\nstatistics\"\x17\n\x15MitoVaultInfosRequest\"\xc4\x01\n\x16MitoVaultInfosResponse\x12)\n\x10master_addresses\x18\x01 \x03(\tR\x0fmasterAddresses\x12\x31\n\x14\x64\x65rivative_addresses\x18\x02 \x03(\tR\x13\x64\x65rivativeAddresses\x12%\n\x0espot_addresses\x18\x03 \x03(\tR\rspotAddresses\x12%\n\x0e\x63w20_addresses\x18\x04 \x03(\tR\rcw20Addresses\"D\n\x1dQueryMarketIDFromVaultRequest\x12#\n\rvault_address\x18\x01 \x01(\tR\x0cvaultAddress\"=\n\x1eQueryMarketIDFromVaultResponse\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"A\n\"QueryHistoricalTradeRecordsRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"t\n#QueryHistoricalTradeRecordsResponse\x12M\n\rtrade_records\x18\x01 \x03(\x0b\x32(.injective.exchange.v1beta1.TradeRecordsR\x0ctradeRecords\"\xb7\x01\n\x13TradeHistoryOptions\x12,\n\x12trade_grouping_sec\x18\x01 \x01(\x04R\x10tradeGroupingSec\x12\x17\n\x07max_age\x18\x02 \x01(\x04R\x06maxAge\x12.\n\x13include_raw_history\x18\x04 \x01(\x08R\x11includeRawHistory\x12)\n\x10include_metadata\x18\x05 \x01(\x08R\x0fincludeMetadata\"\xa0\x01\n\x1cQueryMarketVolatilityRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x63\n\x15trade_history_options\x18\x02 \x01(\x0b\x32/.injective.exchange.v1beta1.TradeHistoryOptionsR\x13tradeHistoryOptions\"\x83\x02\n\x1dQueryMarketVolatilityResponse\x12?\n\nvolatility\x18\x01 \x01(\tB\x1f\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nvolatility\x12W\n\x10history_metadata\x18\x02 \x01(\x0b\x32,.injective.oracle.v1beta1.MetadataStatisticsR\x0fhistoryMetadata\x12H\n\x0braw_history\x18\x03 \x03(\x0b\x32\'.injective.exchange.v1beta1.TradeRecordR\nrawHistory\"3\n\x19QueryBinaryMarketsRequest\x12\x16\n\x06status\x18\x01 \x01(\tR\x06status\"g\n\x1aQueryBinaryMarketsResponse\x12I\n\x07markets\x18\x01 \x03(\x0b\x32/.injective.exchange.v1beta1.BinaryOptionsMarketR\x07markets\"q\n-QueryTraderDerivativeConditionalOrdersRequest\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\"\x9e\x03\n!TrimmedDerivativeConditionalOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12;\n\x06margin\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12G\n\x0ctriggerPrice\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctriggerPrice\x12\x1f\n\x05isBuy\x18\x05 \x01(\x08\x42\t\xea\xde\x1f\x05isBuyR\x05isBuy\x12%\n\x07isLimit\x18\x06 \x01(\x08\x42\x0b\xea\xde\x1f\x07isLimitR\x07isLimit\x12\x1d\n\norder_hash\x18\x07 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x08 \x01(\tR\x03\x63id\"\x87\x01\n.QueryTraderDerivativeConditionalOrdersResponse\x12U\n\x06orders\x18\x01 \x03(\x0b\x32=.injective.exchange.v1beta1.TrimmedDerivativeConditionalOrderR\x06orders\"<\n\x1dQueryFullSpotOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xa6\x01\n\x1eQueryFullSpotOrderbookResponse\x12\x41\n\x04\x42ids\x18\x01 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x42ids\x12\x41\n\x04\x41sks\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x41sks\"B\n#QueryFullDerivativeOrderbookRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"\xac\x01\n$QueryFullDerivativeOrderbookResponse\x12\x41\n\x04\x42ids\x18\x01 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x42ids\x12\x41\n\x04\x41sks\x18\x02 \x03(\x0b\x32-.injective.exchange.v1beta1.TrimmedLimitOrderR\x04\x41sks\"\xd3\x01\n\x11TrimmedLimitOrder\x12\x39\n\x05price\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12?\n\x08quantity\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\"M\n.QueryMarketAtomicExecutionFeeMultiplierRequest\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\"v\n/QueryMarketAtomicExecutionFeeMultiplierResponse\x12\x43\n\nmultiplier\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nmultiplier\"8\n\x1cQueryActiveStakeGrantRequest\x12\x18\n\x07grantee\x18\x01 \x01(\tR\x07grantee\"\xb3\x01\n\x1dQueryActiveStakeGrantResponse\x12=\n\x05grant\x18\x01 \x01(\x0b\x32\'.injective.exchange.v1beta1.ActiveGrantR\x05grant\x12S\n\x0f\x65\x66\x66\x65\x63tive_grant\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.EffectiveGrantR\x0e\x65\x66\x66\x65\x63tiveGrant\"T\n\x1eQueryGrantAuthorizationRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\x12\x18\n\x07grantee\x18\x02 \x01(\tR\x07grantee\"X\n\x1fQueryGrantAuthorizationResponse\x12\x35\n\x06\x61mount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x06\x61mount\";\n\x1fQueryGrantAuthorizationsRequest\x12\x18\n\x07granter\x18\x01 \x01(\tR\x07granter\"\xb7\x01\n QueryGrantAuthorizationsResponse\x12K\n\x12total_grant_amount\x18\x01 \x01(\tB\x1d\xc8\xde\x1f\x00\xda\xde\x1f\x15\x63osmossdk.io/math.IntR\x10totalGrantAmount\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants*4\n\tOrderSide\x12\x14\n\x10Side_Unspecified\x10\x00\x12\x07\n\x03\x42uy\x10\x01\x12\x08\n\x04Sell\x10\x02*V\n\x14\x43\x61ncellationStrategy\x12\x14\n\x10UnspecifiedOrder\x10\x00\x12\x13\n\x0f\x46romWorstToBest\x10\x01\x12\x13\n\x0f\x46romBestToWorst\x10\x02\x32\xffh\n\x05Query\x12\xe2\x01\n\x15L3DerivativeOrderBook\x12?.injective.exchange.v1beta1.QueryFullDerivativeOrderbookRequest\x1a@.injective.exchange.v1beta1.QueryFullDerivativeOrderbookResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/derivative/L3OrderBook/{market_id}\x12\xca\x01\n\x0fL3SpotOrderBook\x12\x39.injective.exchange.v1beta1.QueryFullSpotOrderbookRequest\x1a:.injective.exchange.v1beta1.QueryFullSpotOrderbookResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/L3OrderBook/{market_id}\x12\xba\x01\n\x13QueryExchangeParams\x12\x36.injective.exchange.v1beta1.QueryExchangeParamsRequest\x1a\x37.injective.exchange.v1beta1.QueryExchangeParamsResponse\"2\x82\xd3\xe4\x93\x02,\x12*/injective/exchange/v1beta1/exchangeParams\x12\xce\x01\n\x12SubaccountDeposits\x12:.injective.exchange.v1beta1.QuerySubaccountDepositsRequest\x1a;.injective.exchange.v1beta1.QuerySubaccountDepositsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/exchange/subaccountDeposits\x12\xca\x01\n\x11SubaccountDeposit\x12\x39.injective.exchange.v1beta1.QuerySubaccountDepositRequest\x1a:.injective.exchange.v1beta1.QuerySubaccountDepositResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/exchange/subaccountDeposit\x12\xc6\x01\n\x10\x45xchangeBalances\x12\x38.injective.exchange.v1beta1.QueryExchangeBalancesRequest\x1a\x39.injective.exchange.v1beta1.QueryExchangeBalancesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/exchangeBalances\x12\xcc\x01\n\x0f\x41ggregateVolume\x12\x37.injective.exchange.v1beta1.QueryAggregateVolumeRequest\x1a\x38.injective.exchange.v1beta1.QueryAggregateVolumeResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/exchange/aggregateVolume/{account}\x12\xc6\x01\n\x10\x41ggregateVolumes\x12\x38.injective.exchange.v1beta1.QueryAggregateVolumesRequest\x1a\x39.injective.exchange.v1beta1.QueryAggregateVolumesResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/exchange/aggregateVolumes\x12\xe6\x01\n\x15\x41ggregateMarketVolume\x12=.injective.exchange.v1beta1.QueryAggregateMarketVolumeRequest\x1a>.injective.exchange.v1beta1.QueryAggregateMarketVolumeResponse\"N\x82\xd3\xe4\x93\x02H\x12\x46/injective/exchange/v1beta1/exchange/aggregateMarketVolume/{market_id}\x12\xde\x01\n\x16\x41ggregateMarketVolumes\x12>.injective.exchange.v1beta1.QueryAggregateMarketVolumesRequest\x1a?.injective.exchange.v1beta1.QueryAggregateMarketVolumesResponse\"C\x82\xd3\xe4\x93\x02=\x12;/injective/exchange/v1beta1/exchange/aggregateMarketVolumes\x12\xbf\x01\n\x0c\x44\x65nomDecimal\x12\x34.injective.exchange.v1beta1.QueryDenomDecimalRequest\x1a\x35.injective.exchange.v1beta1.QueryDenomDecimalResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/exchange/denom_decimal/{denom}\x12\xbb\x01\n\rDenomDecimals\x12\x35.injective.exchange.v1beta1.QueryDenomDecimalsRequest\x1a\x36.injective.exchange.v1beta1.QueryDenomDecimalsResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/exchange/v1beta1/exchange/denom_decimals\x12\xaa\x01\n\x0bSpotMarkets\x12\x33.injective.exchange.v1beta1.QuerySpotMarketsRequest\x1a\x34.injective.exchange.v1beta1.QuerySpotMarketsResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/spot/markets\x12\xb3\x01\n\nSpotMarket\x12\x32.injective.exchange.v1beta1.QuerySpotMarketRequest\x1a\x33.injective.exchange.v1beta1.QuerySpotMarketResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/spot/markets/{market_id}\x12\xbb\x01\n\x0f\x46ullSpotMarkets\x12\x37.injective.exchange.v1beta1.QueryFullSpotMarketsRequest\x1a\x38.injective.exchange.v1beta1.QueryFullSpotMarketsResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/exchange/v1beta1/spot/full_markets\x12\xc3\x01\n\x0e\x46ullSpotMarket\x12\x36.injective.exchange.v1beta1.QueryFullSpotMarketRequest\x1a\x37.injective.exchange.v1beta1.QueryFullSpotMarketResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/spot/full_market/{market_id}\x12\xbe\x01\n\rSpotOrderbook\x12\x35.injective.exchange.v1beta1.QuerySpotOrderbookRequest\x1a\x36.injective.exchange.v1beta1.QuerySpotOrderbookResponse\">\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/exchange/v1beta1/spot/orderbook/{market_id}\x12\xd4\x01\n\x10TraderSpotOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/spot/orders/{market_id}/{subaccount_id}\x12\xf6\x01\n\x18\x41\x63\x63ountAddressSpotOrders\x12@.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersRequest\x1a\x41.injective.exchange.v1beta1.QueryAccountAddressSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders/{market_id}/account/{account_address}\x12\xe4\x01\n\x12SpotOrdersByHashes\x12:.injective.exchange.v1beta1.QuerySpotOrdersByHashesRequest\x1a;.injective.exchange.v1beta1.QuerySpotOrdersByHashesResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/orders_by_hashes/{market_id}/{subaccount_id}\x12\xc3\x01\n\x10SubaccountOrders\x12\x38.injective.exchange.v1beta1.QuerySubaccountOrdersRequest\x1a\x39.injective.exchange.v1beta1.QuerySubaccountOrdersResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/orders/{subaccount_id}\x12\xe7\x01\n\x19TraderSpotTransientOrders\x12\x38.injective.exchange.v1beta1.QueryTraderSpotOrdersRequest\x1a\x39.injective.exchange.v1beta1.QueryTraderSpotOrdersResponse\"U\x82\xd3\xe4\x93\x02O\x12M/injective/exchange/v1beta1/spot/transient_orders/{market_id}/{subaccount_id}\x12\xd5\x01\n\x12SpotMidPriceAndTOB\x12:.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBRequest\x1a;.injective.exchange.v1beta1.QuerySpotMidPriceAndTOBResponse\"F\x82\xd3\xe4\x93\x02@\x12>/injective/exchange/v1beta1/spot/mid_price_and_tob/{market_id}\x12\xed\x01\n\x18\x44\x65rivativeMidPriceAndTOB\x12@.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeMidPriceAndTOBResponse\"L\x82\xd3\xe4\x93\x02\x46\x12\x44/injective/exchange/v1beta1/derivative/mid_price_and_tob/{market_id}\x12\xd6\x01\n\x13\x44\x65rivativeOrderbook\x12;.injective.exchange.v1beta1.QueryDerivativeOrderbookRequest\x1a<.injective.exchange.v1beta1.QueryDerivativeOrderbookResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/injective/exchange/v1beta1/derivative/orders/{market_id}/{subaccount_id}\x12\x8e\x02\n\x1e\x41\x63\x63ountAddressDerivativeOrders\x12\x46.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersRequest\x1aG.injective.exchange.v1beta1.QueryAccountAddressDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders/{market_id}/account/{account_address}\x12\xfc\x01\n\x18\x44\x65rivativeOrdersByHashes\x12@.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesRequest\x1a\x41.injective.exchange.v1beta1.QueryDerivativeOrdersByHashesResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/orders_by_hashes/{market_id}/{subaccount_id}\x12\xff\x01\n\x1fTraderDerivativeTransientOrders\x12>.injective.exchange.v1beta1.QueryTraderDerivativeOrdersRequest\x1a?.injective.exchange.v1beta1.QueryTraderDerivativeOrdersResponse\"[\x82\xd3\xe4\x93\x02U\x12S/injective/exchange/v1beta1/derivative/transient_orders/{market_id}/{subaccount_id}\x12\xc2\x01\n\x11\x44\x65rivativeMarkets\x12\x39.injective.exchange.v1beta1.QueryDerivativeMarketsRequest\x1a:.injective.exchange.v1beta1.QueryDerivativeMarketsResponse\"6\x82\xd3\xe4\x93\x02\x30\x12./injective/exchange/v1beta1/derivative/markets\x12\xcb\x01\n\x10\x44\x65rivativeMarket\x12\x38.injective.exchange.v1beta1.QueryDerivativeMarketRequest\x1a\x39.injective.exchange.v1beta1.QueryDerivativeMarketResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/derivative/markets/{market_id}\x12\xe7\x01\n\x17\x44\x65rivativeMarketAddress\x12?.injective.exchange.v1beta1.QueryDerivativeMarketAddressRequest\x1a@.injective.exchange.v1beta1.QueryDerivativeMarketAddressResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/derivative/market_address/{market_id}\x12\xd1\x01\n\x14SubaccountTradeNonce\x12<.injective.exchange.v1beta1.QuerySubaccountTradeNonceRequest\x1a=.injective.exchange.v1beta1.QuerySubaccountTradeNonceResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/exchange/{subaccount_id}\x12\xb2\x01\n\x13\x45xchangeModuleState\x12\x33.injective.exchange.v1beta1.QueryModuleStateRequest\x1a\x34.injective.exchange.v1beta1.QueryModuleStateResponse\"0\x82\xd3\xe4\x93\x02*\x12(/injective/exchange/v1beta1/module_state\x12\xa1\x01\n\tPositions\x12\x31.injective.exchange.v1beta1.QueryPositionsRequest\x1a\x32.injective.exchange.v1beta1.QueryPositionsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/exchange/v1beta1/positions\x12\xcf\x01\n\x13SubaccountPositions\x12;.injective.exchange.v1beta1.QuerySubaccountPositionsRequest\x1a<.injective.exchange.v1beta1.QuerySubaccountPositionsResponse\"=\x82\xd3\xe4\x93\x02\x37\x12\x35/injective/exchange/v1beta1/positions/{subaccount_id}\x12\xf0\x01\n\x1aSubaccountPositionInMarket\x12\x42.injective.exchange.v1beta1.QuerySubaccountPositionInMarketRequest\x1a\x43.injective.exchange.v1beta1.QuerySubaccountPositionInMarketResponse\"I\x82\xd3\xe4\x93\x02\x43\x12\x41/injective/exchange/v1beta1/positions/{subaccount_id}/{market_id}\x12\x95\x02\n#SubaccountEffectivePositionInMarket\x12K.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketRequest\x1aL.injective.exchange.v1beta1.QuerySubaccountEffectivePositionInMarketResponse\"S\x82\xd3\xe4\x93\x02M\x12K/injective/exchange/v1beta1/effective_positions/{subaccount_id}/{market_id}\x12\xd7\x01\n\x13PerpetualMarketInfo\x12;.injective.exchange.v1beta1.QueryPerpetualMarketInfoRequest\x1a<.injective.exchange.v1beta1.QueryPerpetualMarketInfoResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/perpetual_market_info/{market_id}\x12\xe0\x01\n\x17\x45xpiryFuturesMarketInfo\x12?.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoRequest\x1a@.injective.exchange.v1beta1.QueryExpiryFuturesMarketInfoResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/expiry_market_info/{market_id}\x12\xe3\x01\n\x16PerpetualMarketFunding\x12>.injective.exchange.v1beta1.QueryPerpetualMarketFundingRequest\x1a?.injective.exchange.v1beta1.QueryPerpetualMarketFundingResponse\"H\x82\xd3\xe4\x93\x02\x42\x12@/injective/exchange/v1beta1/perpetual_market_funding/{market_id}\x12\xe0\x01\n\x17SubaccountOrderMetadata\x12?.injective.exchange.v1beta1.QuerySubaccountOrderMetadataRequest\x1a@.injective.exchange.v1beta1.QuerySubaccountOrderMetadataResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/order_metadata/{subaccount_id}\x12\xc3\x01\n\x11TradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/exchange/v1beta1/trade_reward_points\x12\xd2\x01\n\x18PendingTradeRewardPoints\x12\x39.injective.exchange.v1beta1.QueryTradeRewardPointsRequest\x1a:.injective.exchange.v1beta1.QueryTradeRewardPointsResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/pending_trade_reward_points\x12\xcb\x01\n\x13TradeRewardCampaign\x12;.injective.exchange.v1beta1.QueryTradeRewardCampaignRequest\x1a<.injective.exchange.v1beta1.QueryTradeRewardCampaignResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/trade_reward_campaign\x12\xe2\x01\n\x16\x46\x65\x65\x44iscountAccountInfo\x12>.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoRequest\x1a?.injective.exchange.v1beta1.QueryFeeDiscountAccountInfoResponse\"G\x82\xd3\xe4\x93\x02\x41\x12?/injective/exchange/v1beta1/fee_discount_account_info/{account}\x12\xcb\x01\n\x13\x46\x65\x65\x44iscountSchedule\x12;.injective.exchange.v1beta1.QueryFeeDiscountScheduleRequest\x1a<.injective.exchange.v1beta1.QueryFeeDiscountScheduleResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/exchange/v1beta1/fee_discount_schedule\x12\xd0\x01\n\x11\x42\x61lanceMismatches\x12\x39.injective.exchange.v1beta1.QueryBalanceMismatchesRequest\x1a:.injective.exchange.v1beta1.QueryBalanceMismatchesResponse\"D\x82\xd3\xe4\x93\x02>\x12.injective.exchange.v1beta1.QueryHistoricalTradeRecordsRequest\x1a?.injective.exchange.v1beta1.QueryHistoricalTradeRecordsResponse\"<\x82\xd3\xe4\x93\x02\x36\x12\x34/injective/exchange/v1beta1/historical_trade_records\x12\xd7\x01\n\x13IsOptedOutOfRewards\x12;.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsRequest\x1a<.injective.exchange.v1beta1.QueryIsOptedOutOfRewardsResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/exchange/v1beta1/is_opted_out_of_rewards/{account}\x12\xe5\x01\n\x19OptedOutOfRewardsAccounts\x12\x41.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsRequest\x1a\x42.injective.exchange.v1beta1.QueryOptedOutOfRewardsAccountsResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/opted_out_of_rewards_accounts\x12\xca\x01\n\x10MarketVolatility\x12\x38.injective.exchange.v1beta1.QueryMarketVolatilityRequest\x1a\x39.injective.exchange.v1beta1.QueryMarketVolatilityResponse\"A\x82\xd3\xe4\x93\x02;\x12\x39/injective/exchange/v1beta1/market_volatility/{market_id}\x12\xc1\x01\n\x14\x42inaryOptionsMarkets\x12\x35.injective.exchange.v1beta1.QueryBinaryMarketsRequest\x1a\x36.injective.exchange.v1beta1.QueryBinaryMarketsResponse\":\x82\xd3\xe4\x93\x02\x34\x12\x32/injective/exchange/v1beta1/binary_options/markets\x12\x99\x02\n!TraderDerivativeConditionalOrders\x12I.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersRequest\x1aJ.injective.exchange.v1beta1.QueryTraderDerivativeConditionalOrdersResponse\"]\x82\xd3\xe4\x93\x02W\x12U/injective/exchange/v1beta1/derivative/orders/conditional/{market_id}/{subaccount_id}\x12\xfe\x01\n\"MarketAtomicExecutionFeeMultiplier\x12J.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierRequest\x1aK.injective.exchange.v1beta1.QueryMarketAtomicExecutionFeeMultiplierResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/injective/exchange/v1beta1/atomic_order_fee_multiplier\x12\xc9\x01\n\x10\x41\x63tiveStakeGrant\x12\x38.injective.exchange.v1beta1.QueryActiveStakeGrantRequest\x1a\x39.injective.exchange.v1beta1.QueryActiveStakeGrantResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/exchange/v1beta1/active_stake_grant/{grantee}\x12\xda\x01\n\x12GrantAuthorization\x12:.injective.exchange.v1beta1.QueryGrantAuthorizationRequest\x1a;.injective.exchange.v1beta1.QueryGrantAuthorizationResponse\"K\x82\xd3\xe4\x93\x02\x45\x12\x43/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}\x12\xd4\x01\n\x13GrantAuthorizations\x12;.injective.exchange.v1beta1.QueryGrantAuthorizationsRequest\x1a<.injective.exchange.v1beta1.QueryGrantAuthorizationsResponse\"B\x82\xd3\xe4\x93\x02<\x12:/injective/exchange/v1beta1/grant_authorizations/{granter}B\x86\x02\n\x1e\x63om.injective.exchange.v1beta1B\nQueryProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -151,12 +151,20 @@ _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isBuy']._serialized_options = b'\352\336\037\005isBuy' _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._loaded_options = None _globals['_TRIMMEDDERIVATIVECONDITIONALORDER'].fields_by_name['isLimit']._serialized_options = b'\352\336\037\007isLimit' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['price']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._loaded_options = None + _globals['_TRIMMEDLIMITORDER'].fields_by_name['quantity']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._loaded_options = None _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE'].fields_by_name['multiplier']._serialized_options = b'\310\336\037\000\332\336\037\033cosmossdk.io/math.LegacyDec' _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._loaded_options = None _globals['_QUERYGRANTAUTHORIZATIONRESPONSE'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._loaded_options = None _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE'].fields_by_name['total_grant_amount']._serialized_options = b'\310\336\037\000\332\336\037\025cosmossdk.io/math.Int' + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3DerivativeOrderBook']._serialized_options = b'\202\323\344\223\002@\022>/injective/exchange/v1beta1/derivative/L3OrderBook/{market_id}' + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._loaded_options = None + _globals['_QUERY'].methods_by_name['L3SpotOrderBook']._serialized_options = b'\202\323\344\223\002:\0228/injective/exchange/v1beta1/spot/L3OrderBook/{market_id}' _globals['_QUERY'].methods_by_name['QueryExchangeParams']._loaded_options = None _globals['_QUERY'].methods_by_name['QueryExchangeParams']._serialized_options = b'\202\323\344\223\002,\022*/injective/exchange/v1beta1/exchangeParams' _globals['_QUERY'].methods_by_name['SubaccountDeposits']._loaded_options = None @@ -277,10 +285,10 @@ _globals['_QUERY'].methods_by_name['GrantAuthorization']._serialized_options = b'\202\323\344\223\002E\022C/injective/exchange/v1beta1/grant_authorization/{granter}/{grantee}' _globals['_QUERY'].methods_by_name['GrantAuthorizations']._loaded_options = None _globals['_QUERY'].methods_by_name['GrantAuthorizations']._serialized_options = b'\202\323\344\223\002<\022:/injective/exchange/v1beta1/grant_authorizations/{granter}' - _globals['_ORDERSIDE']._serialized_start=17324 - _globals['_ORDERSIDE']._serialized_end=17376 - _globals['_CANCELLATIONSTRATEGY']._serialized_start=17378 - _globals['_CANCELLATIONSTRATEGY']._serialized_end=17464 + _globals['_ORDERSIDE']._serialized_start=18012 + _globals['_ORDERSIDE']._serialized_end=18064 + _globals['_CANCELLATIONSTRATEGY']._serialized_start=18066 + _globals['_CANCELLATIONSTRATEGY']._serialized_end=18152 _globals['_SUBACCOUNT']._serialized_start=246 _globals['_SUBACCOUNT']._serialized_end=325 _globals['_QUERYSUBACCOUNTORDERSREQUEST']._serialized_start=327 @@ -527,22 +535,32 @@ _globals['_TRIMMEDDERIVATIVECONDITIONALORDER']._serialized_end=16322 _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_start=16325 _globals['_QUERYTRADERDERIVATIVECONDITIONALORDERSRESPONSE']._serialized_end=16460 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=16462 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=16539 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=16541 - _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=16659 - _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=16661 - _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=16717 - _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=16720 - _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=16899 - _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=16901 - _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=16985 - _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=16987 - _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17075 - _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17077 - _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17136 - _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17139 - _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=17322 - _globals['_QUERY']._serialized_start=17467 - _globals['_QUERY']._serialized_end=30472 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_start=16462 + _globals['_QUERYFULLSPOTORDERBOOKREQUEST']._serialized_end=16522 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_start=16525 + _globals['_QUERYFULLSPOTORDERBOOKRESPONSE']._serialized_end=16691 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_start=16693 + _globals['_QUERYFULLDERIVATIVEORDERBOOKREQUEST']._serialized_end=16759 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_start=16762 + _globals['_QUERYFULLDERIVATIVEORDERBOOKRESPONSE']._serialized_end=16934 + _globals['_TRIMMEDLIMITORDER']._serialized_start=16937 + _globals['_TRIMMEDLIMITORDER']._serialized_end=17148 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_start=17150 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERREQUEST']._serialized_end=17227 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_start=17229 + _globals['_QUERYMARKETATOMICEXECUTIONFEEMULTIPLIERRESPONSE']._serialized_end=17347 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_start=17349 + _globals['_QUERYACTIVESTAKEGRANTREQUEST']._serialized_end=17405 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_start=17408 + _globals['_QUERYACTIVESTAKEGRANTRESPONSE']._serialized_end=17587 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_start=17589 + _globals['_QUERYGRANTAUTHORIZATIONREQUEST']._serialized_end=17673 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_start=17675 + _globals['_QUERYGRANTAUTHORIZATIONRESPONSE']._serialized_end=17763 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_start=17765 + _globals['_QUERYGRANTAUTHORIZATIONSREQUEST']._serialized_end=17824 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_start=17827 + _globals['_QUERYGRANTAUTHORIZATIONSRESPONSE']._serialized_end=18010 + _globals['_QUERY']._serialized_start=18155 + _globals['_QUERY']._serialized_end=31594 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py b/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py index c5aa407e..08ff9a3a 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py +++ b/pyinjective/proto/injective/exchange/v1beta1/query_pb2_grpc.py @@ -15,6 +15,16 @@ def __init__(self, channel): Args: channel: A grpc.Channel. """ + self.L3DerivativeOrderBook = channel.unary_unary( + '/injective.exchange.v1beta1.Query/L3DerivativeOrderBook', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + _registered_method=True) + self.L3SpotOrderBook = channel.unary_unary( + '/injective.exchange.v1beta1.Query/L3SpotOrderBook', + request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + response_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + _registered_method=True) self.QueryExchangeParams = channel.unary_unary( '/injective.exchange.v1beta1.Query/QueryExchangeParams', request_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryExchangeParamsRequest.SerializeToString, @@ -321,6 +331,18 @@ class QueryServicer(object): """Query defines the gRPC querier service. """ + def L3DerivativeOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def L3SpotOrderBook(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def QueryExchangeParams(self, request, context): """Retrieves exchange params """ @@ -748,6 +770,16 @@ def GrantAuthorizations(self, request, context): def add_QueryServicer_to_server(servicer, server): rpc_method_handlers = { + 'L3DerivativeOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3DerivativeOrderBook, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.SerializeToString, + ), + 'L3SpotOrderBook': grpc.unary_unary_rpc_method_handler( + servicer.L3SpotOrderBook, + request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.FromString, + response_serializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.SerializeToString, + ), 'QueryExchangeParams': grpc.unary_unary_rpc_method_handler( servicer.QueryExchangeParams, request_deserializer=injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryExchangeParamsRequest.FromString, @@ -1060,6 +1092,60 @@ class Query(object): """Query defines the gRPC querier service. """ + @staticmethod + def L3DerivativeOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/L3DerivativeOrderBook', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullDerivativeOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + + @staticmethod + def L3SpotOrderBook(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary( + request, + target, + '/injective.exchange.v1beta1.Query/L3SpotOrderBook', + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookRequest.SerializeToString, + injective_dot_exchange_dot_v1beta1_dot_query__pb2.QueryFullSpotOrderbookResponse.FromString, + options, + channel_credentials, + insecure, + call_credentials, + compression, + wait_for_ready, + timeout, + metadata, + _registered_method=True) + @staticmethod def QueryExchangeParams(request, target, diff --git a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py index 1308b852..b01bac0c 100644 --- a/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/exchange/v1beta1/tx_pb2.py @@ -22,7 +22,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v1beta1/tx.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa7\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:3\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\xf7\x04\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12@\n\x06params\x18\x02 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xae\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x06orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbf\x03\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\xb1\x07\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\x89\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xd1\x07\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xb0\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xb1\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12R\n\x07results\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc2\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xca\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x06orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xaa\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf2\x07\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12^\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12j\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12^\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12p\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12q\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12w\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\x88\x06\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbe\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xbd\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf0\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12V\n\x0eposition_delta\x18\x04 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc4\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xc0\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb6\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe8\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12G\n\x05order\x18\x04 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"x\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x8c\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12@\n\x06status\x18\x06 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xab\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse2\xd0\'\n\x03Msg\x12\x61\n\x07\x44\x65posit\x12&.injective.exchange.v1beta1.MsgDeposit\x1a..injective.exchange.v1beta1.MsgDepositResponse\x12\x64\n\x08Withdraw\x12\'.injective.exchange.v1beta1.MsgWithdraw\x1a/.injective.exchange.v1beta1.MsgWithdrawResponse\x12\x91\x01\n\x17InstantSpotMarketLaunch\x12\x36.injective.exchange.v1beta1.MsgInstantSpotMarketLaunch\x1a>.injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse\x12\xa0\x01\n\x1cInstantPerpetualMarketLaunch\x12;.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch\x1a\x43.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse\x12\xac\x01\n InstantExpiryFuturesMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse\x12\x88\x01\n\x14\x43reateSpotLimitOrder\x12\x33.injective.exchange.v1beta1.MsgCreateSpotLimitOrder\x1a;.injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse\x12\x9a\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x39.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders\x1a\x41.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse\x12\x8b\x01\n\x15\x43reateSpotMarketOrder\x12\x34.injective.exchange.v1beta1.MsgCreateSpotMarketOrder\x1a<.injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\x12y\n\x0f\x43\x61ncelSpotOrder\x12..injective.exchange.v1beta1.MsgCancelSpotOrder\x1a\x36.injective.exchange.v1beta1.MsgCancelSpotOrderResponse\x12\x8b\x01\n\x15\x42\x61tchCancelSpotOrders\x12\x34.injective.exchange.v1beta1.MsgBatchCancelSpotOrders\x1a<.injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse\x12\x7f\n\x11\x42\x61tchUpdateOrders\x12\x30.injective.exchange.v1beta1.MsgBatchUpdateOrders\x1a\x38.injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse\x12\x97\x01\n\x19PrivilegedExecuteContract\x12\x38.injective.exchange.v1beta1.MsgPrivilegedExecuteContract\x1a@.injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse\x12\x9a\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x39.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder\x1a\x41.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse\x12\xac\x01\n BatchCreateDerivativeLimitOrders\x12?.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders\x1aG.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x9d\x01\n\x1b\x43reateDerivativeMarketOrder\x12:.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder\x1a\x42.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse\x12\x8b\x01\n\x15\x43\x61ncelDerivativeOrder\x12\x34.injective.exchange.v1beta1.MsgCancelDerivativeOrder\x1a<.injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse\x12\x9d\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12:.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders\x1a\x42.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse\x12\xac\x01\n InstantBinaryOptionsMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse\x12\xa3\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12<.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder\x1a\x44.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse\x12\xa6\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12=.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder\x1a\x45.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse\x12\x94\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x37.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder\x1a?.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse\x12\xa6\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12=.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders\x1a\x45.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse\x12\x82\x01\n\x12SubaccountTransfer\x12\x31.injective.exchange.v1beta1.MsgSubaccountTransfer\x1a\x39.injective.exchange.v1beta1.MsgSubaccountTransferResponse\x12|\n\x10\x45xternalTransfer\x12/.injective.exchange.v1beta1.MsgExternalTransfer\x1a\x37.injective.exchange.v1beta1.MsgExternalTransferResponse\x12\x7f\n\x11LiquidatePosition\x12\x30.injective.exchange.v1beta1.MsgLiquidatePosition\x1a\x38.injective.exchange.v1beta1.MsgLiquidatePositionResponse\x12\x8b\x01\n\x15\x45mergencySettleMarket\x12\x34.injective.exchange.v1beta1.MsgEmergencySettleMarket\x1a<.injective.exchange.v1beta1.MsgEmergencySettleMarketResponse\x12\x8e\x01\n\x16IncreasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgIncreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgIncreasePositionMarginResponse\x12\x8e\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgDecreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgDecreasePositionMarginResponse\x12s\n\rRewardsOptOut\x12,.injective.exchange.v1beta1.MsgRewardsOptOut\x1a\x34.injective.exchange.v1beta1.MsgRewardsOptOutResponse\x12\xa6\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12=.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket\x1a\x45.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse\x12p\n\x0cUpdateParams\x12+.injective.exchange.v1beta1.MsgUpdateParams\x1a\x33.injective.exchange.v1beta1.MsgUpdateParamsResponse\x12|\n\x10UpdateSpotMarket\x12/.injective.exchange.v1beta1.MsgUpdateSpotMarket\x1a\x37.injective.exchange.v1beta1.MsgUpdateSpotMarketResponse\x12\x8e\x01\n\x16UpdateDerivativeMarket\x12\x35.injective.exchange.v1beta1.MsgUpdateDerivativeMarket\x1a=.injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse\x12\x88\x01\n\x14\x41uthorizeStakeGrants\x12\x33.injective.exchange.v1beta1.MsgAuthorizeStakeGrants\x1a;.injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse\x12\x82\x01\n\x12\x41\x63tivateStakeGrant\x12\x31.injective.exchange.v1beta1.MsgActivateStakeGrant\x1a\x39.injective.exchange.v1beta1.MsgActivateStakeGrantResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x83\x02\n\x1e\x63om.injective.exchange.v1beta1B\x07TxProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#injective/exchange/v1beta1/tx.proto\x12\x1ainjective.exchange.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a.cosmos/distribution/v1beta1/distribution.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a\x14gogoproto/gogo.proto\x1a)injective/exchange/v1beta1/exchange.proto\x1a%injective/oracle/v1beta1/oracle.proto\x1a\x11\x61mino/amino.proto\"\xa7\x03\n\x13MsgUpdateSpotMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional:3\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\x1c\x65xchange/MsgUpdateSpotMarket\"\x1d\n\x1bMsgUpdateSpotMarketResponse\"\xf7\x04\n\x19MsgUpdateDerivativeMarket\x12\x14\n\x05\x61\x64min\x18\x01 \x01(\tR\x05\x61\x64min\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12\x1d\n\nnew_ticker\x18\x03 \x01(\tR\tnewTicker\x12Y\n\x17new_min_price_tick_size\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13newMinPriceTickSize\x12_\n\x1anew_min_quantity_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16newMinQuantityTickSize\x12M\n\x10new_min_notional\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0enewMinNotional\x12\\\n\x18new_initial_margin_ratio\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x15newInitialMarginRatio\x12\x64\n\x1cnew_maintenance_margin_ratio\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x19newMaintenanceMarginRatio:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x05\x61\x64min\x8a\xe7\xb0*\"exchange/MsgUpdateDerivativeMarket\"#\n!MsgUpdateDerivativeMarketResponse\"\xb8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12@\n\x06params\x18\x02 \x01(\x0b\x32\".injective.exchange.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:+\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x18\x65xchange/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xaf\x01\n\nMsgDeposit\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:+\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x13\x65xchange/MsgDeposit\"\x14\n\x12MsgDepositResponse\"\xb1\x01\n\x0bMsgWithdraw\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x37\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x14\x65xchange/MsgWithdraw\"\x15\n\x13MsgWithdrawResponse\"\xae\x01\n\x17MsgCreateSpotLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:8\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgCreateSpotLimitOrder\"\\\n\x1fMsgCreateSpotLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgBatchCreateSpotLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x43\n\x06orders\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x06orders:>\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgBatchCreateSpotLimitOrders\"\xb2\x01\n%MsgBatchCreateSpotLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x8b\x04\n\x1aMsgInstantSpotMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1d\n\nbase_denom\x18\x03 \x01(\tR\tbaseDenom\x12\x1f\n\x0bquote_denom\x18\x04 \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional\x12#\n\rbase_decimals\x18\x08 \x01(\rR\x0c\x62\x61seDecimals\x12%\n\x0equote_decimals\x18\t \x01(\rR\rquoteDecimals:;\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#exchange/MsgInstantSpotMarketLaunch\"$\n\"MsgInstantSpotMarketLaunchResponse\"\xb1\x07\n\x1fMsgInstantPerpetualMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12\x45\n\x0boracle_type\x18\x07 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12I\n\x0emaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:@\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*(exchange/MsgInstantPerpetualMarketLaunch\")\n\'MsgInstantPerpetualMarketLaunchResponse\"\x89\x07\n#MsgInstantBinaryOptionsMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12#\n\roracle_symbol\x18\x03 \x01(\tR\x0coracleSymbol\x12\'\n\x0foracle_provider\x18\x04 \x01(\tR\x0eoracleProvider\x12\x45\n\x0boracle_type\x18\x05 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x06 \x01(\rR\x11oracleScaleFactor\x12I\n\x0emaker_fee_rate\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\x08 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12\x31\n\x14\x65xpiration_timestamp\x18\t \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\n \x01(\x03R\x13settlementTimestamp\x12\x14\n\x05\x61\x64min\x18\x0b \x01(\tR\x05\x61\x64min\x12\x1f\n\x0bquote_denom\x18\x0c \x01(\tR\nquoteDenom\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantBinaryOptionsMarketLaunch\"-\n+MsgInstantBinaryOptionsMarketLaunchResponse\"\xd1\x07\n#MsgInstantExpiryFuturesMarketLaunch\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x16\n\x06ticker\x18\x02 \x01(\tR\x06ticker\x12\x1f\n\x0bquote_denom\x18\x03 \x01(\tR\nquoteDenom\x12\x1f\n\x0boracle_base\x18\x04 \x01(\tR\noracleBase\x12!\n\x0coracle_quote\x18\x05 \x01(\tR\x0boracleQuote\x12\x45\n\x0boracle_type\x18\x06 \x01(\x0e\x32$.injective.oracle.v1beta1.OracleTypeR\noracleType\x12.\n\x13oracle_scale_factor\x18\x07 \x01(\rR\x11oracleScaleFactor\x12\x16\n\x06\x65xpiry\x18\x08 \x01(\x03R\x06\x65xpiry\x12I\n\x0emaker_fee_rate\x18\t \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0cmakerFeeRate\x12I\n\x0etaker_fee_rate\x18\n \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0ctakerFeeRate\x12U\n\x14initial_margin_ratio\x18\x0b \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x12initialMarginRatio\x12]\n\x18maintenance_margin_ratio\x18\x0c \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16maintenanceMarginRatio\x12R\n\x13min_price_tick_size\x18\r \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x10minPriceTickSize\x12X\n\x16min_quantity_tick_size\x18\x0e \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x13minQuantityTickSize\x12\x46\n\x0cmin_notional\x18\x0f \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0bminNotional:D\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgInstantExpiryFuturesMarketLaunch\"-\n+MsgInstantExpiryFuturesMarketLaunchResponse\"\xb0\x01\n\x18MsgCreateSpotMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x41\n\x05order\x18\x02 \x01(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x00R\x05order:9\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCreateSpotMarketOrder\"\xb1\x01\n MsgCreateSpotMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12R\n\x07results\x18\x02 \x01(\x0b\x32\x32.injective.exchange.v1beta1.SpotMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd5\x01\n\x16SpotMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n\x1dMsgCreateDerivativeLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order::\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*&exchange/MsgCreateDerivativeLimitOrder\"b\n%MsgCreateDerivativeLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc2\x01\n MsgCreateBinaryOptionsLimitOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:=\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)exchange/MsgCreateBinaryOptionsLimitOrder\"e\n(MsgCreateBinaryOptionsLimitOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x02 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xca\x01\n#MsgBatchCreateDerivativeLimitOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12I\n\x06orders\x18\x02 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x06orders:@\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*,exchange/MsgBatchCreateDerivativeLimitOrders\"\xb8\x01\n+MsgBatchCreateDerivativeLimitOrdersResponse\x12!\n\x0corder_hashes\x18\x01 \x03(\tR\x0borderHashes\x12.\n\x13\x63reated_orders_cids\x18\x02 \x03(\tR\x11\x63reatedOrdersCids\x12,\n\x12\x66\x61iled_orders_cids\x18\x03 \x03(\tR\x10\x66\x61iledOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xd0\x01\n\x12MsgCancelSpotOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id:/\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1b\x65xchange/MsgCancelSpotOrder\"\x1c\n\x1aMsgCancelSpotOrderResponse\"\xaa\x01\n\x18MsgBatchCancelSpotOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgBatchCancelSpotOrders\"F\n MsgBatchCancelSpotOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbc\x01\n!MsgBatchCancelBinaryOptionsOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgBatchCancelBinaryOptionsOrders\"O\n)MsgBatchCancelBinaryOptionsOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf2\x07\n\x14MsgBatchUpdateOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12?\n\x1dspot_market_ids_to_cancel_all\x18\x03 \x03(\tR\x18spotMarketIdsToCancelAll\x12K\n#derivative_market_ids_to_cancel_all\x18\x04 \x03(\tR\x1e\x64\x65rivativeMarketIdsToCancelAll\x12^\n\x15spot_orders_to_cancel\x18\x05 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCancel\x12j\n\x1b\x64\x65rivative_orders_to_cancel\x18\x06 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCancel\x12^\n\x15spot_orders_to_create\x18\x07 \x03(\x0b\x32%.injective.exchange.v1beta1.SpotOrderB\x04\xc8\xde\x1f\x01R\x12spotOrdersToCreate\x12p\n\x1b\x64\x65rivative_orders_to_create\x18\x08 \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x18\x64\x65rivativeOrdersToCreate\x12q\n\x1f\x62inary_options_orders_to_cancel\x18\t \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCancel\x12R\n\'binary_options_market_ids_to_cancel_all\x18\n \x03(\tR!binaryOptionsMarketIdsToCancelAll\x12w\n\x1f\x62inary_options_orders_to_create\x18\x0b \x03(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x1b\x62inaryOptionsOrdersToCreate:1\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgBatchUpdateOrders\"\x88\x06\n\x1cMsgBatchUpdateOrdersResponse\x12.\n\x13spot_cancel_success\x18\x01 \x03(\x08R\x11spotCancelSuccess\x12:\n\x19\x64\x65rivative_cancel_success\x18\x02 \x03(\x08R\x17\x64\x65rivativeCancelSuccess\x12*\n\x11spot_order_hashes\x18\x03 \x03(\tR\x0fspotOrderHashes\x12\x36\n\x17\x64\x65rivative_order_hashes\x18\x04 \x03(\tR\x15\x64\x65rivativeOrderHashes\x12\x41\n\x1d\x62inary_options_cancel_success\x18\x05 \x03(\x08R\x1a\x62inaryOptionsCancelSuccess\x12=\n\x1b\x62inary_options_order_hashes\x18\x06 \x03(\tR\x18\x62inaryOptionsOrderHashes\x12\x37\n\x18\x63reated_spot_orders_cids\x18\x07 \x03(\tR\x15\x63reatedSpotOrdersCids\x12\x35\n\x17\x66\x61iled_spot_orders_cids\x18\x08 \x03(\tR\x14\x66\x61iledSpotOrdersCids\x12\x43\n\x1e\x63reated_derivative_orders_cids\x18\t \x03(\tR\x1b\x63reatedDerivativeOrdersCids\x12\x41\n\x1d\x66\x61iled_derivative_orders_cids\x18\n \x03(\tR\x1a\x66\x61iledDerivativeOrdersCids\x12J\n\"created_binary_options_orders_cids\x18\x0b \x03(\tR\x1e\x63reatedBinaryOptionsOrdersCids\x12H\n!failed_binary_options_orders_cids\x18\x0c \x03(\tR\x1d\x66\x61iledBinaryOptionsOrdersCids:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xbe\x01\n\x1eMsgCreateDerivativeMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgCreateDerivativeMarketOrder\"\xbd\x01\n&MsgCreateDerivativeMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xf0\x02\n\x1c\x44\x65rivativeMarketOrderResults\x12?\n\x08quantity\x18\x01 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x35\n\x03\x66\x65\x65\x18\x03 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12V\n\x0eposition_delta\x18\x04 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaB\x04\xc8\xde\x1f\x00R\rpositionDelta\x12;\n\x06payout\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xc4\x01\n!MsgCreateBinaryOptionsMarketOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12G\n\x05order\x18\x02 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x00R\x05order:>\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgCreateBinaryOptionsMarketOrder\"\xc0\x01\n)MsgCreateBinaryOptionsMarketOrderResponse\x12\x1d\n\norder_hash\x18\x01 \x01(\tR\torderHash\x12X\n\x07results\x18\x02 \x01(\x0b\x32\x38.injective.exchange.v1beta1.DerivativeMarketOrderResultsB\x04\xc8\xde\x1f\x01R\x07results\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\xfb\x01\n\x18MsgCancelDerivativeOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:5\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgCancelDerivativeOrder\"\"\n MsgCancelDerivativeOrderResponse\"\x81\x02\n\x1bMsgCancelBinaryOptionsOrder\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x03 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x04 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x05 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x06 \x01(\tR\x03\x63id:8\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*$exchange/MsgCancelBinaryOptionsOrder\"%\n#MsgCancelBinaryOptionsOrderResponse\"\x9d\x01\n\tOrderData\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1d\n\norder_hash\x18\x03 \x01(\tR\torderHash\x12\x1d\n\norder_mask\x18\x04 \x01(\x05R\torderMask\x12\x10\n\x03\x63id\x18\x05 \x01(\tR\x03\x63id\"\xb6\x01\n\x1eMsgBatchCancelDerivativeOrders\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12?\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32%.injective.exchange.v1beta1.OrderDataB\x04\xc8\xde\x1f\x00R\x04\x64\x61ta:;\x88\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\'exchange/MsgBatchCancelDerivativeOrders\"L\n&MsgBatchCancelDerivativeOrdersResponse\x12\x18\n\x07success\x18\x01 \x03(\x08R\x07success:\x08\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\"\x86\x02\n\x15MsgSubaccountTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgSubaccountTransfer\"\x1f\n\x1dMsgSubaccountTransferResponse\"\x82\x02\n\x13MsgExternalTransfer\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x37\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount:,\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1c\x65xchange/MsgExternalTransfer\"\x1d\n\x1bMsgExternalTransferResponse\"\xe8\x01\n\x14MsgLiquidatePosition\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId\x12G\n\x05order\x18\x04 \x01(\x0b\x32+.injective.exchange.v1beta1.DerivativeOrderB\x04\xc8\xde\x1f\x01R\x05order:-\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1d\x65xchange/MsgLiquidatePosition\"\x1e\n\x1cMsgLiquidatePositionResponse\"\xa7\x01\n\x18MsgEmergencySettleMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x1b\n\tmarket_id\x18\x03 \x01(\tR\x08marketId:1\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*!exchange/MsgEmergencySettleMarket\"\"\n MsgEmergencySettleMarketResponse\"\xaf\x02\n\x19MsgIncreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgIncreasePositionMargin\"#\n!MsgIncreasePositionMarginResponse\"\xaf\x02\n\x19MsgDecreasePositionMargin\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x14source_subaccount_id\x18\x02 \x01(\tR\x12sourceSubaccountId\x12:\n\x19\x64\x65stination_subaccount_id\x18\x03 \x01(\tR\x17\x64\x65stinationSubaccountId\x12\x1b\n\tmarket_id\x18\x04 \x01(\tR\x08marketId\x12;\n\x06\x61mount\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06\x61mount:2\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\"exchange/MsgDecreasePositionMargin\"#\n!MsgDecreasePositionMarginResponse\"\xca\x01\n\x1cMsgPrivilegedExecuteContract\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x14\n\x05\x66unds\x18\x02 \x01(\tR\x05\x66unds\x12)\n\x10\x63ontract_address\x18\x03 \x01(\tR\x0f\x63ontractAddress\x12\x12\n\x04\x64\x61ta\x18\x04 \x01(\tR\x04\x64\x61ta:=\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*%exchange/MsgPrivilegedExecuteContract\"\xa7\x01\n$MsgPrivilegedExecuteContractResponse\x12j\n\nfunds_diff\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\tfundsDiff:\x13\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\"]\n\x10MsgRewardsOptOut\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender:1\x88\xa0\x1f\x00\xe8\xa0\x1f\x00\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x19\x65xchange/MsgRewardsOptOut\"\x1a\n\x18MsgRewardsOptOutResponse\"\xaf\x01\n\x15MsgReclaimLockedFunds\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x30\n\x13lockedAccountPubKey\x18\x02 \x01(\x0cR\x13lockedAccountPubKey\x12\x1c\n\tsignature\x18\x03 \x01(\x0cR\tsignature:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgReclaimLockedFunds\"\x1f\n\x1dMsgReclaimLockedFundsResponse\"\x80\x01\n\x0bMsgSignData\x12S\n\x06Signer\x18\x01 \x01(\x0c\x42;\xea\xde\x1f\x06signer\xfa\xde\x1f-github.com/cosmos/cosmos-sdk/types.AccAddressR\x06Signer\x12\x1c\n\x04\x44\x61ta\x18\x02 \x01(\x0c\x42\x08\xea\xde\x1f\x04\x64\x61taR\x04\x44\x61ta\"x\n\nMsgSignDoc\x12%\n\tsign_type\x18\x01 \x01(\tB\x08\xea\xde\x1f\x04typeR\x08signType\x12\x43\n\x05value\x18\x02 \x01(\x0b\x32\'.injective.exchange.v1beta1.MsgSignDataB\x04\xc8\xde\x1f\x00R\x05value\"\x8c\x03\n!MsgAdminUpdateBinaryOptionsMarket\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x1b\n\tmarket_id\x18\x02 \x01(\tR\x08marketId\x12N\n\x10settlement_price\x18\x03 \x01(\tB#\xc8\xde\x1f\x01\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x0fsettlementPrice\x12\x31\n\x14\x65xpiration_timestamp\x18\x04 \x01(\x03R\x13\x65xpirationTimestamp\x12\x31\n\x14settlement_timestamp\x18\x05 \x01(\x03R\x13settlementTimestamp\x12@\n\x06status\x18\x06 \x01(\x0e\x32(.injective.exchange.v1beta1.MarketStatusR\x06status::\x82\xe7\xb0*\x06sender\x8a\xe7\xb0**exchange/MsgAdminUpdateBinaryOptionsMarket\"+\n)MsgAdminUpdateBinaryOptionsMarketResponse\"\xab\x01\n\x17MsgAuthorizeStakeGrants\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x46\n\x06grants\x18\x02 \x03(\x0b\x32..injective.exchange.v1beta1.GrantAuthorizationR\x06grants:0\x82\xe7\xb0*\x06sender\x8a\xe7\xb0* exchange/MsgAuthorizeStakeGrants\"!\n\x1fMsgAuthorizeStakeGrantsResponse\"y\n\x15MsgActivateStakeGrant\x12\x16\n\x06sender\x18\x01 \x01(\tR\x06sender\x12\x18\n\x07granter\x18\x02 \x01(\tR\x07granter:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1e\x65xchange/MsgActivateStakeGrant\"\x1f\n\x1dMsgActivateStakeGrantResponse2\xd0\'\n\x03Msg\x12\x61\n\x07\x44\x65posit\x12&.injective.exchange.v1beta1.MsgDeposit\x1a..injective.exchange.v1beta1.MsgDepositResponse\x12\x64\n\x08Withdraw\x12\'.injective.exchange.v1beta1.MsgWithdraw\x1a/.injective.exchange.v1beta1.MsgWithdrawResponse\x12\x91\x01\n\x17InstantSpotMarketLaunch\x12\x36.injective.exchange.v1beta1.MsgInstantSpotMarketLaunch\x1a>.injective.exchange.v1beta1.MsgInstantSpotMarketLaunchResponse\x12\xa0\x01\n\x1cInstantPerpetualMarketLaunch\x12;.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunch\x1a\x43.injective.exchange.v1beta1.MsgInstantPerpetualMarketLaunchResponse\x12\xac\x01\n InstantExpiryFuturesMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantExpiryFuturesMarketLaunchResponse\x12\x88\x01\n\x14\x43reateSpotLimitOrder\x12\x33.injective.exchange.v1beta1.MsgCreateSpotLimitOrder\x1a;.injective.exchange.v1beta1.MsgCreateSpotLimitOrderResponse\x12\x9a\x01\n\x1a\x42\x61tchCreateSpotLimitOrders\x12\x39.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrders\x1a\x41.injective.exchange.v1beta1.MsgBatchCreateSpotLimitOrdersResponse\x12\x8b\x01\n\x15\x43reateSpotMarketOrder\x12\x34.injective.exchange.v1beta1.MsgCreateSpotMarketOrder\x1a<.injective.exchange.v1beta1.MsgCreateSpotMarketOrderResponse\x12y\n\x0f\x43\x61ncelSpotOrder\x12..injective.exchange.v1beta1.MsgCancelSpotOrder\x1a\x36.injective.exchange.v1beta1.MsgCancelSpotOrderResponse\x12\x8b\x01\n\x15\x42\x61tchCancelSpotOrders\x12\x34.injective.exchange.v1beta1.MsgBatchCancelSpotOrders\x1a<.injective.exchange.v1beta1.MsgBatchCancelSpotOrdersResponse\x12\x7f\n\x11\x42\x61tchUpdateOrders\x12\x30.injective.exchange.v1beta1.MsgBatchUpdateOrders\x1a\x38.injective.exchange.v1beta1.MsgBatchUpdateOrdersResponse\x12\x97\x01\n\x19PrivilegedExecuteContract\x12\x38.injective.exchange.v1beta1.MsgPrivilegedExecuteContract\x1a@.injective.exchange.v1beta1.MsgPrivilegedExecuteContractResponse\x12\x9a\x01\n\x1a\x43reateDerivativeLimitOrder\x12\x39.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrder\x1a\x41.injective.exchange.v1beta1.MsgCreateDerivativeLimitOrderResponse\x12\xac\x01\n BatchCreateDerivativeLimitOrders\x12?.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrders\x1aG.injective.exchange.v1beta1.MsgBatchCreateDerivativeLimitOrdersResponse\x12\x9d\x01\n\x1b\x43reateDerivativeMarketOrder\x12:.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrder\x1a\x42.injective.exchange.v1beta1.MsgCreateDerivativeMarketOrderResponse\x12\x8b\x01\n\x15\x43\x61ncelDerivativeOrder\x12\x34.injective.exchange.v1beta1.MsgCancelDerivativeOrder\x1a<.injective.exchange.v1beta1.MsgCancelDerivativeOrderResponse\x12\x9d\x01\n\x1b\x42\x61tchCancelDerivativeOrders\x12:.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrders\x1a\x42.injective.exchange.v1beta1.MsgBatchCancelDerivativeOrdersResponse\x12\xac\x01\n InstantBinaryOptionsMarketLaunch\x12?.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunch\x1aG.injective.exchange.v1beta1.MsgInstantBinaryOptionsMarketLaunchResponse\x12\xa3\x01\n\x1d\x43reateBinaryOptionsLimitOrder\x12<.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrder\x1a\x44.injective.exchange.v1beta1.MsgCreateBinaryOptionsLimitOrderResponse\x12\xa6\x01\n\x1e\x43reateBinaryOptionsMarketOrder\x12=.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrder\x1a\x45.injective.exchange.v1beta1.MsgCreateBinaryOptionsMarketOrderResponse\x12\x94\x01\n\x18\x43\x61ncelBinaryOptionsOrder\x12\x37.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrder\x1a?.injective.exchange.v1beta1.MsgCancelBinaryOptionsOrderResponse\x12\xa6\x01\n\x1e\x42\x61tchCancelBinaryOptionsOrders\x12=.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrders\x1a\x45.injective.exchange.v1beta1.MsgBatchCancelBinaryOptionsOrdersResponse\x12\x82\x01\n\x12SubaccountTransfer\x12\x31.injective.exchange.v1beta1.MsgSubaccountTransfer\x1a\x39.injective.exchange.v1beta1.MsgSubaccountTransferResponse\x12|\n\x10\x45xternalTransfer\x12/.injective.exchange.v1beta1.MsgExternalTransfer\x1a\x37.injective.exchange.v1beta1.MsgExternalTransferResponse\x12\x7f\n\x11LiquidatePosition\x12\x30.injective.exchange.v1beta1.MsgLiquidatePosition\x1a\x38.injective.exchange.v1beta1.MsgLiquidatePositionResponse\x12\x8b\x01\n\x15\x45mergencySettleMarket\x12\x34.injective.exchange.v1beta1.MsgEmergencySettleMarket\x1a<.injective.exchange.v1beta1.MsgEmergencySettleMarketResponse\x12\x8e\x01\n\x16IncreasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgIncreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgIncreasePositionMarginResponse\x12\x8e\x01\n\x16\x44\x65\x63reasePositionMargin\x12\x35.injective.exchange.v1beta1.MsgDecreasePositionMargin\x1a=.injective.exchange.v1beta1.MsgDecreasePositionMarginResponse\x12s\n\rRewardsOptOut\x12,.injective.exchange.v1beta1.MsgRewardsOptOut\x1a\x34.injective.exchange.v1beta1.MsgRewardsOptOutResponse\x12\xa6\x01\n\x1e\x41\x64minUpdateBinaryOptionsMarket\x12=.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarket\x1a\x45.injective.exchange.v1beta1.MsgAdminUpdateBinaryOptionsMarketResponse\x12p\n\x0cUpdateParams\x12+.injective.exchange.v1beta1.MsgUpdateParams\x1a\x33.injective.exchange.v1beta1.MsgUpdateParamsResponse\x12|\n\x10UpdateSpotMarket\x12/.injective.exchange.v1beta1.MsgUpdateSpotMarket\x1a\x37.injective.exchange.v1beta1.MsgUpdateSpotMarketResponse\x12\x8e\x01\n\x16UpdateDerivativeMarket\x12\x35.injective.exchange.v1beta1.MsgUpdateDerivativeMarket\x1a=.injective.exchange.v1beta1.MsgUpdateDerivativeMarketResponse\x12\x88\x01\n\x14\x41uthorizeStakeGrants\x12\x33.injective.exchange.v1beta1.MsgAuthorizeStakeGrants\x1a;.injective.exchange.v1beta1.MsgAuthorizeStakeGrantsResponse\x12\x82\x01\n\x12\x41\x63tivateStakeGrant\x12\x31.injective.exchange.v1beta1.MsgActivateStakeGrant\x1a\x39.injective.exchange.v1beta1.MsgActivateStakeGrantResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x83\x02\n\x1e\x63om.injective.exchange.v1beta1B\x07TxProtoP\x01ZNgithub.com/InjectiveLabs/injective-core/injective-chain/modules/exchange/types\xa2\x02\x03IEX\xaa\x02\x1aInjective.Exchange.V1beta1\xca\x02\x1aInjective\\Exchange\\V1beta1\xe2\x02&Injective\\Exchange\\V1beta1\\GPBMetadata\xea\x02\x1cInjective::Exchange::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -309,131 +309,131 @@ _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_start=2530 _globals['_MSGBATCHCREATESPOTLIMITORDERSRESPONSE']._serialized_end=2708 _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_start=2711 - _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3158 - _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3160 - _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3196 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3199 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=4144 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=4146 - _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=4187 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=4190 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=5095 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=5097 - _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=5142 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=5145 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=6122 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=6124 - _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=6169 - _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=6172 - _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=6348 - _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=6351 - _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=6528 - _globals['_SPOTMARKETORDERRESULTS']._serialized_start=6531 - _globals['_SPOTMARKETORDERRESULTS']._serialized_end=6744 - _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=6747 - _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=6935 - _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=6937 - _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=7035 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=7038 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=7232 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=7234 - _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=7335 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=7338 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=7540 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=7543 - _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=7727 - _globals['_MSGCANCELSPOTORDER']._serialized_start=7730 - _globals['_MSGCANCELSPOTORDER']._serialized_end=7938 - _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=7940 - _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=7968 - _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=7971 - _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=8141 - _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=8143 - _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=8213 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=8216 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=8404 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=8406 - _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=8485 - _globals['_MSGBATCHUPDATEORDERS']._serialized_start=8488 - _globals['_MSGBATCHUPDATEORDERS']._serialized_end=9498 - _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=9501 - _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=10277 - _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=10280 - _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=10470 - _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=10473 - _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=10662 - _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=10665 - _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=11033 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=11036 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=11232 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=11235 - _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=11427 - _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=11430 - _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=11681 - _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=11683 - _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=11717 - _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=11720 - _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=11977 - _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=11979 - _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=12016 - _globals['_ORDERDATA']._serialized_start=12019 - _globals['_ORDERDATA']._serialized_end=12176 - _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=12179 - _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=12361 - _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=12363 - _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=12439 - _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=12442 - _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=12704 - _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=12706 - _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=12737 - _globals['_MSGEXTERNALTRANSFER']._serialized_start=12740 - _globals['_MSGEXTERNALTRANSFER']._serialized_end=12998 - _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=13000 - _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=13029 - _globals['_MSGLIQUIDATEPOSITION']._serialized_start=13032 - _globals['_MSGLIQUIDATEPOSITION']._serialized_end=13264 - _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=13266 - _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=13296 - _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=13299 - _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=13466 - _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=13468 - _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=13502 - _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=13505 - _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=13808 - _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=13810 - _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=13845 - _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=13848 - _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=14151 - _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=14153 - _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=14188 - _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=14191 - _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=14393 - _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=14396 - _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=14563 - _globals['_MSGREWARDSOPTOUT']._serialized_start=14565 - _globals['_MSGREWARDSOPTOUT']._serialized_end=14658 - _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=14660 - _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=14686 - _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=14689 - _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=14864 - _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=14866 - _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=14897 - _globals['_MSGSIGNDATA']._serialized_start=14900 - _globals['_MSGSIGNDATA']._serialized_end=15028 - _globals['_MSGSIGNDOC']._serialized_start=15030 - _globals['_MSGSIGNDOC']._serialized_end=15150 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=15153 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=15549 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=15551 - _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=15594 - _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=15597 - _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=15768 - _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=15770 - _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=15803 - _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=15805 - _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=15926 - _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=15928 - _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=15959 - _globals['_MSG']._serialized_start=15962 - _globals['_MSG']._serialized_end=21034 + _globals['_MSGINSTANTSPOTMARKETLAUNCH']._serialized_end=3234 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_start=3236 + _globals['_MSGINSTANTSPOTMARKETLAUNCHRESPONSE']._serialized_end=3272 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_start=3275 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCH']._serialized_end=4220 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_start=4222 + _globals['_MSGINSTANTPERPETUALMARKETLAUNCHRESPONSE']._serialized_end=4263 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_start=4266 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCH']._serialized_end=5171 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_start=5173 + _globals['_MSGINSTANTBINARYOPTIONSMARKETLAUNCHRESPONSE']._serialized_end=5218 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_start=5221 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCH']._serialized_end=6198 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_start=6200 + _globals['_MSGINSTANTEXPIRYFUTURESMARKETLAUNCHRESPONSE']._serialized_end=6245 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_start=6248 + _globals['_MSGCREATESPOTMARKETORDER']._serialized_end=6424 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_start=6427 + _globals['_MSGCREATESPOTMARKETORDERRESPONSE']._serialized_end=6604 + _globals['_SPOTMARKETORDERRESULTS']._serialized_start=6607 + _globals['_SPOTMARKETORDERRESULTS']._serialized_end=6820 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_start=6823 + _globals['_MSGCREATEDERIVATIVELIMITORDER']._serialized_end=7011 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_start=7013 + _globals['_MSGCREATEDERIVATIVELIMITORDERRESPONSE']._serialized_end=7111 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_start=7114 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDER']._serialized_end=7308 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_start=7310 + _globals['_MSGCREATEBINARYOPTIONSLIMITORDERRESPONSE']._serialized_end=7411 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_start=7414 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERS']._serialized_end=7616 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_start=7619 + _globals['_MSGBATCHCREATEDERIVATIVELIMITORDERSRESPONSE']._serialized_end=7803 + _globals['_MSGCANCELSPOTORDER']._serialized_start=7806 + _globals['_MSGCANCELSPOTORDER']._serialized_end=8014 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_start=8016 + _globals['_MSGCANCELSPOTORDERRESPONSE']._serialized_end=8044 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_start=8047 + _globals['_MSGBATCHCANCELSPOTORDERS']._serialized_end=8217 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_start=8219 + _globals['_MSGBATCHCANCELSPOTORDERSRESPONSE']._serialized_end=8289 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_start=8292 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERS']._serialized_end=8480 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_start=8482 + _globals['_MSGBATCHCANCELBINARYOPTIONSORDERSRESPONSE']._serialized_end=8561 + _globals['_MSGBATCHUPDATEORDERS']._serialized_start=8564 + _globals['_MSGBATCHUPDATEORDERS']._serialized_end=9574 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_start=9577 + _globals['_MSGBATCHUPDATEORDERSRESPONSE']._serialized_end=10353 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_start=10356 + _globals['_MSGCREATEDERIVATIVEMARKETORDER']._serialized_end=10546 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_start=10549 + _globals['_MSGCREATEDERIVATIVEMARKETORDERRESPONSE']._serialized_end=10738 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_start=10741 + _globals['_DERIVATIVEMARKETORDERRESULTS']._serialized_end=11109 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_start=11112 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDER']._serialized_end=11308 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_start=11311 + _globals['_MSGCREATEBINARYOPTIONSMARKETORDERRESPONSE']._serialized_end=11503 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_start=11506 + _globals['_MSGCANCELDERIVATIVEORDER']._serialized_end=11757 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_start=11759 + _globals['_MSGCANCELDERIVATIVEORDERRESPONSE']._serialized_end=11793 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_start=11796 + _globals['_MSGCANCELBINARYOPTIONSORDER']._serialized_end=12053 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_start=12055 + _globals['_MSGCANCELBINARYOPTIONSORDERRESPONSE']._serialized_end=12092 + _globals['_ORDERDATA']._serialized_start=12095 + _globals['_ORDERDATA']._serialized_end=12252 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_start=12255 + _globals['_MSGBATCHCANCELDERIVATIVEORDERS']._serialized_end=12437 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_start=12439 + _globals['_MSGBATCHCANCELDERIVATIVEORDERSRESPONSE']._serialized_end=12515 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_start=12518 + _globals['_MSGSUBACCOUNTTRANSFER']._serialized_end=12780 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_start=12782 + _globals['_MSGSUBACCOUNTTRANSFERRESPONSE']._serialized_end=12813 + _globals['_MSGEXTERNALTRANSFER']._serialized_start=12816 + _globals['_MSGEXTERNALTRANSFER']._serialized_end=13074 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_start=13076 + _globals['_MSGEXTERNALTRANSFERRESPONSE']._serialized_end=13105 + _globals['_MSGLIQUIDATEPOSITION']._serialized_start=13108 + _globals['_MSGLIQUIDATEPOSITION']._serialized_end=13340 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_start=13342 + _globals['_MSGLIQUIDATEPOSITIONRESPONSE']._serialized_end=13372 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_start=13375 + _globals['_MSGEMERGENCYSETTLEMARKET']._serialized_end=13542 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_start=13544 + _globals['_MSGEMERGENCYSETTLEMARKETRESPONSE']._serialized_end=13578 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_start=13581 + _globals['_MSGINCREASEPOSITIONMARGIN']._serialized_end=13884 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_start=13886 + _globals['_MSGINCREASEPOSITIONMARGINRESPONSE']._serialized_end=13921 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_start=13924 + _globals['_MSGDECREASEPOSITIONMARGIN']._serialized_end=14227 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_start=14229 + _globals['_MSGDECREASEPOSITIONMARGINRESPONSE']._serialized_end=14264 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_start=14267 + _globals['_MSGPRIVILEGEDEXECUTECONTRACT']._serialized_end=14469 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_start=14472 + _globals['_MSGPRIVILEGEDEXECUTECONTRACTRESPONSE']._serialized_end=14639 + _globals['_MSGREWARDSOPTOUT']._serialized_start=14641 + _globals['_MSGREWARDSOPTOUT']._serialized_end=14734 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_start=14736 + _globals['_MSGREWARDSOPTOUTRESPONSE']._serialized_end=14762 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_start=14765 + _globals['_MSGRECLAIMLOCKEDFUNDS']._serialized_end=14940 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_start=14942 + _globals['_MSGRECLAIMLOCKEDFUNDSRESPONSE']._serialized_end=14973 + _globals['_MSGSIGNDATA']._serialized_start=14976 + _globals['_MSGSIGNDATA']._serialized_end=15104 + _globals['_MSGSIGNDOC']._serialized_start=15106 + _globals['_MSGSIGNDOC']._serialized_end=15226 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_start=15229 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKET']._serialized_end=15625 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_start=15627 + _globals['_MSGADMINUPDATEBINARYOPTIONSMARKETRESPONSE']._serialized_end=15670 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_start=15673 + _globals['_MSGAUTHORIZESTAKEGRANTS']._serialized_end=15844 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_start=15846 + _globals['_MSGAUTHORIZESTAKEGRANTSRESPONSE']._serialized_end=15879 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_start=15881 + _globals['_MSGACTIVATESTAKEGRANT']._serialized_end=16002 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_start=16004 + _globals['_MSGACTIVATESTAKEGRANTRESPONSE']._serialized_end=16035 + _globals['_MSG']._serialized_start=16038 + _globals['_MSG']._serialized_end=21110 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py index 6fa1a73a..e3ed2f66 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/genesis_pb2.py @@ -17,7 +17,7 @@ from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as injective_dot_permissions_dot_v1beta1_dot_permissions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/permissions/v1beta1/genesis.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\xa3\x01\n\x0cGenesisState\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12N\n\nnamespaces\x18\x02 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\nnamespacesB\x9a\x02\n!com.injective.permissions.v1beta1B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/permissions/v1beta1/genesis.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\xee\x01\n\x0cGenesisState\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\x12N\n\nnamespaces\x18\x02 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\nnamespaces\x12I\n\x08vouchers\x18\x03 \x03(\x0b\x32-.injective.permissions.v1beta1.AddressVoucherR\x08vouchersB\x9a\x02\n!com.injective.permissions.v1beta1B\x0cGenesisProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -30,5 +30,5 @@ _globals['_GENESISSTATE'].fields_by_name['namespaces']._loaded_options = None _globals['_GENESISSTATE'].fields_by_name['namespaces']._serialized_options = b'\310\336\037\000' _globals['_GENESISSTATE']._serialized_start=194 - _globals['_GENESISSTATE']._serialized_end=357 + _globals['_GENESISSTATE']._serialized_end=432 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py index cab8953a..205a3f6f 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/permissions_pb2.py @@ -12,11 +12,11 @@ _sym_db = _symbol_database.Default() -from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 +from pyinjective.proto.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/injective/permissions/v1beta1/permissions.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\xc9\x02\n\tNamespace\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x1b\n\twasm_hook\x18\x02 \x01(\tR\x08wasmHook\x12!\n\x0cmints_paused\x18\x03 \x01(\x08R\x0bmintsPaused\x12!\n\x0csends_paused\x18\x04 \x01(\x08R\x0bsendsPaused\x12!\n\x0c\x62urns_paused\x18\x05 \x01(\x08R\x0b\x62urnsPaused\x12N\n\x10role_permissions\x18\x06 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12P\n\raddress_roles\x18\x07 \x03(\x0b\x32+.injective.permissions.v1beta1.AddressRolesR\x0c\x61\x64\x64ressRoles\">\n\x0c\x41\x64\x64ressRoles\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"<\n\x04Role\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12 \n\x0bpermissions\x18\x02 \x01(\rR\x0bpermissions\"$\n\x07RoleIDs\x12\x19\n\x08role_ids\x18\x01 \x03(\rR\x07roleIds\"l\n\x07Voucher\x12\x61\n\x05\x63oins\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x05\x63oins\"l\n\x0e\x41\x64\x64ressVoucher\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12@\n\x07voucher\x18\x02 \x01(\x0b\x32&.injective.permissions.v1beta1.VoucherR\x07voucher*:\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MINT\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x08\n\x04\x42URN\x10\x04\x42\x9e\x02\n!com.injective.permissions.v1beta1B\x10PermissionsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/injective/permissions/v1beta1/permissions.proto\x12\x1dinjective.permissions.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\"\x81\x04\n\tNamespace\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12#\n\rcontract_hook\x18\x02 \x01(\tR\x0c\x63ontractHook\x12N\n\x10role_permissions\x18\x03 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12J\n\x0b\x61\x63tor_roles\x18\x04 \x03(\x0b\x32).injective.permissions.v1beta1.ActorRolesR\nactorRoles\x12O\n\rrole_managers\x18\x05 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\x12T\n\x0fpolicy_statuses\x18\x06 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\x12v\n\x1bpolicy_manager_capabilities\x18\x07 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\"8\n\nActorRoles\x12\x14\n\x05\x61\x63tor\x18\x01 \x01(\tR\x05\x61\x63tor\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"8\n\nRoleActors\x12\x12\n\x04role\x18\x01 \x01(\tR\x04role\x12\x16\n\x06\x61\x63tors\x18\x02 \x03(\tR\x06\x61\x63tors\"=\n\x0bRoleManager\x12\x18\n\x07manager\x18\x01 \x01(\tR\x07manager\x12\x14\n\x05roles\x18\x02 \x03(\tR\x05roles\"\x8b\x01\n\x0cPolicyStatus\x12=\n\x06\x61\x63tion\x18\x01 \x01(\x0e\x32%.injective.permissions.v1beta1.ActionR\x06\x61\x63tion\x12\x1f\n\x0bis_disabled\x18\x02 \x01(\x08R\nisDisabled\x12\x1b\n\tis_sealed\x18\x03 \x01(\x08R\x08isSealed\"U\n\x04Role\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n\x07role_id\x18\x02 \x01(\rR\x06roleId\x12 \n\x0bpermissions\x18\x03 \x01(\rR\x0bpermissions\"\xae\x01\n\x17PolicyManagerCapability\x12\x18\n\x07manager\x18\x01 \x01(\tR\x07manager\x12=\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32%.injective.permissions.v1beta1.ActionR\x06\x61\x63tion\x12\x1f\n\x0b\x63\x61n_disable\x18\x03 \x01(\x08R\ncanDisable\x12\x19\n\x08\x63\x61n_seal\x18\x04 \x01(\x08R\x07\x63\x61nSeal\"$\n\x07RoleIDs\x12\x19\n\x08role_ids\x18\x01 \x03(\rR\x07roleIds\"l\n\x07Voucher\x12\x61\n\x05\x63oins\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x05\x63oins\"\xa5\x01\n\x0e\x41\x64\x64ressVoucher\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\x12y\n\x07voucher\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinBD\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.Coin\xea\xde\x1f\x11voucher,omitemptyR\x07voucher*\xd0\x01\n\x06\x41\x63tion\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04MINT\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x08\n\x04\x42URN\x10\x04\x12\x08\n\x04SEND\x10\x08\x12\x0e\n\nSUPER_BURN\x10\x10\x12\x1d\n\x16MODIFY_POLICY_MANAGERS\x10\x80\x80\x80@\x12\x1c\n\x14MODIFY_CONTRACT_HOOK\x10\x80\x80\x80\x80\x01\x12\x1f\n\x17MODIFY_ROLE_PERMISSIONS\x10\x80\x80\x80\x80\x02\x12\x1c\n\x14MODIFY_ROLE_MANAGERS\x10\x80\x80\x80\x80\x04\x42\x9e\x02\n!com.injective.permissions.v1beta1B\x10PermissionsProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,18 +26,28 @@ _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\020PermissionsProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' _globals['_VOUCHER'].fields_by_name['coins']._loaded_options = None _globals['_VOUCHER'].fields_by_name['coins']._serialized_options = b'\310\336\037\000\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' - _globals['_ACTION']._serialized_start=852 - _globals['_ACTION']._serialized_end=910 + _globals['_ADDRESSVOUCHER'].fields_by_name['voucher']._loaded_options = None + _globals['_ADDRESSVOUCHER'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin\352\336\037\021voucher,omitempty' + _globals['_ACTION']._serialized_start=1554 + _globals['_ACTION']._serialized_end=1762 _globals['_NAMESPACE']._serialized_start=137 - _globals['_NAMESPACE']._serialized_end=466 - _globals['_ADDRESSROLES']._serialized_start=468 - _globals['_ADDRESSROLES']._serialized_end=530 - _globals['_ROLE']._serialized_start=532 - _globals['_ROLE']._serialized_end=592 - _globals['_ROLEIDS']._serialized_start=594 - _globals['_ROLEIDS']._serialized_end=630 - _globals['_VOUCHER']._serialized_start=632 - _globals['_VOUCHER']._serialized_end=740 - _globals['_ADDRESSVOUCHER']._serialized_start=742 - _globals['_ADDRESSVOUCHER']._serialized_end=850 + _globals['_NAMESPACE']._serialized_end=650 + _globals['_ACTORROLES']._serialized_start=652 + _globals['_ACTORROLES']._serialized_end=708 + _globals['_ROLEACTORS']._serialized_start=710 + _globals['_ROLEACTORS']._serialized_end=766 + _globals['_ROLEMANAGER']._serialized_start=768 + _globals['_ROLEMANAGER']._serialized_end=829 + _globals['_POLICYSTATUS']._serialized_start=832 + _globals['_POLICYSTATUS']._serialized_end=971 + _globals['_ROLE']._serialized_start=973 + _globals['_ROLE']._serialized_end=1058 + _globals['_POLICYMANAGERCAPABILITY']._serialized_start=1061 + _globals['_POLICYMANAGERCAPABILITY']._serialized_end=1235 + _globals['_ROLEIDS']._serialized_start=1237 + _globals['_ROLEIDS']._serialized_end=1273 + _globals['_VOUCHER']._serialized_start=1275 + _globals['_VOUCHER']._serialized_end=1383 + _globals['_ADDRESSVOUCHER']._serialized_start=1386 + _globals['_ADDRESSVOUCHER']._serialized_end=1551 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py b/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py index a03ce809..9a189f68 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/permissions/v1beta1/query_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as injective_dot_permissions_dot_v1beta1_dot_permissions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/permissions/v1beta1/query.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*injective/permissions/v1beta1/params.proto\x1a+injective/permissions/v1beta1/genesis.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\x14\n\x12QueryParamsRequest\"Z\n\x13QueryParamsResponse\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1b\n\x19QueryAllNamespacesRequest\"f\n\x1aQueryAllNamespacesResponse\x12H\n\nnamespaces\x18\x01 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\nnamespaces\"Y\n\x1cQueryNamespaceByDenomRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12#\n\rinclude_roles\x18\x02 \x01(\x08R\x0cincludeRoles\"g\n\x1dQueryNamespaceByDenomResponse\x12\x46\n\tnamespace\x18\x01 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\tnamespace\"G\n\x1bQueryAddressesByRoleRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\"<\n\x1cQueryAddressesByRoleResponse\x12\x1c\n\taddresses\x18\x01 \x03(\tR\taddresses\"J\n\x18QueryAddressRolesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"1\n\x19QueryAddressRolesResponse\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\":\n\x1eQueryVouchersForAddressRequest\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"\xa0\x01\n\x1fQueryVouchersForAddressResponse\x12}\n\x08vouchers\x18\x01 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinBF\xc8\xde\x1f\x00\xea\xde\x1f\x12vouchers,omitempty\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08vouchers2\x89\t\n\x05Query\x12\x9e\x01\n\x06Params\x12\x31.injective.permissions.v1beta1.QueryParamsRequest\x1a\x32.injective.permissions.v1beta1.QueryParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/permissions/v1beta1/params\x12\xbb\x01\n\rAllNamespaces\x12\x38.injective.permissions.v1beta1.QueryAllNamespacesRequest\x1a\x39.injective.permissions.v1beta1.QueryAllNamespacesResponse\"5\x82\xd3\xe4\x93\x02/\x12-/injective/permissions/v1beta1/all_namespaces\x12\xc8\x01\n\x10NamespaceByDenom\x12;.injective.permissions.v1beta1.QueryNamespaceByDenomRequest\x1a<.injective.permissions.v1beta1.QueryNamespaceByDenomResponse\"9\x82\xd3\xe4\x93\x02\x33\x12\x31/injective/permissions/v1beta1/namespace_by_denom\x12\xbb\x01\n\x0c\x41\x64\x64ressRoles\x12\x37.injective.permissions.v1beta1.QueryAddressRolesRequest\x1a\x38.injective.permissions.v1beta1.QueryAddressRolesResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/addresses_by_role\x12\xc4\x01\n\x0f\x41\x64\x64ressesByRole\x12:.injective.permissions.v1beta1.QueryAddressesByRoleRequest\x1a;.injective.permissions.v1beta1.QueryAddressesByRoleResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/addresses_by_role\x12\xd0\x01\n\x12VouchersForAddress\x12=.injective.permissions.v1beta1.QueryVouchersForAddressRequest\x1a>.injective.permissions.v1beta1.QueryVouchersForAddressResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/injective/permissions/v1beta1/vouchers_for_addressB\x98\x02\n!com.injective.permissions.v1beta1B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)injective/permissions/v1beta1/query.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a*cosmos/base/query/v1beta1/pagination.proto\x1a*injective/permissions/v1beta1/params.proto\x1a+injective/permissions/v1beta1/genesis.proto\x1a/injective/permissions/v1beta1/permissions.proto\"\x14\n\x12QueryParamsRequest\"Z\n\x13QueryParamsResponse\x12\x43\n\x06params\x18\x01 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params\"\x1d\n\x1bQueryNamespaceDenomsRequest\"6\n\x1cQueryNamespaceDenomsResponse\x12\x16\n\x06\x64\x65noms\x18\x01 \x03(\tR\x06\x64\x65noms\"\x18\n\x16QueryNamespacesRequest\"c\n\x17QueryNamespacesResponse\x12H\n\nnamespaces\x18\x01 \x03(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\nnamespaces\"-\n\x15QueryNamespaceRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"`\n\x16QueryNamespaceResponse\x12\x46\n\tnamespace\x18\x01 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceR\tnamespace\"D\n\x18QueryActorsByRoleRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x12\n\x04role\x18\x02 \x01(\tR\x04role\"3\n\x19QueryActorsByRoleResponse\x12\x16\n\x06\x61\x63tors\x18\x01 \x03(\tR\x06\x61\x63tors\"F\n\x18QueryRolesByActorRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x14\n\x05\x61\x63tor\x18\x02 \x01(\tR\x05\x61\x63tor\"1\n\x19QueryRolesByActorResponse\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\"0\n\x18QueryRoleManagersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"l\n\x19QueryRoleManagersResponse\x12O\n\rrole_managers\x18\x01 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\"I\n\x17QueryRoleManagerRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07manager\x18\x02 \x01(\tR\x07manager\"i\n\x18QueryRoleManagerResponse\x12M\n\x0crole_manager\x18\x01 \x01(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0broleManager\"2\n\x1aQueryPolicyStatusesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"s\n\x1bQueryPolicyStatusesResponse\x12T\n\x0fpolicy_statuses\x18\x01 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\"=\n%QueryPolicyManagerCapabilitiesRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"\xa0\x01\n&QueryPolicyManagerCapabilitiesResponse\x12v\n\x1bpolicy_manager_capabilities\x18\x01 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\",\n\x14QueryVouchersRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\"b\n\x15QueryVouchersResponse\x12I\n\x08vouchers\x18\x01 \x03(\x0b\x32-.injective.permissions.v1beta1.AddressVoucherR\x08vouchers\"E\n\x13QueryVoucherRequest\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\"\x91\x01\n\x14QueryVoucherResponse\x12y\n\x07voucher\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinBD\xc8\xde\x1f\x00\xda\xde\x1f\'github.com/cosmos/cosmos-sdk/types.Coin\xea\xde\x1f\x11voucher,omitemptyR\x07voucher\"\x19\n\x17QueryModuleStateRequest\"]\n\x18QueryModuleStateResponse\x12\x41\n\x05state\x18\x01 \x01(\x0b\x32+.injective.permissions.v1beta1.GenesisStateR\x05state2\xdd\x13\n\x05Query\x12\x9e\x01\n\x06Params\x12\x31.injective.permissions.v1beta1.QueryParamsRequest\x1a\x32.injective.permissions.v1beta1.QueryParamsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/injective/permissions/v1beta1/params\x12\xc3\x01\n\x0fNamespaceDenoms\x12:.injective.permissions.v1beta1.QueryNamespaceDenomsRequest\x1a;.injective.permissions.v1beta1.QueryNamespaceDenomsResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/permissions/v1beta1/namespace_denoms\x12\xae\x01\n\nNamespaces\x12\x35.injective.permissions.v1beta1.QueryNamespacesRequest\x1a\x36.injective.permissions.v1beta1.QueryNamespacesResponse\"1\x82\xd3\xe4\x93\x02+\x12)/injective/permissions/v1beta1/namespaces\x12\xb2\x01\n\tNamespace\x12\x34.injective.permissions.v1beta1.QueryNamespaceRequest\x1a\x35.injective.permissions.v1beta1.QueryNamespaceResponse\"8\x82\xd3\xe4\x93\x02\x32\x12\x30/injective/permissions/v1beta1/namespace/{denom}\x12\xc8\x01\n\x0cRolesByActor\x12\x37.injective.permissions.v1beta1.QueryRolesByActorRequest\x1a\x38.injective.permissions.v1beta1.QueryRolesByActorResponse\"E\x82\xd3\xe4\x93\x02?\x12=/injective/permissions/v1beta1/roles_by_actor/{denom}/{actor}\x12\xc7\x01\n\x0c\x41\x63torsByRole\x12\x37.injective.permissions.v1beta1.QueryActorsByRoleRequest\x1a\x38.injective.permissions.v1beta1.QueryActorsByRoleResponse\"D\x82\xd3\xe4\x93\x02>\x12\x82\xd3\xe4\x93\x02\x38\x12\x36/injective/permissions/v1beta1/policy_statuses/{denom}\x12\xf4\x01\n\x19PolicyManagerCapabilities\x12\x44.injective.permissions.v1beta1.QueryPolicyManagerCapabilitiesRequest\x1a\x45.injective.permissions.v1beta1.QueryPolicyManagerCapabilitiesResponse\"J\x82\xd3\xe4\x93\x02\x44\x12\x42/injective/permissions/v1beta1/policy_manager_capabilities/{denom}\x12\xae\x01\n\x08Vouchers\x12\x33.injective.permissions.v1beta1.QueryVouchersRequest\x1a\x34.injective.permissions.v1beta1.QueryVouchersResponse\"7\x82\xd3\xe4\x93\x02\x31\x12//injective/permissions/v1beta1/vouchers/{denom}\x12\xb4\x01\n\x07Voucher\x12\x32.injective.permissions.v1beta1.QueryVoucherRequest\x1a\x33.injective.permissions.v1beta1.QueryVoucherResponse\"@\x82\xd3\xe4\x93\x02:\x12\x38/injective/permissions/v1beta1/voucher/{denom}/{address}\x12\xbe\x01\n\x16PermissionsModuleState\x12\x36.injective.permissions.v1beta1.QueryModuleStateRequest\x1a\x37.injective.permissions.v1beta1.QueryModuleStateResponse\"3\x82\xd3\xe4\x93\x02-\x12+/injective/permissions/v1beta1/module_stateB\x98\x02\n!com.injective.permissions.v1beta1B\nQueryProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -31,44 +31,86 @@ _globals['DESCRIPTOR']._serialized_options = b'\n!com.injective.permissions.v1beta1B\nQueryProtoP\001ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\242\002\003IPX\252\002\035Injective.Permissions.V1beta1\312\002\035Injective\\Permissions\\V1beta1\342\002)Injective\\Permissions\\V1beta1\\GPBMetadata\352\002\037Injective::Permissions::V1beta1' _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._loaded_options = None _globals['_QUERYPARAMSRESPONSE'].fields_by_name['params']._serialized_options = b'\310\336\037\000' - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE'].fields_by_name['vouchers']._loaded_options = None - _globals['_QUERYVOUCHERSFORADDRESSRESPONSE'].fields_by_name['vouchers']._serialized_options = b'\310\336\037\000\352\336\037\022vouchers,omitempty\252\337\037(github.com/cosmos/cosmos-sdk/types.Coins' + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._loaded_options = None + _globals['_QUERYVOUCHERRESPONSE'].fields_by_name['voucher']._serialized_options = b'\310\336\037\000\332\336\037\'github.com/cosmos/cosmos-sdk/types.Coin\352\336\037\021voucher,omitempty' _globals['_QUERY'].methods_by_name['Params']._loaded_options = None _globals['_QUERY'].methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\'\022%/injective/permissions/v1beta1/params' - _globals['_QUERY'].methods_by_name['AllNamespaces']._loaded_options = None - _globals['_QUERY'].methods_by_name['AllNamespaces']._serialized_options = b'\202\323\344\223\002/\022-/injective/permissions/v1beta1/all_namespaces' - _globals['_QUERY'].methods_by_name['NamespaceByDenom']._loaded_options = None - _globals['_QUERY'].methods_by_name['NamespaceByDenom']._serialized_options = b'\202\323\344\223\0023\0221/injective/permissions/v1beta1/namespace_by_denom' - _globals['_QUERY'].methods_by_name['AddressRoles']._loaded_options = None - _globals['_QUERY'].methods_by_name['AddressRoles']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/addresses_by_role' - _globals['_QUERY'].methods_by_name['AddressesByRole']._loaded_options = None - _globals['_QUERY'].methods_by_name['AddressesByRole']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/addresses_by_role' - _globals['_QUERY'].methods_by_name['VouchersForAddress']._loaded_options = None - _globals['_QUERY'].methods_by_name['VouchersForAddress']._serialized_options = b'\202\323\344\223\0025\0223/injective/permissions/v1beta1/vouchers_for_address' + _globals['_QUERY'].methods_by_name['NamespaceDenoms']._loaded_options = None + _globals['_QUERY'].methods_by_name['NamespaceDenoms']._serialized_options = b'\202\323\344\223\0021\022//injective/permissions/v1beta1/namespace_denoms' + _globals['_QUERY'].methods_by_name['Namespaces']._loaded_options = None + _globals['_QUERY'].methods_by_name['Namespaces']._serialized_options = b'\202\323\344\223\002+\022)/injective/permissions/v1beta1/namespaces' + _globals['_QUERY'].methods_by_name['Namespace']._loaded_options = None + _globals['_QUERY'].methods_by_name['Namespace']._serialized_options = b'\202\323\344\223\0022\0220/injective/permissions/v1beta1/namespace/{denom}' + _globals['_QUERY'].methods_by_name['RolesByActor']._loaded_options = None + _globals['_QUERY'].methods_by_name['RolesByActor']._serialized_options = b'\202\323\344\223\002?\022=/injective/permissions/v1beta1/roles_by_actor/{denom}/{actor}' + _globals['_QUERY'].methods_by_name['ActorsByRole']._loaded_options = None + _globals['_QUERY'].methods_by_name['ActorsByRole']._serialized_options = b'\202\323\344\223\002>\022.injective.permissions.v1beta1.MsgUpdateNamespaceRolesResponse\x12\x8e\x01\n\x14RevokeNamespaceRoles\x12\x36.injective.permissions.v1beta1.MsgRevokeNamespaceRoles\x1a>.injective.permissions.v1beta1.MsgRevokeNamespaceRolesResponse\x12v\n\x0c\x43laimVoucher\x12..injective.permissions.v1beta1.MsgClaimVoucher\x1a\x36.injective.permissions.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x95\x02\n!com.injective.permissions.v1beta1B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&injective/permissions/v1beta1/tx.proto\x12\x1dinjective.permissions.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a*injective/permissions/v1beta1/params.proto\x1a/injective/permissions/v1beta1/permissions.proto\x1a\x11\x61mino/amino.proto\"\xbe\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x43\n\x06params\x18\x02 \x01(\x0b\x32%.injective.permissions.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:.\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*\x1bpermissions/MsgUpdateParams\"\x19\n\x17MsgUpdateParamsResponse\"\xbd\x01\n\x12MsgCreateNamespace\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12L\n\tnamespace\x18\x02 \x01(\x0b\x32(.injective.permissions.v1beta1.NamespaceB\x04\xc8\xde\x1f\x00R\tnamespace:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1epermissions/MsgCreateNamespace\"\x1c\n\x1aMsgCreateNamespaceResponse\"\x8c\x05\n\x12MsgUpdateNamespace\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12\x66\n\rcontract_hook\x18\x03 \x01(\x0b\x32\x41.injective.permissions.v1beta1.MsgUpdateNamespace.SetContractHookR\x0c\x63ontractHook\x12N\n\x10role_permissions\x18\x04 \x03(\x0b\x32#.injective.permissions.v1beta1.RoleR\x0frolePermissions\x12O\n\rrole_managers\x18\x05 \x03(\x0b\x32*.injective.permissions.v1beta1.RoleManagerR\x0croleManagers\x12T\n\x0fpolicy_statuses\x18\x06 \x03(\x0b\x32+.injective.permissions.v1beta1.PolicyStatusR\x0epolicyStatuses\x12v\n\x1bpolicy_manager_capabilities\x18\x07 \x03(\x0b\x32\x36.injective.permissions.v1beta1.PolicyManagerCapabilityR\x19policyManagerCapabilities\x1a.\n\x0fSetContractHook\x12\x1b\n\tnew_value\x18\x01 \x01(\tR\x08newValue:.\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1epermissions/MsgUpdateNamespace\"\x1c\n\x1aMsgUpdateNamespaceResponse\"\xbd\x02\n\x13MsgUpdateActorRoles\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\x12V\n\x12role_actors_to_add\x18\x03 \x03(\x0b\x32).injective.permissions.v1beta1.RoleActorsR\x0froleActorsToAdd\x12\\\n\x15role_actors_to_revoke\x18\x05 \x03(\x0b\x32).injective.permissions.v1beta1.RoleActorsR\x12roleActorsToRevoke:/\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1fpermissions/MsgUpdateActorRoles\"\x1d\n\x1bMsgUpdateActorRolesResponse\"\x7f\n\x0fMsgClaimVoucher\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1bpermissions/MsgClaimVoucher\"\x19\n\x17MsgClaimVoucherResponse2\x83\x05\n\x03Msg\x12v\n\x0cUpdateParams\x12..injective.permissions.v1beta1.MsgUpdateParams\x1a\x36.injective.permissions.v1beta1.MsgUpdateParamsResponse\x12\x7f\n\x0f\x43reateNamespace\x12\x31.injective.permissions.v1beta1.MsgCreateNamespace\x1a\x39.injective.permissions.v1beta1.MsgCreateNamespaceResponse\x12\x7f\n\x0fUpdateNamespace\x12\x31.injective.permissions.v1beta1.MsgUpdateNamespace\x1a\x39.injective.permissions.v1beta1.MsgUpdateNamespaceResponse\x12\x82\x01\n\x10UpdateActorRoles\x12\x32.injective.permissions.v1beta1.MsgUpdateActorRoles\x1a:.injective.permissions.v1beta1.MsgUpdateActorRolesResponse\x12v\n\x0c\x43laimVoucher\x12..injective.permissions.v1beta1.MsgClaimVoucher\x1a\x36.injective.permissions.v1beta1.MsgClaimVoucherResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x95\x02\n!com.injective.permissions.v1beta1B\x07TxProtoP\x01ZQgithub.com/InjectiveLabs/injective-core/injective-chain/modules/permissions/types\xa2\x02\x03IPX\xaa\x02\x1dInjective.Permissions.V1beta1\xca\x02\x1dInjective\\Permissions\\V1beta1\xe2\x02)Injective\\Permissions\\V1beta1\\GPBMetadata\xea\x02\x1fInjective::Permissions::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -42,22 +42,14 @@ _globals['_MSGCREATENAMESPACE'].fields_by_name['namespace']._serialized_options = b'\310\336\037\000' _globals['_MSGCREATENAMESPACE']._loaded_options = None _globals['_MSGCREATENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgCreateNamespace' - _globals['_MSGDELETENAMESPACE'].fields_by_name['sender']._loaded_options = None - _globals['_MSGDELETENAMESPACE'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGDELETENAMESPACE']._loaded_options = None - _globals['_MSGDELETENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgDeleteNamespace' _globals['_MSGUPDATENAMESPACE'].fields_by_name['sender']._loaded_options = None _globals['_MSGUPDATENAMESPACE'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGUPDATENAMESPACE']._loaded_options = None _globals['_MSGUPDATENAMESPACE']._serialized_options = b'\202\347\260*\006sender\212\347\260*\036permissions/MsgUpdateNamespace' - _globals['_MSGUPDATENAMESPACEROLES'].fields_by_name['sender']._loaded_options = None - _globals['_MSGUPDATENAMESPACEROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGUPDATENAMESPACEROLES']._loaded_options = None - _globals['_MSGUPDATENAMESPACEROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*#permissions/MsgUpdateNamespaceRoles' - _globals['_MSGREVOKENAMESPACEROLES'].fields_by_name['sender']._loaded_options = None - _globals['_MSGREVOKENAMESPACEROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' - _globals['_MSGREVOKENAMESPACEROLES']._loaded_options = None - _globals['_MSGREVOKENAMESPACEROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*#permissions/MsgRevokeNamespaceRoles' + _globals['_MSGUPDATEACTORROLES'].fields_by_name['sender']._loaded_options = None + _globals['_MSGUPDATEACTORROLES'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' + _globals['_MSGUPDATEACTORROLES']._loaded_options = None + _globals['_MSGUPDATEACTORROLES']._serialized_options = b'\202\347\260*\006sender\212\347\260*\037permissions/MsgUpdateActorRoles' _globals['_MSGCLAIMVOUCHER'].fields_by_name['sender']._loaded_options = None _globals['_MSGCLAIMVOUCHER'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGCLAIMVOUCHER']._loaded_options = None @@ -72,34 +64,20 @@ _globals['_MSGCREATENAMESPACE']._serialized_end=733 _globals['_MSGCREATENAMESPACERESPONSE']._serialized_start=735 _globals['_MSGCREATENAMESPACERESPONSE']._serialized_end=763 - _globals['_MSGDELETENAMESPACE']._serialized_start=766 - _globals['_MSGDELETENAMESPACE']._serialized_end=918 - _globals['_MSGDELETENAMESPACERESPONSE']._serialized_start=920 - _globals['_MSGDELETENAMESPACERESPONSE']._serialized_end=948 - _globals['_MSGUPDATENAMESPACE']._serialized_start=951 - _globals['_MSGUPDATENAMESPACE']._serialized_end=1707 - _globals['_MSGUPDATENAMESPACE_MSGSETWASMHOOK']._serialized_start=1464 - _globals['_MSGUPDATENAMESPACE_MSGSETWASMHOOK']._serialized_end=1509 - _globals['_MSGUPDATENAMESPACE_MSGSETMINTSPAUSED']._serialized_start=1511 - _globals['_MSGUPDATENAMESPACE_MSGSETMINTSPAUSED']._serialized_end=1559 - _globals['_MSGUPDATENAMESPACE_MSGSETSENDSPAUSED']._serialized_start=1561 - _globals['_MSGUPDATENAMESPACE_MSGSETSENDSPAUSED']._serialized_end=1609 - _globals['_MSGUPDATENAMESPACE_MSGSETBURNSPAUSED']._serialized_start=1611 - _globals['_MSGUPDATENAMESPACE_MSGSETBURNSPAUSED']._serialized_end=1659 - _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_start=1709 - _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_end=1737 - _globals['_MSGUPDATENAMESPACEROLES']._serialized_start=1740 - _globals['_MSGUPDATENAMESPACEROLES']._serialized_end=2064 - _globals['_MSGUPDATENAMESPACEROLESRESPONSE']._serialized_start=2066 - _globals['_MSGUPDATENAMESPACEROLESRESPONSE']._serialized_end=2099 - _globals['_MSGREVOKENAMESPACEROLES']._serialized_start=2102 - _globals['_MSGREVOKENAMESPACEROLES']._serialized_end=2364 - _globals['_MSGREVOKENAMESPACEROLESRESPONSE']._serialized_start=2366 - _globals['_MSGREVOKENAMESPACEROLESRESPONSE']._serialized_end=2399 - _globals['_MSGCLAIMVOUCHER']._serialized_start=2401 - _globals['_MSGCLAIMVOUCHER']._serialized_end=2528 - _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=2530 - _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=2555 - _globals['_MSG']._serialized_start=2558 - _globals['_MSG']._serialized_end=3487 + _globals['_MSGUPDATENAMESPACE']._serialized_start=766 + _globals['_MSGUPDATENAMESPACE']._serialized_end=1418 + _globals['_MSGUPDATENAMESPACE_SETCONTRACTHOOK']._serialized_start=1324 + _globals['_MSGUPDATENAMESPACE_SETCONTRACTHOOK']._serialized_end=1370 + _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_start=1420 + _globals['_MSGUPDATENAMESPACERESPONSE']._serialized_end=1448 + _globals['_MSGUPDATEACTORROLES']._serialized_start=1451 + _globals['_MSGUPDATEACTORROLES']._serialized_end=1768 + _globals['_MSGUPDATEACTORROLESRESPONSE']._serialized_start=1770 + _globals['_MSGUPDATEACTORROLESRESPONSE']._serialized_end=1799 + _globals['_MSGCLAIMVOUCHER']._serialized_start=1801 + _globals['_MSGCLAIMVOUCHER']._serialized_end=1928 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_start=1930 + _globals['_MSGCLAIMVOUCHERRESPONSE']._serialized_end=1955 + _globals['_MSG']._serialized_start=1958 + _globals['_MSG']._serialized_end=2601 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py index dbfc052d..3971a305 100644 --- a/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/permissions/v1beta1/tx_pb2_grpc.py @@ -25,25 +25,15 @@ def __init__(self, channel): request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespace.SerializeToString, response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespaceResponse.FromString, _registered_method=True) - self.DeleteNamespace = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/DeleteNamespace', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.FromString, - _registered_method=True) self.UpdateNamespace = channel.unary_unary( '/injective.permissions.v1beta1.Msg/UpdateNamespace', request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespace.SerializeToString, response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceResponse.FromString, _registered_method=True) - self.UpdateNamespaceRoles = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/UpdateNamespaceRoles', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.FromString, - _registered_method=True) - self.RevokeNamespaceRoles = channel.unary_unary( - '/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles', - request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.SerializeToString, - response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.FromString, + self.UpdateActorRoles = channel.unary_unary( + '/injective.permissions.v1beta1.Msg/UpdateActorRoles', + request_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.SerializeToString, + response_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.FromString, _registered_method=True) self.ClaimVoucher = channel.unary_unary( '/injective.permissions.v1beta1.Msg/ClaimVoucher', @@ -68,25 +58,13 @@ def CreateNamespace(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def DeleteNamespace(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - def UpdateNamespace(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') - def UpdateNamespaceRoles(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def RevokeNamespaceRoles(self, request, context): + def UpdateActorRoles(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) context.set_details('Method not implemented!') @@ -111,25 +89,15 @@ def add_MsgServicer_to_server(servicer, server): request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespace.FromString, response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgCreateNamespaceResponse.SerializeToString, ), - 'DeleteNamespace': grpc.unary_unary_rpc_method_handler( - servicer.DeleteNamespace, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.SerializeToString, - ), 'UpdateNamespace': grpc.unary_unary_rpc_method_handler( servicer.UpdateNamespace, request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespace.FromString, response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceResponse.SerializeToString, ), - 'UpdateNamespaceRoles': grpc.unary_unary_rpc_method_handler( - servicer.UpdateNamespaceRoles, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.SerializeToString, - ), - 'RevokeNamespaceRoles': grpc.unary_unary_rpc_method_handler( - servicer.RevokeNamespaceRoles, - request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.FromString, - response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.SerializeToString, + 'UpdateActorRoles': grpc.unary_unary_rpc_method_handler( + servicer.UpdateActorRoles, + request_deserializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.FromString, + response_serializer=injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.SerializeToString, ), 'ClaimVoucher': grpc.unary_unary_rpc_method_handler( servicer.ClaimVoucher, @@ -202,33 +170,6 @@ def CreateNamespace(request, metadata, _registered_method=True) - @staticmethod - def DeleteNamespace(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.permissions.v1beta1.Msg/DeleteNamespace', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespace.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgDeleteNamespaceResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - @staticmethod def UpdateNamespace(request, target, @@ -257,34 +198,7 @@ def UpdateNamespace(request, _registered_method=True) @staticmethod - def UpdateNamespaceRoles(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.permissions.v1beta1.Msg/UpdateNamespaceRoles', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRoles.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateNamespaceRolesResponse.FromString, - options, - channel_credentials, - insecure, - call_credentials, - compression, - wait_for_ready, - timeout, - metadata, - _registered_method=True) - - @staticmethod - def RevokeNamespaceRoles(request, + def UpdateActorRoles(request, target, options=(), channel_credentials=None, @@ -297,9 +211,9 @@ def RevokeNamespaceRoles(request, return grpc.experimental.unary_unary( request, target, - '/injective.permissions.v1beta1.Msg/RevokeNamespaceRoles', - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRoles.SerializeToString, - injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgRevokeNamespaceRolesResponse.FromString, + '/injective.permissions.v1beta1.Msg/UpdateActorRoles', + injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRoles.SerializeToString, + injective_dot_permissions_dot_v1beta1_dot_tx__pb2.MsgUpdateActorRolesResponse.FromString, options, channel_credentials, insecure, diff --git a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py index 380cce40..20d2bdd5 100644 --- a/pyinjective/proto/injective/stream/v1beta1/query_pb2.py +++ b/pyinjective/proto/injective/stream/v1beta1/query_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.exchange.v1beta1 import exchange_pb2 as injective_dot_exchange_dot_v1beta1_dot_exchange__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/stream/v1beta1/query.proto\x12\x18injective.stream.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\'injective/exchange/v1beta1/events.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\x8e\x08\n\rStreamRequest\x12\x64\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32,.injective.stream.v1beta1.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12v\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32\x32.injective.stream.v1beta1.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12Z\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x66\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12Z\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x66\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12\x65\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12q\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12Z\n\x10positions_filter\x18\t \x01(\x0b\x32).injective.stream.v1beta1.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\x61\n\x13oracle_price_filter\x18\n \x01(\x0b\x32+.injective.stream.v1beta1.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\"\xa1\x07\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12J\n\rbank_balances\x18\x03 \x03(\x0b\x32%.injective.stream.v1beta1.BankBalanceR\x0c\x62\x61nkBalances\x12]\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32,.injective.stream.v1beta1.SubaccountDepositsR\x12subaccountDeposits\x12\x44\n\x0bspot_trades\x18\x05 \x03(\x0b\x32#.injective.stream.v1beta1.SpotTradeR\nspotTrades\x12V\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32).injective.stream.v1beta1.DerivativeTradeR\x10\x64\x65rivativeTrades\x12J\n\x0bspot_orders\x18\x07 \x03(\x0b\x32).injective.stream.v1beta1.SpotOrderUpdateR\nspotOrders\x12\\\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32/.injective.stream.v1beta1.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12_\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x14spotOrderbookUpdates\x12k\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12@\n\tpositions\x18\x0b \x03(\x0b\x32\".injective.stream.v1beta1.PositionR\tpositions\x12J\n\roracle_prices\x18\x0c \x03(\x0b\x32%.injective.stream.v1beta1.OraclePriceR\x0coraclePrices\"f\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x41\n\torderbook\x18\x02 \x01(\x0b\x32#.injective.stream.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x88\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12M\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32+.injective.stream.v1beta1.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"n\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xc2\x01\n\x0fSpotOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective.stream.v1beta1.SpotOrderR\x05order\"p\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xce\x01\n\x15\x44\x65rivativeOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\x0cR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12?\n\x05order\x18\x04 \x01(\x0b\x32).injective.stream.v1beta1.DerivativeOrderR\x05order\"\x99\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x05order\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xc3\x03\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\x0cR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"\xdc\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x05 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32g\n\x06Stream\x12]\n\x06Stream\x12\'.injective.stream.v1beta1.StreamRequest\x1a(.injective.stream.v1beta1.StreamResponse0\x01\x42\xf2\x01\n\x1c\x63om.injective.stream.v1beta1B\nQueryProtoP\x01ZDgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types\xa2\x02\x03ISX\xaa\x02\x18Injective.Stream.V1beta1\xca\x02\x18Injective\\Stream\\V1beta1\xe2\x02$Injective\\Stream\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Stream::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$injective/stream/v1beta1/query.proto\x12\x18injective.stream.v1beta1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x14gogoproto/gogo.proto\x1a\'injective/exchange/v1beta1/events.proto\x1a)injective/exchange/v1beta1/exchange.proto\"\x8e\x08\n\rStreamRequest\x12\x64\n\x14\x62\x61nk_balances_filter\x18\x01 \x01(\x0b\x32,.injective.stream.v1beta1.BankBalancesFilterB\x04\xc8\xde\x1f\x01R\x12\x62\x61nkBalancesFilter\x12v\n\x1asubaccount_deposits_filter\x18\x02 \x01(\x0b\x32\x32.injective.stream.v1beta1.SubaccountDepositsFilterB\x04\xc8\xde\x1f\x01R\x18subaccountDepositsFilter\x12Z\n\x12spot_trades_filter\x18\x03 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x10spotTradesFilter\x12\x66\n\x18\x64\x65rivative_trades_filter\x18\x04 \x01(\x0b\x32&.injective.stream.v1beta1.TradesFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeTradesFilter\x12Z\n\x12spot_orders_filter\x18\x05 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x10spotOrdersFilter\x12\x66\n\x18\x64\x65rivative_orders_filter\x18\x06 \x01(\x0b\x32&.injective.stream.v1beta1.OrdersFilterB\x04\xc8\xde\x1f\x01R\x16\x64\x65rivativeOrdersFilter\x12\x65\n\x16spot_orderbooks_filter\x18\x07 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x14spotOrderbooksFilter\x12q\n\x1c\x64\x65rivative_orderbooks_filter\x18\x08 \x01(\x0b\x32).injective.stream.v1beta1.OrderbookFilterB\x04\xc8\xde\x1f\x01R\x1a\x64\x65rivativeOrderbooksFilter\x12Z\n\x10positions_filter\x18\t \x01(\x0b\x32).injective.stream.v1beta1.PositionsFilterB\x04\xc8\xde\x1f\x01R\x0fpositionsFilter\x12\x61\n\x13oracle_price_filter\x18\n \x01(\x0b\x32+.injective.stream.v1beta1.OraclePriceFilterB\x04\xc8\xde\x1f\x01R\x11oraclePriceFilter\"\xa1\x07\n\x0eStreamResponse\x12!\n\x0c\x62lock_height\x18\x01 \x01(\x04R\x0b\x62lockHeight\x12\x1d\n\nblock_time\x18\x02 \x01(\x03R\tblockTime\x12J\n\rbank_balances\x18\x03 \x03(\x0b\x32%.injective.stream.v1beta1.BankBalanceR\x0c\x62\x61nkBalances\x12]\n\x13subaccount_deposits\x18\x04 \x03(\x0b\x32,.injective.stream.v1beta1.SubaccountDepositsR\x12subaccountDeposits\x12\x44\n\x0bspot_trades\x18\x05 \x03(\x0b\x32#.injective.stream.v1beta1.SpotTradeR\nspotTrades\x12V\n\x11\x64\x65rivative_trades\x18\x06 \x03(\x0b\x32).injective.stream.v1beta1.DerivativeTradeR\x10\x64\x65rivativeTrades\x12J\n\x0bspot_orders\x18\x07 \x03(\x0b\x32).injective.stream.v1beta1.SpotOrderUpdateR\nspotOrders\x12\\\n\x11\x64\x65rivative_orders\x18\x08 \x03(\x0b\x32/.injective.stream.v1beta1.DerivativeOrderUpdateR\x10\x64\x65rivativeOrders\x12_\n\x16spot_orderbook_updates\x18\t \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x14spotOrderbookUpdates\x12k\n\x1c\x64\x65rivative_orderbook_updates\x18\n \x03(\x0b\x32).injective.stream.v1beta1.OrderbookUpdateR\x1a\x64\x65rivativeOrderbookUpdates\x12@\n\tpositions\x18\x0b \x03(\x0b\x32\".injective.stream.v1beta1.PositionR\tpositions\x12J\n\roracle_prices\x18\x0c \x03(\x0b\x32%.injective.stream.v1beta1.OraclePriceR\x0coraclePrices\"f\n\x0fOrderbookUpdate\x12\x10\n\x03seq\x18\x01 \x01(\x04R\x03seq\x12\x41\n\torderbook\x18\x02 \x01(\x0b\x32#.injective.stream.v1beta1.OrderbookR\torderbook\"\xae\x01\n\tOrderbook\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12@\n\nbuy_levels\x18\x02 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\tbuyLevels\x12\x42\n\x0bsell_levels\x18\x03 \x03(\x0b\x32!.injective.exchange.v1beta1.LevelR\nsellLevels\"\x90\x01\n\x0b\x42\x61nkBalance\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12g\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32\x19.cosmos.base.v1beta1.CoinB0\xc8\xde\x1f\x00\xaa\xdf\x1f(github.com/cosmos/cosmos-sdk/types.CoinsR\x08\x62\x61lances\"\x88\x01\n\x12SubaccountDeposits\x12#\n\rsubaccount_id\x18\x01 \x01(\tR\x0csubaccountId\x12M\n\x08\x64\x65posits\x18\x02 \x03(\x0b\x32+.injective.stream.v1beta1.SubaccountDepositB\x04\xc8\xde\x1f\x00R\x08\x64\x65posits\"n\n\x11SubaccountDeposit\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12\x43\n\x07\x64\x65posit\x18\x02 \x01(\x0b\x32#.injective.exchange.v1beta1.DepositB\x04\xc8\xde\x1f\x00R\x07\x64\x65posit\"\xc2\x01\n\x0fSpotOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12\x39\n\x05order\x18\x04 \x01(\x0b\x32#.injective.stream.v1beta1.SpotOrderR\x05order\"p\n\tSpotOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x46\n\x05order\x18\x02 \x01(\x0b\x32*.injective.exchange.v1beta1.SpotLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\"\xce\x01\n\x15\x44\x65rivativeOrderUpdate\x12\x43\n\x06status\x18\x01 \x01(\x0e\x32+.injective.stream.v1beta1.OrderUpdateStatusR\x06status\x12\x1d\n\norder_hash\x18\x02 \x01(\tR\torderHash\x12\x10\n\x03\x63id\x18\x03 \x01(\tR\x03\x63id\x12?\n\x05order\x18\x04 \x01(\x0b\x32).injective.stream.v1beta1.DerivativeOrderR\x05order\"\x99\x01\n\x0f\x44\x65rivativeOrder\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12L\n\x05order\x18\x02 \x01(\x0b\x32\x30.injective.exchange.v1beta1.DerivativeLimitOrderB\x04\xc8\xde\x1f\x00R\x05order\x12\x1b\n\tis_market\x18\x03 \x01(\x08R\x08isMarket\"\x87\x03\n\x08Position\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12#\n\rsubaccount_id\x18\x02 \x01(\tR\x0csubaccountId\x12\x16\n\x06isLong\x18\x03 \x01(\x08R\x06isLong\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x44\n\x0b\x65ntry_price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\nentryPrice\x12;\n\x06margin\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06margin\x12]\n\x18\x63umulative_funding_entry\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x16\x63umulativeFundingEntry\"t\n\x0bOraclePrice\x12\x16\n\x06symbol\x18\x01 \x01(\tR\x06symbol\x12\x39\n\x05price\x18\x02 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\"\xc3\x03\n\tSpotTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12?\n\x08quantity\x18\x04 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x08quantity\x12\x39\n\x05price\x18\x05 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x05price\x12#\n\rsubaccount_id\x18\x06 \x01(\tR\x0csubaccountId\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"\xdc\x03\n\x0f\x44\x65rivativeTrade\x12\x1b\n\tmarket_id\x18\x01 \x01(\tR\x08marketId\x12\x15\n\x06is_buy\x18\x02 \x01(\x08R\x05isBuy\x12$\n\rexecutionType\x18\x03 \x01(\tR\rexecutionType\x12#\n\rsubaccount_id\x18\x04 \x01(\tR\x0csubaccountId\x12P\n\x0eposition_delta\x18\x05 \x01(\x0b\x32).injective.exchange.v1beta1.PositionDeltaR\rpositionDelta\x12;\n\x06payout\x18\x06 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x06payout\x12\x35\n\x03\x66\x65\x65\x18\x07 \x01(\tB#\xc8\xde\x1f\x00\xda\xde\x1f\x1b\x63osmossdk.io/math.LegacyDecR\x03\x66\x65\x65\x12\x1d\n\norder_hash\x18\x08 \x01(\tR\torderHash\x12\x38\n\x15\x66\x65\x65_recipient_address\x18\t \x01(\tB\x04\xc8\xde\x1f\x01R\x13\x66\x65\x65RecipientAddress\x12\x10\n\x03\x63id\x18\n \x01(\tR\x03\x63id\x12\x19\n\x08trade_id\x18\x0b \x01(\tR\x07tradeId\"T\n\x0cTradesFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"W\n\x0fPositionsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"T\n\x0cOrdersFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\x12\x1d\n\nmarket_ids\x18\x02 \x03(\tR\tmarketIds\"0\n\x0fOrderbookFilter\x12\x1d\n\nmarket_ids\x18\x01 \x03(\tR\tmarketIds\"0\n\x12\x42\x61nkBalancesFilter\x12\x1a\n\x08\x61\x63\x63ounts\x18\x01 \x03(\tR\x08\x61\x63\x63ounts\"A\n\x18SubaccountDepositsFilter\x12%\n\x0esubaccount_ids\x18\x01 \x03(\tR\rsubaccountIds\"+\n\x11OraclePriceFilter\x12\x16\n\x06symbol\x18\x01 \x03(\tR\x06symbol*L\n\x11OrderUpdateStatus\x12\x0f\n\x0bUnspecified\x10\x00\x12\n\n\x06\x42ooked\x10\x01\x12\x0b\n\x07Matched\x10\x02\x12\r\n\tCancelled\x10\x03\x32g\n\x06Stream\x12]\n\x06Stream\x12\'.injective.stream.v1beta1.StreamRequest\x1a(.injective.stream.v1beta1.StreamResponse0\x01\x42\xf2\x01\n\x1c\x63om.injective.stream.v1beta1B\nQueryProtoP\x01ZDgithub.com/InjectiveLabs/injective-core/injective-chain/stream/types\xa2\x02\x03ISX\xaa\x02\x18Injective.Stream.V1beta1\xca\x02\x18Injective\\Stream\\V1beta1\xe2\x02$Injective\\Stream\\V1beta1\\GPBMetadata\xea\x02\x1aInjective::Stream::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py index 00205780..3e40fb08 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/authorityMetadata_pb2.py @@ -16,7 +16,7 @@ from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6injective/tokenfactory/v1beta1/authorityMetadata.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"F\n\x16\x44\x65nomAuthorityMetadata\x12&\n\x05\x61\x64min\x18\x01 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"admin\"R\x05\x61\x64min:\x04\xe8\xa0\x1f\x01\x42\xaa\x02\n\"com.injective.tokenfactory.v1beta1B\x16\x41uthorityMetadataProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6injective/tokenfactory/v1beta1/authorityMetadata.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\"\x93\x01\n\x16\x44\x65nomAuthorityMetadata\x12&\n\x05\x61\x64min\x18\x01 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"admin\"R\x05\x61\x64min\x12K\n\x12\x61\x64min_burn_allowed\x18\x02 \x01(\x08\x42\x1d\xf2\xde\x1f\x19yaml:\"admin_burn_allowed\"R\x10\x61\x64minBurnAllowed:\x04\xe8\xa0\x1f\x01\x42\xaa\x02\n\"com.injective.tokenfactory.v1beta1B\x16\x41uthorityMetadataProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,8 +26,10 @@ _globals['DESCRIPTOR']._serialized_options = b'\n\"com.injective.tokenfactory.v1beta1B\026AuthorityMetadataProtoP\001ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\242\002\003ITX\252\002\036Injective.Tokenfactory.V1beta1\312\002\036Injective\\Tokenfactory\\V1beta1\342\002*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\352\002 Injective::Tokenfactory::V1beta1' _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin']._loaded_options = None _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin']._serialized_options = b'\362\336\037\014yaml:\"admin\"' + _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin_burn_allowed']._loaded_options = None + _globals['_DENOMAUTHORITYMETADATA'].fields_by_name['admin_burn_allowed']._serialized_options = b'\362\336\037\031yaml:\"admin_burn_allowed\"' _globals['_DENOMAUTHORITYMETADATA']._loaded_options = None _globals['_DENOMAUTHORITYMETADATA']._serialized_options = b'\350\240\037\001' - _globals['_DENOMAUTHORITYMETADATA']._serialized_start=144 - _globals['_DENOMAUTHORITYMETADATA']._serialized_end=214 + _globals['_DENOMAUTHORITYMETADATA']._serialized_start=145 + _globals['_DENOMAUTHORITYMETADATA']._serialized_end=292 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py index 8ef8bf5c..b963d0e1 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/events_pb2.py @@ -18,7 +18,7 @@ from pyinjective.proto.injective.tokenfactory.v1beta1 import authorityMetadata_pb2 as injective_dot_tokenfactory_dot_v1beta1_dot_authorityMetadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/tokenfactory/v1beta1/events.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x36injective/tokenfactory/v1beta1/authorityMetadata.proto\"D\n\x12\x45ventCreateTFDenom\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"x\n\x10\x45ventMintTFDenom\x12+\n\x11recipient_address\x18\x01 \x01(\tR\x10recipientAddress\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"p\n\x0e\x45ventBurnDenom\x12%\n\x0e\x62urner_address\x18\x01 \x01(\tR\rburnerAddress\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\"V\n\x12\x45ventChangeTFAdmin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12*\n\x11new_admin_address\x18\x02 \x01(\tR\x0fnewAdminAddress\"p\n\x17\x45ventSetTFDenomMetadata\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x04\xc8\xde\x1f\x00R\x08metadataB\x9f\x02\n\"com.injective.tokenfactory.v1beta1B\x0b\x45ventsProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+injective/tokenfactory/v1beta1/events.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x36injective/tokenfactory/v1beta1/authorityMetadata.proto\"B\n\x10\x45ventCreateDenom\x12\x18\n\x07\x61\x63\x63ount\x18\x01 \x01(\tR\x07\x61\x63\x63ount\x12\x14\n\x05\x64\x65nom\x18\x02 \x01(\tR\x05\x64\x65nom\"x\n\tEventMint\x12\x16\n\x06minter\x18\x01 \x01(\tR\x06minter\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12\x1a\n\x08receiver\x18\x03 \x01(\tR\x08receiver\"y\n\tEventBurn\x12\x16\n\x06\x62urner\x18\x01 \x01(\tR\x06\x62urner\x12\x37\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00R\x06\x61mount\x12\x1b\n\tburn_from\x18\x03 \x01(\tR\x08\x62urnFrom\"T\n\x10\x45ventChangeAdmin\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12*\n\x11new_admin_address\x18\x02 \x01(\tR\x0fnewAdminAddress\"n\n\x15\x45ventSetDenomMetadata\x12\x14\n\x05\x64\x65nom\x18\x01 \x01(\tR\x05\x64\x65nom\x12?\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x04\xc8\xde\x1f\x00R\x08metadataB\x9f\x02\n\"com.injective.tokenfactory.v1beta1B\x0b\x45ventsProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -26,20 +26,20 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\"com.injective.tokenfactory.v1beta1B\013EventsProtoP\001ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\242\002\003ITX\252\002\036Injective.Tokenfactory.V1beta1\312\002\036Injective\\Tokenfactory\\V1beta1\342\002*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\352\002 Injective::Tokenfactory::V1beta1' - _globals['_EVENTMINTTFDENOM'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTMINTTFDENOM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTBURNDENOM'].fields_by_name['amount']._loaded_options = None - _globals['_EVENTBURNDENOM'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' - _globals['_EVENTSETTFDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None - _globals['_EVENTSETTFDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' - _globals['_EVENTCREATETFDENOM']._serialized_start=221 - _globals['_EVENTCREATETFDENOM']._serialized_end=289 - _globals['_EVENTMINTTFDENOM']._serialized_start=291 - _globals['_EVENTMINTTFDENOM']._serialized_end=411 - _globals['_EVENTBURNDENOM']._serialized_start=413 - _globals['_EVENTBURNDENOM']._serialized_end=525 - _globals['_EVENTCHANGETFADMIN']._serialized_start=527 - _globals['_EVENTCHANGETFADMIN']._serialized_end=613 - _globals['_EVENTSETTFDENOMMETADATA']._serialized_start=615 - _globals['_EVENTSETTFDENOMMETADATA']._serialized_end=727 + _globals['_EVENTMINT'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTMINT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTBURN'].fields_by_name['amount']._loaded_options = None + _globals['_EVENTBURN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000' + _globals['_EVENTSETDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None + _globals['_EVENTSETDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000' + _globals['_EVENTCREATEDENOM']._serialized_start=221 + _globals['_EVENTCREATEDENOM']._serialized_end=287 + _globals['_EVENTMINT']._serialized_start=289 + _globals['_EVENTMINT']._serialized_end=409 + _globals['_EVENTBURN']._serialized_start=411 + _globals['_EVENTBURN']._serialized_end=532 + _globals['_EVENTCHANGEADMIN']._serialized_start=534 + _globals['_EVENTCHANGEADMIN']._serialized_end=618 + _globals['_EVENTSETDENOMMETADATA']._serialized_start=620 + _globals['_EVENTSETDENOMMETADATA']._serialized_end=730 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py index ebcba559..2d643d4f 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2.py @@ -21,7 +21,7 @@ from pyinjective.proto.amino import amino_pb2 as amino_dot_amino__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/tokenfactory/v1beta1/tx.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/tokenfactory/v1beta1/params.proto\x1a\x11\x61mino/amino.proto\"\xa2\x02\n\x0eMsgCreateDenom\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12/\n\x08subdenom\x18\x02 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"subdenom\"R\x08subdenom\x12#\n\x04name\x18\x03 \x01(\tB\x0f\xf2\xde\x1f\x0byaml:\"name\"R\x04name\x12)\n\x06symbol\x18\x04 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"symbol\"R\x06symbol\x12/\n\x08\x64\x65\x63imals\x18\x05 \x01(\rB\x13\xf2\xde\x1f\x0fyaml:\"decimals\"R\x08\x64\x65\x63imals:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/create-denom\"\\\n\x16MsgCreateDenomResponse\x12\x42\n\x0fnew_token_denom\x18\x01 \x01(\tB\x1a\xf2\xde\x1f\x16yaml:\"new_token_denom\"R\rnewTokenDenom\"\xab\x01\n\x07MsgMint\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/mint\"\x11\n\x0fMsgMintResponse\"\xab\x01\n\x07MsgBurn\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/burn\"\x11\n\x0fMsgBurnResponse\"\xcb\x01\n\x0eMsgChangeAdmin\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12&\n\x05\x64\x65nom\x18\x02 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"denom\"R\x05\x64\x65nom\x12\x31\n\tnew_admin\x18\x03 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"new_admin\"R\x08newAdmin:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/change-admin\"\x18\n\x16MsgChangeAdminResponse\"\xcf\x01\n\x13MsgSetDenomMetadata\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x17\xc8\xde\x1f\x00\xf2\xde\x1f\x0fyaml:\"metadata\"R\x08metadata:9\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)injective/tokenfactory/set-denom-metadata\"\x1d\n\x1bMsgSetDenomMetadataResponse\"\xc8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x44\n\x06params\x18\x02 \x01(\x0b\x32&.injective.tokenfactory.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$injective/tokenfactory/update-params\"\x19\n\x17MsgUpdateParamsResponse2\xbf\x05\n\x03Msg\x12u\n\x0b\x43reateDenom\x12..injective.tokenfactory.v1beta1.MsgCreateDenom\x1a\x36.injective.tokenfactory.v1beta1.MsgCreateDenomResponse\x12`\n\x04Mint\x12\'.injective.tokenfactory.v1beta1.MsgMint\x1a/.injective.tokenfactory.v1beta1.MsgMintResponse\x12`\n\x04\x42urn\x12\'.injective.tokenfactory.v1beta1.MsgBurn\x1a/.injective.tokenfactory.v1beta1.MsgBurnResponse\x12u\n\x0b\x43hangeAdmin\x12..injective.tokenfactory.v1beta1.MsgChangeAdmin\x1a\x36.injective.tokenfactory.v1beta1.MsgChangeAdminResponse\x12\x84\x01\n\x10SetDenomMetadata\x12\x33.injective.tokenfactory.v1beta1.MsgSetDenomMetadata\x1a;.injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse\x12x\n\x0cUpdateParams\x12/.injective.tokenfactory.v1beta1.MsgUpdateParams\x1a\x37.injective.tokenfactory.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x9b\x02\n\"com.injective.tokenfactory.v1beta1B\x07TxProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'injective/tokenfactory/v1beta1/tx.proto\x12\x1einjective.tokenfactory.v1beta1\x1a\x14gogoproto/gogo.proto\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x1e\x63osmos/bank/v1beta1/bank.proto\x1a\x17\x63osmos/msg/v1/msg.proto\x1a\x19\x63osmos_proto/cosmos.proto\x1a+injective/tokenfactory/v1beta1/params.proto\x1a\x11\x61mino/amino.proto\"\xe9\x02\n\x0eMsgCreateDenom\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12/\n\x08subdenom\x18\x02 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"subdenom\"R\x08subdenom\x12#\n\x04name\x18\x03 \x01(\tB\x0f\xf2\xde\x1f\x0byaml:\"name\"R\x04name\x12)\n\x06symbol\x18\x04 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"symbol\"R\x06symbol\x12/\n\x08\x64\x65\x63imals\x18\x05 \x01(\rB\x13\xf2\xde\x1f\x0fyaml:\"decimals\"R\x08\x64\x65\x63imals\x12\x45\n\x10\x61llow_admin_burn\x18\x06 \x01(\x08\x42\x1b\xf2\xde\x1f\x17yaml:\"allow_admin_burn\"R\x0e\x61llowAdminBurn:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/create-denom\"\\\n\x16MsgCreateDenomResponse\x12\x42\n\x0fnew_token_denom\x18\x01 \x01(\tB\x1a\xf2\xde\x1f\x16yaml:\"new_token_denom\"R\rnewTokenDenom\"\xdc\x01\n\x07MsgMint\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount\x12/\n\x08receiver\x18\x03 \x01(\tB\x13\xf2\xde\x1f\x0fyaml:\"receiver\"R\x08receiver:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/mint\"\x11\n\x0fMsgMintResponse\"\xf8\x01\n\x07MsgBurn\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12H\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x15\xc8\xde\x1f\x00\xf2\xde\x1f\ryaml:\"amount\"R\x06\x61mount\x12K\n\x0f\x62urnFromAddress\x18\x03 \x01(\tB!\xf2\xde\x1f\x18yaml:\"burn_from_address\"\xa8\xe7\xb0*\x01R\x0f\x62urnFromAddress:+\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*\x1binjective/tokenfactory/burn\"\x11\n\x0fMsgBurnResponse\"\xcb\x01\n\x0eMsgChangeAdmin\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12&\n\x05\x64\x65nom\x18\x02 \x01(\tB\x10\xf2\xde\x1f\x0cyaml:\"denom\"R\x05\x64\x65nom\x12\x31\n\tnew_admin\x18\x03 \x01(\tB\x14\xf2\xde\x1f\x10yaml:\"new_admin\"R\x08newAdmin:3\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*#injective/tokenfactory/change-admin\"\x18\n\x16MsgChangeAdminResponse\"\xbe\x03\n\x13MsgSetDenomMetadata\x12)\n\x06sender\x18\x01 \x01(\tB\x11\xf2\xde\x1f\ryaml:\"sender\"R\x06sender\x12R\n\x08metadata\x18\x02 \x01(\x0b\x32\x1d.cosmos.bank.v1beta1.MetadataB\x17\xc8\xde\x1f\x00\xf2\xde\x1f\x0fyaml:\"metadata\"R\x08metadata\x12\x95\x01\n\x13\x61\x64min_burn_disabled\x18\x03 \x01(\x0b\x32\x45.injective.tokenfactory.v1beta1.MsgSetDenomMetadata.AdminBurnDisabledB\x1e\xf2\xde\x1f\x1ayaml:\"admin_burn_disabled\"R\x11\x61\x64minBurnDisabled\x1aU\n\x11\x41\x64minBurnDisabled\x12@\n\x0eshould_disable\x18\x01 \x01(\x08\x42\x19\xf2\xde\x1f\x15yaml:\"should_disable\"R\rshouldDisable:9\x82\xe7\xb0*\x06sender\x8a\xe7\xb0*)injective/tokenfactory/set-denom-metadata\"\x1d\n\x1bMsgSetDenomMetadataResponse\"\xc8\x01\n\x0fMsgUpdateParams\x12\x36\n\tauthority\x18\x01 \x01(\tB\x18\xd2\xb4-\x14\x63osmos.AddressStringR\tauthority\x12\x44\n\x06params\x18\x02 \x01(\x0b\x32&.injective.tokenfactory.v1beta1.ParamsB\x04\xc8\xde\x1f\x00R\x06params:7\x82\xe7\xb0*\tauthority\x8a\xe7\xb0*$injective/tokenfactory/update-params\"\x19\n\x17MsgUpdateParamsResponse2\xbf\x05\n\x03Msg\x12u\n\x0b\x43reateDenom\x12..injective.tokenfactory.v1beta1.MsgCreateDenom\x1a\x36.injective.tokenfactory.v1beta1.MsgCreateDenomResponse\x12`\n\x04Mint\x12\'.injective.tokenfactory.v1beta1.MsgMint\x1a/.injective.tokenfactory.v1beta1.MsgMintResponse\x12`\n\x04\x42urn\x12\'.injective.tokenfactory.v1beta1.MsgBurn\x1a/.injective.tokenfactory.v1beta1.MsgBurnResponse\x12u\n\x0b\x43hangeAdmin\x12..injective.tokenfactory.v1beta1.MsgChangeAdmin\x1a\x36.injective.tokenfactory.v1beta1.MsgChangeAdminResponse\x12\x84\x01\n\x10SetDenomMetadata\x12\x33.injective.tokenfactory.v1beta1.MsgSetDenomMetadata\x1a;.injective.tokenfactory.v1beta1.MsgSetDenomMetadataResponse\x12x\n\x0cUpdateParams\x12/.injective.tokenfactory.v1beta1.MsgUpdateParams\x1a\x37.injective.tokenfactory.v1beta1.MsgUpdateParamsResponse\x1a\x05\x80\xe7\xb0*\x01\x42\x9b\x02\n\"com.injective.tokenfactory.v1beta1B\x07TxProtoP\x01ZRgithub.com/InjectiveLabs/injective-core/injective-chain/modules/tokenfactory/types\xa2\x02\x03ITX\xaa\x02\x1eInjective.Tokenfactory.V1beta1\xca\x02\x1eInjective\\Tokenfactory\\V1beta1\xe2\x02*Injective\\Tokenfactory\\V1beta1\\GPBMetadata\xea\x02 Injective::Tokenfactory::V1beta1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -39,6 +39,8 @@ _globals['_MSGCREATEDENOM'].fields_by_name['symbol']._serialized_options = b'\362\336\037\ryaml:\"symbol\"' _globals['_MSGCREATEDENOM'].fields_by_name['decimals']._loaded_options = None _globals['_MSGCREATEDENOM'].fields_by_name['decimals']._serialized_options = b'\362\336\037\017yaml:\"decimals\"' + _globals['_MSGCREATEDENOM'].fields_by_name['allow_admin_burn']._loaded_options = None + _globals['_MSGCREATEDENOM'].fields_by_name['allow_admin_burn']._serialized_options = b'\362\336\037\027yaml:\"allow_admin_burn\"' _globals['_MSGCREATEDENOM']._loaded_options = None _globals['_MSGCREATEDENOM']._serialized_options = b'\202\347\260*\006sender\212\347\260*#injective/tokenfactory/create-denom' _globals['_MSGCREATEDENOMRESPONSE'].fields_by_name['new_token_denom']._loaded_options = None @@ -47,12 +49,16 @@ _globals['_MSGMINT'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGMINT'].fields_by_name['amount']._loaded_options = None _globals['_MSGMINT'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\362\336\037\ryaml:\"amount\"' + _globals['_MSGMINT'].fields_by_name['receiver']._loaded_options = None + _globals['_MSGMINT'].fields_by_name['receiver']._serialized_options = b'\362\336\037\017yaml:\"receiver\"' _globals['_MSGMINT']._loaded_options = None _globals['_MSGMINT']._serialized_options = b'\202\347\260*\006sender\212\347\260*\033injective/tokenfactory/mint' _globals['_MSGBURN'].fields_by_name['sender']._loaded_options = None _globals['_MSGBURN'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGBURN'].fields_by_name['amount']._loaded_options = None _globals['_MSGBURN'].fields_by_name['amount']._serialized_options = b'\310\336\037\000\362\336\037\ryaml:\"amount\"' + _globals['_MSGBURN'].fields_by_name['burnFromAddress']._loaded_options = None + _globals['_MSGBURN'].fields_by_name['burnFromAddress']._serialized_options = b'\362\336\037\030yaml:\"burn_from_address\"\250\347\260*\001' _globals['_MSGBURN']._loaded_options = None _globals['_MSGBURN']._serialized_options = b'\202\347\260*\006sender\212\347\260*\033injective/tokenfactory/burn' _globals['_MSGCHANGEADMIN'].fields_by_name['sender']._loaded_options = None @@ -63,10 +69,14 @@ _globals['_MSGCHANGEADMIN'].fields_by_name['new_admin']._serialized_options = b'\362\336\037\020yaml:\"new_admin\"' _globals['_MSGCHANGEADMIN']._loaded_options = None _globals['_MSGCHANGEADMIN']._serialized_options = b'\202\347\260*\006sender\212\347\260*#injective/tokenfactory/change-admin' + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED'].fields_by_name['should_disable']._loaded_options = None + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED'].fields_by_name['should_disable']._serialized_options = b'\362\336\037\025yaml:\"should_disable\"' _globals['_MSGSETDENOMMETADATA'].fields_by_name['sender']._loaded_options = None _globals['_MSGSETDENOMMETADATA'].fields_by_name['sender']._serialized_options = b'\362\336\037\ryaml:\"sender\"' _globals['_MSGSETDENOMMETADATA'].fields_by_name['metadata']._loaded_options = None _globals['_MSGSETDENOMMETADATA'].fields_by_name['metadata']._serialized_options = b'\310\336\037\000\362\336\037\017yaml:\"metadata\"' + _globals['_MSGSETDENOMMETADATA'].fields_by_name['admin_burn_disabled']._loaded_options = None + _globals['_MSGSETDENOMMETADATA'].fields_by_name['admin_burn_disabled']._serialized_options = b'\362\336\037\032yaml:\"admin_burn_disabled\"' _globals['_MSGSETDENOMMETADATA']._loaded_options = None _globals['_MSGSETDENOMMETADATA']._serialized_options = b'\202\347\260*\006sender\212\347\260*)injective/tokenfactory/set-denom-metadata' _globals['_MSGUPDATEPARAMS'].fields_by_name['authority']._loaded_options = None @@ -78,29 +88,31 @@ _globals['_MSG']._loaded_options = None _globals['_MSG']._serialized_options = b'\200\347\260*\001' _globals['_MSGCREATEDENOM']._serialized_start=278 - _globals['_MSGCREATEDENOM']._serialized_end=568 - _globals['_MSGCREATEDENOMRESPONSE']._serialized_start=570 - _globals['_MSGCREATEDENOMRESPONSE']._serialized_end=662 - _globals['_MSGMINT']._serialized_start=665 - _globals['_MSGMINT']._serialized_end=836 - _globals['_MSGMINTRESPONSE']._serialized_start=838 - _globals['_MSGMINTRESPONSE']._serialized_end=855 - _globals['_MSGBURN']._serialized_start=858 - _globals['_MSGBURN']._serialized_end=1029 - _globals['_MSGBURNRESPONSE']._serialized_start=1031 - _globals['_MSGBURNRESPONSE']._serialized_end=1048 - _globals['_MSGCHANGEADMIN']._serialized_start=1051 - _globals['_MSGCHANGEADMIN']._serialized_end=1254 - _globals['_MSGCHANGEADMINRESPONSE']._serialized_start=1256 - _globals['_MSGCHANGEADMINRESPONSE']._serialized_end=1280 - _globals['_MSGSETDENOMMETADATA']._serialized_start=1283 - _globals['_MSGSETDENOMMETADATA']._serialized_end=1490 - _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_start=1492 - _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_end=1521 - _globals['_MSGUPDATEPARAMS']._serialized_start=1524 - _globals['_MSGUPDATEPARAMS']._serialized_end=1724 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=1726 - _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=1751 - _globals['_MSG']._serialized_start=1754 - _globals['_MSG']._serialized_end=2457 + _globals['_MSGCREATEDENOM']._serialized_end=639 + _globals['_MSGCREATEDENOMRESPONSE']._serialized_start=641 + _globals['_MSGCREATEDENOMRESPONSE']._serialized_end=733 + _globals['_MSGMINT']._serialized_start=736 + _globals['_MSGMINT']._serialized_end=956 + _globals['_MSGMINTRESPONSE']._serialized_start=958 + _globals['_MSGMINTRESPONSE']._serialized_end=975 + _globals['_MSGBURN']._serialized_start=978 + _globals['_MSGBURN']._serialized_end=1226 + _globals['_MSGBURNRESPONSE']._serialized_start=1228 + _globals['_MSGBURNRESPONSE']._serialized_end=1245 + _globals['_MSGCHANGEADMIN']._serialized_start=1248 + _globals['_MSGCHANGEADMIN']._serialized_end=1451 + _globals['_MSGCHANGEADMINRESPONSE']._serialized_start=1453 + _globals['_MSGCHANGEADMINRESPONSE']._serialized_end=1477 + _globals['_MSGSETDENOMMETADATA']._serialized_start=1480 + _globals['_MSGSETDENOMMETADATA']._serialized_end=1926 + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED']._serialized_start=1782 + _globals['_MSGSETDENOMMETADATA_ADMINBURNDISABLED']._serialized_end=1867 + _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_start=1928 + _globals['_MSGSETDENOMMETADATARESPONSE']._serialized_end=1957 + _globals['_MSGUPDATEPARAMS']._serialized_start=1960 + _globals['_MSGUPDATEPARAMS']._serialized_end=2160 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_start=2162 + _globals['_MSGUPDATEPARAMSRESPONSE']._serialized_end=2187 + _globals['_MSG']._serialized_start=2190 + _globals['_MSG']._serialized_end=2893 # @@protoc_insertion_point(module_scope) diff --git a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py index f96ee560..e7f49962 100644 --- a/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py +++ b/pyinjective/proto/injective/tokenfactory/v1beta1/tx_pb2_grpc.py @@ -6,7 +6,7 @@ class MsgStub(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ def __init__(self, channel): @@ -48,7 +48,7 @@ def __init__(self, channel): class MsgServicer(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ def CreateDenom(self, request, context): @@ -129,7 +129,7 @@ def add_MsgServicer_to_server(servicer, server): # This class is part of an EXPERIMENTAL API. class Msg(object): - """Msg defines the tokefactory module's gRPC message service. + """Msg defines the tokenfactory module's gRPC message service. """ @staticmethod diff --git a/tests/client/chain/grpc/configurable_permissions_query_servicer.py b/tests/client/chain/grpc/configurable_permissions_query_servicer.py index 54a54274..ba191fb7 100644 --- a/tests/client/chain/grpc/configurable_permissions_query_servicer.py +++ b/tests/client/chain/grpc/configurable_permissions_query_servicer.py @@ -10,32 +10,62 @@ class ConfigurablePermissionsQueryServicer(permissions_query_grpc.QueryServicer) def __init__(self): super().__init__() self.permissions_params = deque() - self.all_namespaces_responses = deque() - self.namespace_by_denom_responses = deque() - self.address_roles_responses = deque() - self.addresses_by_role_responses = deque() - self.vouchers_for_address_responses = deque() + self.namespace_denoms_responses = deque() + self.namespaces_responses = deque() + self.namespace_responses = deque() + self.roles_by_actor_responses = deque() + self.actors_by_role_responses = deque() + self.role_managers_responses = deque() + self.role_manager_responses = deque() + self.policy_statuses_responses = deque() + self.policy_manager_capabilities_responses = deque() + self.vouchers_responses = deque() + self.voucher_responses = deque() + self.module_state_responses = deque() async def Params(self, request: permissions_query_pb.QueryParamsRequest, context=None, metadata=None): return self.permissions_params.pop() - async def AllNamespaces(self, request: permissions_query_pb.QueryAllNamespacesRequest, context=None, metadata=None): - return self.all_namespaces_responses.pop() - - async def NamespaceByDenom( - self, request: permissions_query_pb.QueryNamespaceByDenomRequest, context=None, metadata=None + async def NamespaceDenoms( + self, request: permissions_query_pb.QueryNamespaceDenomsRequest, context=None, metadata=None ): - return self.namespace_by_denom_responses.pop() + return self.namespace_denoms_responses.pop() + + async def Namespaces(self, request: permissions_query_pb.QueryNamespaceDenomsRequest, context=None, metadata=None): + return self.namespaces_responses.pop() + + async def Namespace(self, request: permissions_query_pb.QueryNamespaceRequest, context=None, metadata=None): + return self.namespace_responses.pop() + + async def RolesByActor(self, request: permissions_query_pb.QueryRolesByActorRequest, context=None, metadata=None): + return self.roles_by_actor_responses.pop() + + async def ActorsByRole(self, request: permissions_query_pb.QueryActorsByRoleRequest, context=None, metadata=None): + return self.actors_by_role_responses.pop() - async def AddressRoles(self, request: permissions_query_pb.QueryAddressRolesRequest, context=None, metadata=None): - return self.address_roles_responses.pop() + async def RoleManagers(self, request: permissions_query_pb.QueryRoleManagersRequest, context=None, metadata=None): + return self.role_managers_responses.pop() - async def AddressesByRole( - self, request: permissions_query_pb.QueryAddressesByRoleRequest, context=None, metadata=None + async def RoleManager(self, request: permissions_query_pb.QueryRoleManagerRequest, context=None, metadata=None): + return self.role_manager_responses.pop() + + async def PolicyStatuses( + self, request: permissions_query_pb.QueryPolicyStatusesRequest, context=None, metadata=None + ): + return self.policy_statuses_responses.pop() + + async def PolicyManagerCapabilities( + self, request: permissions_query_pb.QueryPolicyManagerCapabilitiesRequest, context=None, metadata=None ): - return self.addresses_by_role_responses.pop() + return self.policy_manager_capabilities_responses.pop() + + async def Vouchers(self, request: permissions_query_pb.QueryVouchersRequest, context=None, metadata=None): + return self.vouchers_responses.pop() + + async def Voucher(self, request: permissions_query_pb.QueryVoucherRequest, context=None, metadata=None): + return self.voucher_responses.pop() - async def VouchersForAddress( - self, request: permissions_query_pb.QueryVouchersForAddressRequest, context=None, metadata=None + async def PermissionsModuleState( + self, request: permissions_query_pb.QueryModuleStateRequest, context=None, metadata=None ): - return self.vouchers_for_address_responses.pop() + return self.module_state_responses.pop() diff --git a/tests/client/chain/grpc/test_chain_grpc_auction_api.py b/tests/client/chain/grpc/test_chain_grpc_auction_api.py index 9de9c63a..0c6ef320 100644 --- a/tests/client/chain/grpc/test_chain_grpc_auction_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_auction_api.py @@ -23,13 +23,23 @@ async def test_fetch_module_params( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="1000000000000000000000", + ) auction_servicer.auction_params.append(auction_query_pb.QueryAuctionParamsResponse(params=params)) api = self._api_instance(servicer=auction_servicer) module_params = await api.fetch_module_params() - expected_params = {"params": {"auctionPeriod": "604800", "minNextBidIncrementRate": "2500000000000000"}} + expected_params = { + "params": { + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": params.inj_basket_max_cap, + } + } assert expected_params == module_params @@ -38,10 +48,15 @@ async def test_fetch_module_state( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="1000000000000000000000", + ) + bid_amount = coin_pb.Coin(amount="2347518723906280000", denom="inj") highest_bid = auction_pb.Bid( bidder="inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", - amount="\n\003inj\022\0232347518723906280000", + amount=bid_amount, ) state = genesis_pb.GenesisState( params=params, @@ -59,12 +74,16 @@ async def test_fetch_module_state( "auctionEndingTimestamp": "1687504387", "auctionRound": "50", "highestBid": { - "amount": "\n\x03inj\x12\x132347518723906280000", "bidder": "inj1pvt70tt7epjudnurkqlxu62flfgy46j2ytj7j5", + "amount": { + "amount": "2347518723906280000", + "denom": "inj", + }, }, "params": { - "auctionPeriod": "604800", - "minNextBidIncrementRate": "2500000000000000", + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": params.inj_basket_max_cap, }, } } @@ -76,7 +95,11 @@ async def test_fetch_module_state_when_no_highest_bid_present( self, auction_servicer, ): - params = auction_pb.Params(auction_period=604800, min_next_bid_increment_rate="2500000000000000") + params = auction_pb.Params( + auction_period=604800, + min_next_bid_increment_rate="2500000000000000", + inj_basket_max_cap="1000000000000000000000", + ) state = genesis_pb.GenesisState( params=params, auction_round=50, @@ -89,11 +112,12 @@ async def test_fetch_module_state_when_no_highest_bid_present( module_state = await api.fetch_module_state() expected_state = { "state": { - "auctionEndingTimestamp": "1687504387", - "auctionRound": "50", + "auctionEndingTimestamp": str(state.auction_ending_timestamp), + "auctionRound": str(state.auction_round), "params": { - "auctionPeriod": "604800", - "minNextBidIncrementRate": "2500000000000000", + "auctionPeriod": str(params.auction_period), + "minNextBidIncrementRate": params.min_next_bid_increment_rate, + "injBasketMaxCap": params.inj_basket_max_cap, }, } } diff --git a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py b/tests/client/chain/grpc/test_chain_grpc_exchange_api.py index 7ec81981..f5db75e7 100644 --- a/tests/client/chain/grpc/test_chain_grpc_exchange_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_exchange_api.py @@ -446,6 +446,8 @@ async def test_fetch_spot_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) exchange_servicer.spot_markets_responses.append( exchange_query_pb.QuerySpotMarketsResponse( @@ -476,6 +478,8 @@ async def test_fetch_spot_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, } ] } @@ -501,6 +505,8 @@ async def test_fetch_spot_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) exchange_servicer.spot_market_responses.append( exchange_query_pb.QuerySpotMarketResponse( @@ -528,6 +534,8 @@ async def test_fetch_spot_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, } } @@ -552,6 +560,8 @@ async def test_fetch_full_spot_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) mid_price_and_tob = exchange_pb.MidPriceAndTOB( mid_price="2000000000000000000", @@ -593,6 +603,8 @@ async def test_fetch_full_spot_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, }, "midPriceAndTob": { "midPrice": mid_price_and_tob.mid_price, @@ -624,6 +636,8 @@ async def test_fetch_full_spot_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) mid_price_and_tob = exchange_pb.MidPriceAndTOB( mid_price="2000000000000000000", @@ -663,6 +677,8 @@ async def test_fetch_full_spot_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "baseDecimals": market.base_decimals, + "quoteDecimals": market.quote_decimals, }, "midPriceAndTob": { "midPrice": mid_price_and_tob.mid_price, @@ -1234,6 +1250,7 @@ async def test_fetch_derivative_markets( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) market_info = exchange_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", @@ -1298,6 +1315,7 @@ async def test_fetch_derivative_markets( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, }, "perpetualInfo": { "marketInfo": { @@ -1350,6 +1368,7 @@ async def test_fetch_derivative_market( min_notional="5000000000000000000", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) market_info = exchange_pb.PerpetualMarketInfo( market_id="0x17ef48032cb24375ba7c2e39f384e56433bcab20cbee9a7357e4cba2eb00abe6", @@ -1412,6 +1431,7 @@ async def test_fetch_derivative_market( "minNotional": market.min_notional, "admin": market.admin, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, }, "perpetualInfo": { "marketInfo": { @@ -2323,6 +2343,7 @@ async def test_fetch_binary_options_markets( settlement_price="2000000000000000000", min_notional="5000000000000000000", admin_permissions=1, + quote_decimals=6, ) response = exchange_query_pb.QueryBinaryMarketsResponse( markets=[market], @@ -2354,6 +2375,7 @@ async def test_fetch_binary_options_markets( "settlementPrice": market.settlement_price, "minNotional": market.min_notional, "adminPermissions": market.admin_permissions, + "quoteDecimals": market.quote_decimals, }, ] } diff --git a/tests/client/chain/grpc/test_chain_grpc_permissions_api.py b/tests/client/chain/grpc/test_chain_grpc_permissions_api.py index 3913790c..0bcc63a6 100644 --- a/tests/client/chain/grpc/test_chain_grpc_permissions_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_permissions_api.py @@ -5,6 +5,7 @@ from pyinjective.core.network import DisabledCookieAssistant, Network from pyinjective.proto.cosmos.base.v1beta1 import coin_pb2 as coin_pb from pyinjective.proto.injective.permissions.v1beta1 import ( + genesis_pb2 as genesis_pb, params_pb2 as permissions_params_pb, permissions_pb2 as permissions_pb, query_pb2 as permissions_query_pb, @@ -40,52 +41,104 @@ async def test_fetch_module_params( assert module_params == expected_params @pytest.mark.asyncio - async def test_fetch_all_namespaces( + async def test_fetch_namespace_denoms( + self, + permissions_servicer, + ): + denom = "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5" + permissions_servicer.namespace_denoms_responses.append( + permissions_query_pb.QueryNamespaceDenomsResponse(denoms=[denom]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + all_denoms = await api.fetch_namespace_denoms() + expected_denoms = {"denoms": [denom]} + + assert all_denoms == expected_denoms + + @pytest.mark.asyncio + async def test_fetch_namespaces( self, permissions_servicer, ): role_permission = permissions_pb.Role( - role="role", + name="role1", + role_id=1, permissions=3, ) - address_roles = permissions_pb.AddressRoles( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", - roles=["role"], + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, ) namespace = permissions_pb.Namespace( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - wasm_hook="wasm_hook", - mints_paused=True, - sends_paused=False, - burns_paused=False, + contract_hook="wasm_hook", role_permissions=[role_permission], - address_roles=[address_roles], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], ) - permissions_servicer.all_namespaces_responses.append( - permissions_query_pb.QueryAllNamespacesResponse(namespaces=[namespace]) + permissions_servicer.namespaces_responses.append( + permissions_query_pb.QueryNamespacesResponse(namespaces=[namespace]) ) api = self._api_instance(servicer=permissions_servicer) - all_namespaces = await api.fetch_all_namespaces() + all_namespaces = await api.fetch_namespaces() expected_namespaces = { "namespaces": [ { "denom": namespace.denom, - "wasmHook": namespace.wasm_hook, - "mintsPaused": namespace.mints_paused, - "sendsPaused": namespace.sends_paused, - "burnsPaused": namespace.burns_paused, + "contractHook": namespace.contract_hook, "rolePermissions": [ { - "role": role_permission.role, + "name": role_permission.name, + "roleId": role_permission.role_id, "permissions": role_permission.permissions, } ], - "addressRoles": [ + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ { - "address": address_roles.address, - "roles": address_roles.roles, + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, } ], } @@ -95,121 +148,429 @@ async def test_fetch_all_namespaces( assert all_namespaces == expected_namespaces @pytest.mark.asyncio - async def test_fetch_namespace_by_denom( + async def test_fetch_namespace( self, permissions_servicer, ): role_permission = permissions_pb.Role( - role="role", + name="role1", + role_id=1, permissions=3, ) - address_roles = permissions_pb.AddressRoles( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", - roles=["role"], + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, ) namespace = permissions_pb.Namespace( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - wasm_hook="wasm_hook", - mints_paused=True, - sends_paused=False, - burns_paused=False, + contract_hook="wasm_hook", role_permissions=[role_permission], - address_roles=[address_roles], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], ) - permissions_servicer.namespace_by_denom_responses.append( - permissions_query_pb.QueryNamespaceByDenomResponse(namespace=namespace) + permissions_servicer.namespace_responses.append( + permissions_query_pb.QueryNamespaceResponse(namespace=namespace) ) api = self._api_instance(servicer=permissions_servicer) - namespace_result = await api.fetch_namespace_by_denom(denom=namespace.denom, include_roles=True) - expected_namespace = { + all_namespaces = await api.fetch_namespace(denom=namespace.denom) + expected_namespaces = { "namespace": { "denom": namespace.denom, - "wasmHook": namespace.wasm_hook, - "mintsPaused": namespace.mints_paused, - "sendsPaused": namespace.sends_paused, - "burnsPaused": namespace.burns_paused, + "contractHook": namespace.contract_hook, "rolePermissions": [ { - "role": role_permission.role, + "name": role_permission.name, + "roleId": role_permission.role_id, "permissions": role_permission.permissions, } ], - "addressRoles": [ + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ { - "address": address_roles.address, - "roles": address_roles.roles, + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, } ], } } - assert namespace_result == expected_namespace + assert all_namespaces == expected_namespaces @pytest.mark.asyncio - async def test_fetch_address_roles( + async def test_fetch_roles_by_actor( self, permissions_servicer, ): roles = ["role1", "role2"] - permissions_servicer.address_roles_responses.append(permissions_query_pb.QueryAddressRolesResponse(roles=roles)) + permissions_servicer.roles_by_actor_responses.append( + permissions_query_pb.QueryRolesByActorResponse(roles=roles) + ) api = self._api_instance(servicer=permissions_servicer) - address_roles = await api.fetch_address_roles( + roles_by_actor = await api.fetch_roles_by_actor( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + actor="actor", ) expected_roles = { "roles": roles, } - assert address_roles == expected_roles + assert roles_by_actor == expected_roles @pytest.mark.asyncio - async def test_fetch_addresses_by_role( + async def test_fetch_actors_by_role( self, permissions_servicer, ): - addresses = ["inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr"] - permissions_servicer.addresses_by_role_responses.append( - permissions_query_pb.QueryAddressesByRoleResponse(addresses=addresses) + actors = ["actor1", "actor2"] + permissions_servicer.actors_by_role_responses.append( + permissions_query_pb.QueryActorsByRoleResponse(actors=actors) ) api = self._api_instance(servicer=permissions_servicer) - addresses_response = await api.fetch_addresses_by_role( + actors_by_role = await api.fetch_actors_by_role( denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", role="role1", ) - expected_addresses = { - "addresses": addresses, + expected_actors = { + "actors": actors, } - assert addresses_response == expected_addresses + assert actors_by_role == expected_actors @pytest.mark.asyncio - async def test_fetch_vouchers_for_address( + async def test_fetch_role_managers( self, permissions_servicer, ): - coin = coin_pb.Coin(denom="inj", amount="988987297011197594664") + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + permissions_servicer.role_managers_responses.append( + permissions_query_pb.QueryRoleManagersResponse(role_managers=[role_manager]) + ) - permissions_servicer.vouchers_for_address_responses.append( - permissions_query_pb.QueryVouchersForAddressResponse(vouchers=[coin]) + api = self._api_instance(servicer=permissions_servicer) + + managers = await api.fetch_role_managers( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_managers = { + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + } + + assert managers == expected_managers + + @pytest.mark.asyncio + async def test_fetch_role_manager( + self, + permissions_servicer, + ): + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + permissions_servicer.role_manager_responses.append( + permissions_query_pb.QueryRoleManagerResponse(role_manager=role_manager) ) api = self._api_instance(servicer=permissions_servicer) - vouchers = await api.fetch_vouchers_for_address( - address="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", + managers = await api.fetch_role_manager( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", manager=role_manager.manager + ) + expected_managers = { + "roleManager": { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + } + + assert managers == expected_managers + + @pytest.mark.asyncio + async def test_fetch_policy_statuses( + self, + permissions_servicer, + ): + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=True, + ) + permissions_servicer.policy_statuses_responses.append( + permissions_query_pb.QueryPolicyStatusesResponse(policy_statuses=[policy_status]) + ) + + api = self._api_instance(servicer=permissions_servicer) + + statuses = await api.fetch_policy_statuses( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_statuses = { + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + } + + assert statuses == expected_statuses + + @pytest.mark.asyncio + async def test_fetch_policy_manager_capabilities( + self, + permissions_servicer, + ): + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, + ) + permissions_servicer.policy_manager_capabilities_responses.append( + permissions_query_pb.QueryPolicyManagerCapabilitiesResponse( + policy_manager_capabilities=[policy_manager_capability] + ) + ) + + api = self._api_instance(servicer=permissions_servicer) + + capabilities = await api.fetch_policy_manager_capabilities( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + ) + expected_capabilities = { + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + } + + assert capabilities == expected_capabilities + + @pytest.mark.asyncio + async def test_fetch_vouchers( + self, + permissions_servicer, + ): + voucher = permissions_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + permissions_servicer.vouchers_responses.append(permissions_query_pb.QueryVouchersResponse(vouchers=[voucher])) + + api = self._api_instance(servicer=permissions_servicer) + + all_vouchers = await api.fetch_vouchers( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", ) expected_vouchers = { - "vouchers": [{"denom": coin.denom, "amount": coin.amount}], + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } + + assert all_vouchers == expected_vouchers + + @pytest.mark.asyncio + async def test_fetch_voucher( + self, + permissions_servicer, + ): + voucher = coin_pb.Coin(denom="inj", amount="1000000000") + permissions_servicer.voucher_responses.append(permissions_query_pb.QueryVoucherResponse(voucher=voucher)) + + api = self._api_instance(servicer=permissions_servicer) + + fetched_voucher = await api.fetch_voucher( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + ) + expected_voucher = { + "voucher": { + "denom": voucher.denom, + "amount": voucher.amount, + }, + } + + assert fetched_voucher == expected_voucher + + @pytest.mark.asyncio + async def test_fetch_permissions_module_state( + self, + permissions_servicer, + ): + params = permissions_params_pb.Params( + wasm_hook_query_max_gas=1000000, + ) + role_permission = permissions_pb.Role( + name="role1", + role_id=1, + permissions=3, + ) + actor_role = permissions_pb.ActorRoles( + actor="actor", + roles=["role1"], + ) + role_manager = permissions_pb.RoleManager( + manager="manager", + roles=["role1"], + ) + policy_status = permissions_pb.PolicyStatus( + action=permissions_pb.Action.Value("MINT"), + is_disabled=False, + is_sealed=False, + ) + policy_manager_capability = permissions_pb.PolicyManagerCapability( + manager="manager", + action=permissions_pb.Action.Value("RECEIVE"), + can_disable=True, + can_seal=False, + ) + namespace = permissions_pb.Namespace( + denom="peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", + contract_hook="wasm_hook", + role_permissions=[role_permission], + actor_roles=[actor_role], + role_managers=[role_manager], + policy_statuses=[policy_status], + policy_manager_capabilities=[policy_manager_capability], + ) + voucher = permissions_pb.AddressVoucher( + address="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + voucher=coin_pb.Coin(denom="inj", amount="1000000000"), + ) + module_state = genesis_pb.GenesisState( + params=params, + namespaces=[namespace], + vouchers=[voucher], + ) + permissions_servicer.module_state_responses.append( + permissions_query_pb.QueryModuleStateResponse( + state=module_state, + ) + ) + + api = self._api_instance(servicer=permissions_servicer) + + fetched_module_state = await api.fetch_permissions_module_state() + expected_module_state = { + "state": { + "params": { + "wasmHookQueryMaxGas": str(params.wasm_hook_query_max_gas), + }, + "namespaces": [ + { + "denom": namespace.denom, + "contractHook": namespace.contract_hook, + "rolePermissions": [ + { + "name": role_permission.name, + "roleId": role_permission.role_id, + "permissions": role_permission.permissions, + } + ], + "actorRoles": [ + { + "actor": actor_role.actor, + "roles": actor_role.roles, + } + ], + "roleManagers": [ + { + "manager": role_manager.manager, + "roles": role_manager.roles, + } + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status.action), + "isDisabled": policy_status.is_disabled, + "isSealed": policy_status.is_sealed, + } + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability.manager, + "action": permissions_pb.Action.Name(policy_manager_capability.action), + "canDisable": policy_manager_capability.can_disable, + "canSeal": policy_manager_capability.can_seal, + } + ], + } + ], + "vouchers": [ + { + "address": voucher.address, + "voucher": { + "denom": voucher.voucher.denom, + "amount": voucher.voucher.amount, + }, + } + ], + } } - assert vouchers == expected_vouchers + assert fetched_module_state == expected_module_state def _api_instance(self, servicer): network = Network.devnet() diff --git a/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py b/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py index 71cfe72c..653b3162 100644 --- a/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py +++ b/tests/client/chain/grpc/test_chain_grpc_token_factory_api.py @@ -50,6 +50,7 @@ async def test_fetch_denom_authority_metadata( ): authority_metadata = token_factory_authority_metadata_pb.DenomAuthorityMetadata( admin="inj1ady3s7whq30l4fx8sj3x6muv5mx4dfdlcpv8n7", + admin_burn_allowed=True, ) token_factory_query_servicer.denom_authority_metadata_responses.append( token_factory_query_pb.QueryDenomAuthorityMetadataResponse( @@ -66,6 +67,7 @@ async def test_fetch_denom_authority_metadata( expected_metadata = { "authorityMetadata": { "admin": authority_metadata.admin, + "adminBurnAllowed": authority_metadata.admin_burn_allowed, }, } @@ -99,6 +101,7 @@ async def test_fetch_tokenfactory_module_state( ) authority_metadata = token_factory_authority_metadata_pb.DenomAuthorityMetadata( admin="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + admin_burn_allowed=True, ) genesis_denom = token_factory_genesis_pb.GenesisDenom( denom="factory/inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0/ninja", @@ -130,6 +133,7 @@ async def test_fetch_tokenfactory_module_state( "denom": genesis_denom.denom, "authorityMetadata": { "admin": authority_metadata.admin, + "adminBurnAllowed": authority_metadata.admin_burn_allowed, }, "name": genesis_denom.name, "symbol": genesis_denom.symbol, diff --git a/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py b/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py index 39513fdc..10db7088 100644 --- a/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py +++ b/tests/client/chain/stream_grpc/test_chain_grpc_chain_stream.py @@ -54,7 +54,7 @@ async def test_stream( price="18215000", subaccount_id="0x893f2abf8034627e50cbc63923120b1122503ce0000000000000000000000001", fee="76503000000000000000", - order_hash=b"\xaa\xb0Ju\xa3)@\xfe\xd58N\xba\xdfG\xfd\xd8}\xe4\r\xf4\xf8a\xd9\n\xa9\xd6x+V\x9b\x02&", + order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", fee_recipient_address="inj13ylj40uqx338u5xtccujxystzy39q08q2gz3dx", cid="HBOTSIJUT60b77b9c56f0456af96c5c6c0d8", trade_id=f"{block_height}_0", @@ -100,9 +100,7 @@ async def test_stream( ) spot_order_update = chain_stream_pb.SpotOrderUpdate( status="Booked", - order_hash=( - b"\xf9\xc7\xd8v8\x84-\x9b\x99s\xf5\xdfX\xc9\xf9V\x9a\xf7\xf9\xc3\xa1\x00h\t\xc17<\xd1k\x9d\x12\xed" - ), + order_hash="0x3870fbdd91f07d54425147b1bb96404f4f043ba6335b422a6d494d285b387f2d", cid="cid2", order=spot_order, ) @@ -128,7 +126,7 @@ async def test_stream( ) derivative_order_update = chain_stream_pb.DerivativeOrderUpdate( status="Booked", - order_hash=b"\x03\xc9\xf8G*Q-G%\xf1\xbcF3\xe89g\xbe\xeag\xd8Y\x7f\x87\x8a\xa5\xac\x8ew\x8a\x91\xa2F", + order_hash="0x14e43adbb3302db28bcd0619068227ebca880cdd66cdfc8b4a662bcac0777849", cid="cid3", order=derivative_order, ) @@ -251,7 +249,7 @@ async def test_stream( "price": spot_trade.price, "subaccountId": spot_trade.subaccount_id, "fee": spot_trade.fee, - "orderHash": base64.b64encode(spot_trade.order_hash).decode(), + "orderHash": spot_trade.order_hash, "feeRecipientAddress": spot_trade.fee_recipient_address, "cid": spot_trade.cid, "tradeId": spot_trade.trade_id, @@ -280,7 +278,7 @@ async def test_stream( "spotOrders": [ { "status": "Booked", - "orderHash": base64.b64encode(spot_order_update.order_hash).decode(), + "orderHash": spot_order_update.order_hash, "cid": spot_order_update.cid, "order": { "marketId": spot_order.market_id, @@ -303,7 +301,7 @@ async def test_stream( "derivativeOrders": [ { "status": "Booked", - "orderHash": base64.b64encode(derivative_order_update.order_hash).decode(), + "orderHash": derivative_order_update.order_hash, "cid": derivative_order_update.cid, "order": { "marketId": derivative_order.market_id, diff --git a/tests/rpc_fixtures/markets_fixtures.py b/tests/rpc_fixtures/markets_fixtures.py index 9aecaf56..68ddbea9 100644 --- a/tests/rpc_fixtures/markets_fixtures.py +++ b/tests/rpc_fixtures/markets_fixtures.py @@ -125,6 +125,8 @@ def ape_usdt_spot_market_meta(): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) return market @@ -148,6 +150,8 @@ def inj_usdt_spot_market_meta(inj_token_meta, usdt_token_meta): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + base_decimals=18, + quote_decimals=6, ) return market @@ -177,6 +181,7 @@ def btc_usdt_perp_market_meta(usdt_perp_token_meta): min_notional="5", admin="inj1knhahceyp57j5x7xh69p7utegnnnfgxavmahjr", admin_permissions=1, + quote_decimals=6, ) market_info = exchange_pb.PerpetualMarketInfo( market_id="0x4ca0f92fc28be0c9761326016b5a1a2177dd6375558365116b5bdda9abc229ce", @@ -233,6 +238,7 @@ def first_match_bet_market_meta(inj_usdt_spot_market_meta): settlement_price="1", min_notional="1", admin_permissions=1, + quote_decimals=6, ) return market diff --git a/tests/test_composer.py b/tests/test_composer.py index 9b7fa84a..16642c81 100644 --- a/tests/test_composer.py +++ b/tests/test_composer.py @@ -7,6 +7,7 @@ from pyinjective.composer import Composer from pyinjective.constant import ADDITIONAL_CHAIN_FORMAT_DECIMALS, INJ_DECIMALS from pyinjective.core.network import Network +from pyinjective.proto.injective.permissions.v1beta1 import permissions_pb2 as permissions_pb from tests.model_fixtures.markets_fixtures import ( # noqa: F401 btc_usdt_perp_market, first_match_bet_market, @@ -44,6 +45,7 @@ def test_msg_create_denom(self, basic_composer: Composer): name = "Injective Test" symbol = "INJTEST" decimals = 18 + allow_admin_burn = True message = basic_composer.msg_create_denom( sender=sender, @@ -51,6 +53,7 @@ def test_msg_create_denom(self, basic_composer: Composer): name=name, symbol=symbol, decimals=decimals, + allow_admin_burn=allow_admin_burn, ) expected_message = { @@ -59,6 +62,7 @@ def test_msg_create_denom(self, basic_composer: Composer): "name": name, "symbol": symbol, "decimals": decimals, + "allowAdminBurn": allow_admin_burn, } dict_message = json_format.MessageToDict( message=message, @@ -73,10 +77,12 @@ def test_msg_mint(self, basic_composer: Composer): amount=1_000_000, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", ) + receiver = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" message = basic_composer.msg_mint( sender=sender, amount=amount, + receiver=receiver, ) expected_message = { @@ -85,6 +91,7 @@ def test_msg_mint(self, basic_composer: Composer): "amount": str(amount.amount), "denom": amount.denom, }, + "receiver": receiver, } dict_message = json_format.MessageToDict( message=message, @@ -99,10 +106,12 @@ def test_msg_burn(self, basic_composer: Composer): amount=100, denom="factory/inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r/inj_test", ) + burn_from_address = "inj1hkhdaj2a2clmq5jq6mspsggqs32vynpk228q3r" message = basic_composer.msg_burn( sender=sender, amount=amount, + burn_from_address=burn_from_address, ) expected_message = { @@ -111,6 +120,7 @@ def test_msg_burn(self, basic_composer: Composer): "amount": str(amount.amount), "denom": amount.denom, }, + "burnFromAddress": burn_from_address, } dict_message = json_format.MessageToDict( message=message, @@ -293,6 +303,8 @@ def test_msg_instant_spot_market_launch(self, basic_composer): min_price_tick_size = Decimal("0.01") min_quantity_tick_size = Decimal("1") min_notional = Decimal("2") + base_decimals = 18 + quote_decimals = 6 base_token = basic_composer.tokens[base_denom] quote_token = basic_composer.tokens[quote_denom] @@ -313,6 +325,8 @@ def test_msg_instant_spot_market_launch(self, basic_composer): min_price_tick_size=min_price_tick_size, min_quantity_tick_size=min_quantity_tick_size, min_notional=min_notional, + base_decimals=base_decimals, + quote_decimals=quote_decimals, ) expected_message = { @@ -323,6 +337,8 @@ def test_msg_instant_spot_market_launch(self, basic_composer): "minPriceTickSize": f"{expected_min_price_tick_size.normalize():f}", "minQuantityTickSize": f"{expected_min_quantity_tick_size.normalize():f}", "minNotional": f"{expected_min_notional.normalize():f}", + "baseDecimals": base_decimals, + "quoteDecimals": quote_decimals, } dict_message = json_format.MessageToDict( message=message, @@ -1708,57 +1724,129 @@ def test_msg_ibc_transfer(self, basic_composer): def test_msg_create_namespace(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - wasmhook = "wasmhook" - mints_paused = True - sends_paused = False - burns_paused = True + contract_hook = "contrachook" permissions_role1 = basic_composer.permissions_role( - role="role1", - permissions=1, + name="role1", + role_id=1, + permissions=5, ) permissions_role2 = basic_composer.permissions_role( - role="role2", - permissions=2, + name="role2", + role_id=2, + permissions=6, ) - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + actor_roles1 = basic_composer.permissions_actor_roles( + actor="actor1", roles=["role1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + actor_roles2 = basic_composer.permissions_actor_roles( + actor="actor2", roles=["role2"], ) + role_manager1 = basic_composer.permissions_role_manager( + manager="manager1", + roles=["role1"], + ) + role_manager2 = basic_composer.permissions_role_manager( + manager="manager2", + roles=["role2"], + ) + policy_status1 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=True, + ) + policy_status2 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + is_disabled=True, + is_sealed=False, + ) + policy_manager_capability1 = basic_composer.permissions_policy_manager_capability( + manager="manager1", + action=basic_composer.PERMISSIONS_ACTION["MINT"], + can_disable=False, + can_seal=True, + ) + policy_manager_capability2 = basic_composer.permissions_policy_manager_capability( + manager="manager2", + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + can_disable=True, + can_seal=False, + ) message = basic_composer.msg_create_namespace( sender=sender, denom=denom, - wasm_hook=wasmhook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, + contract_hook=contract_hook, role_permissions=[permissions_role1, permissions_role2], - address_roles=[permissions_address_roles1, permissions_address_roles2], + actor_roles=[actor_roles1, actor_roles2], + role_managers=[role_manager1, role_manager2], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability1, policy_manager_capability2], ) expected_message = { "sender": sender, "namespace": { "denom": denom, - "wasmHook": wasmhook, - "mintsPaused": mints_paused, - "sendsPaused": sends_paused, - "burnsPaused": burns_paused, + "contractHook": contract_hook, "rolePermissions": [ - json_format.MessageToDict(message=permissions_role1, always_print_fields_with_no_presence=True), - json_format.MessageToDict(message=permissions_role2, always_print_fields_with_no_presence=True), + { + "name": permissions_role1.name, + "roleId": permissions_role1.role_id, + "permissions": permissions_role1.permissions, + }, + { + "name": permissions_role2.name, + "roleId": permissions_role2.role_id, + "permissions": permissions_role2.permissions, + }, + ], + "actorRoles": [ + { + "actor": actor_roles1.actor, + "roles": actor_roles1.roles, + }, + { + "actor": actor_roles2.actor, + "roles": actor_roles2.roles, + }, + ], + "roleManagers": [ + { + "manager": role_manager1.manager, + "roles": role_manager1.roles, + }, + { + "manager": role_manager2.manager, + "roles": role_manager2.roles, + }, + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status1.action), + "isDisabled": policy_status1.is_disabled, + "isSealed": policy_status1.is_sealed, + }, + { + "action": policy_status2.action, + "isDisabled": policy_status2.is_disabled, + "isSealed": policy_status2.is_sealed, + }, ], - "addressRoles": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability1.manager, + "action": permissions_pb.Action.Name(policy_manager_capability1.action), + "canDisable": policy_manager_capability1.can_disable, + "canSeal": policy_manager_capability1.can_seal, + }, + { + "manager": policy_manager_capability2.manager, + "action": policy_manager_capability2.action, + "canDisable": policy_manager_capability2.can_disable, + "canSeal": policy_manager_capability2.can_seal, + }, ], }, } @@ -1769,99 +1857,114 @@ def test_msg_create_namespace(self, basic_composer): ) assert dict_message == expected_message - def test_msg_delete_namespace(self, basic_composer): - sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - denom = "inj" - - message = basic_composer.msg_delete_namespace( - sender=sender, - namespace_denom=denom, - ) - - expected_message = { - "sender": sender, - "namespaceDenom": denom, - } - - dict_message = json_format.MessageToDict( - message=message, - always_print_fields_with_no_presence=True, - ) - assert dict_message == expected_message - def test_msg_update_namespace(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - wasmhook = "wasmhook" - mints_paused = True - sends_paused = False - burns_paused = True - - message = basic_composer.msg_update_namespace( - sender=sender, - namespace_denom=denom, - wasm_hook=wasmhook, - mints_paused=mints_paused, - sends_paused=sends_paused, - burns_paused=burns_paused, - ) - - expected_message = { - "sender": sender, - "namespaceDenom": denom, - "wasmHook": {"newValue": wasmhook}, - "mintsPaused": {"newValue": mints_paused}, - "sendsPaused": {"newValue": sends_paused}, - "burnsPaused": {"newValue": burns_paused}, - } - - dict_message = json_format.MessageToDict( - message=message, - always_print_fields_with_no_presence=True, - ) - assert dict_message == expected_message - - def test_msg_update_namespace_roles(self, basic_composer): - sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" - denom = "inj" + contract_hook = "contracthook" permissions_role1 = basic_composer.permissions_role( - role="role1", - permissions=1, + name="role1", + role_id=1, + permissions=5, ) permissions_role2 = basic_composer.permissions_role( - role="role2", - permissions=2, + name="role2", + role_id=2, + permissions=6, ) - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + role_manager1 = basic_composer.permissions_role_manager( + manager="manager1", roles=["role1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", + role_manager2 = basic_composer.permissions_role_manager( + manager="manager2", roles=["role2"], ) + policy_status1 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["MINT"], + is_disabled=False, + is_sealed=True, + ) + policy_status2 = basic_composer.permissions_policy_status( + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + is_disabled=True, + is_sealed=False, + ) + policy_manager_capability1 = basic_composer.permissions_policy_manager_capability( + manager="manager1", + action=basic_composer.PERMISSIONS_ACTION["MINT"], + can_disable=False, + can_seal=True, + ) + policy_manager_capability2 = basic_composer.permissions_policy_manager_capability( + manager="manager2", + action=basic_composer.PERMISSIONS_ACTION["SEND"] | basic_composer.PERMISSIONS_ACTION["BURN"], + can_disable=True, + can_seal=False, + ) - message = basic_composer.msg_update_namespace_roles( + message = basic_composer.msg_update_namespace( sender=sender, - namespace_denom=denom, + denom=denom, + contract_hook=contract_hook, role_permissions=[permissions_role1, permissions_role2], - address_roles=[permissions_address_roles1, permissions_address_roles2], + role_managers=[role_manager1, role_manager2], + policy_statuses=[policy_status1, policy_status2], + policy_manager_capabilities=[policy_manager_capability1, policy_manager_capability2], ) expected_message = { "sender": sender, - "namespaceDenom": denom, + "denom": denom, + "contractHook": { + "newValue": contract_hook, + }, "rolePermissions": [ - json_format.MessageToDict(message=permissions_role1, always_print_fields_with_no_presence=True), - json_format.MessageToDict(message=permissions_role2, always_print_fields_with_no_presence=True), + { + "name": permissions_role1.name, + "roleId": permissions_role1.role_id, + "permissions": permissions_role1.permissions, + }, + { + "name": permissions_role2.name, + "roleId": permissions_role2.role_id, + "permissions": permissions_role2.permissions, + }, ], - "addressRoles": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "roleManagers": [ + { + "manager": role_manager1.manager, + "roles": role_manager1.roles, + }, + { + "manager": role_manager2.manager, + "roles": role_manager2.roles, + }, + ], + "policyStatuses": [ + { + "action": permissions_pb.Action.Name(policy_status1.action), + "isDisabled": policy_status1.is_disabled, + "isSealed": policy_status1.is_sealed, + }, + { + "action": policy_status2.action, + "isDisabled": policy_status2.is_disabled, + "isSealed": policy_status2.is_sealed, + }, + ], + "policyManagerCapabilities": [ + { + "manager": policy_manager_capability1.manager, + "action": permissions_pb.Action.Name(policy_manager_capability1.action), + "canDisable": policy_manager_capability1.can_disable, + "canSeal": policy_manager_capability1.can_seal, + }, + { + "manager": policy_manager_capability2.manager, + "action": policy_manager_capability2.action, + "canDisable": policy_manager_capability2.can_disable, + "canSeal": policy_manager_capability2.can_seal, + }, ], } @@ -1871,33 +1974,55 @@ def test_msg_update_namespace_roles(self, basic_composer): ) assert dict_message == expected_message - def test_msg_revoke_namespace_roles(self, basic_composer): + def test_msg_update_actor_roles(self, basic_composer): sender = "inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0" denom = "inj" - permissions_address_roles1 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role1"], + role_actors1 = basic_composer.permissions_role_actors( + role="role1", + actors=["actor1"], ) - permissions_address_roles2 = basic_composer.permissions_address_roles( - address="inj1apmvarl2xyv6kecx2ukkeymddw3we4zkygjyc0", - roles=["role2"], + role_actors2 = basic_composer.permissions_role_actors( + role="role2", + actors=["actor2"], + ) + role_actors3 = basic_composer.permissions_role_actors( + role="role3", + actors=["actor3"], + ) + role_actors4 = basic_composer.permissions_role_actors( + role="role4", + actors=["actor4"], ) - message = basic_composer.msg_revoke_namespace_roles( + + message = basic_composer.msg_update_actor_roles( sender=sender, - namespace_denom=denom, - address_roles_to_revoke=[permissions_address_roles1, permissions_address_roles2], + denom=denom, + role_actors_to_add=[role_actors1, role_actors2], + role_actors_to_revoke=[role_actors3, role_actors4], ) expected_message = { "sender": sender, - "namespaceDenom": denom, - "addressRolesToRevoke": [ - json_format.MessageToDict( - message=permissions_address_roles1, always_print_fields_with_no_presence=True - ), - json_format.MessageToDict( - message=permissions_address_roles2, always_print_fields_with_no_presence=True - ), + "denom": denom, + "roleActorsToAdd": [ + { + "role": role_actors1.role, + "actors": role_actors1.actors, + }, + { + "role": role_actors2.role, + "actors": role_actors2.actors, + }, + ], + "roleActorsToRevoke": [ + { + "role": role_actors3.role, + "actors": role_actors3.actors, + }, + { + "role": role_actors4.role, + "actors": role_actors4.actors, + }, ], }