# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: fx/crosschain/v1/query.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from x.cosmos.base.v1beta1 import coin_pb2 as cosmos_dot_base_dot_v1beta1_dot_coin__pb2
from x.fx.crosschain.v1 import tx_pb2 as fx_dot_crosschain_dot_v1_dot_tx__pb2
from x.fx.crosschain.v1 import types_pb2 as fx_dot_crosschain_dot_v1_dot_types__pb2
from x.gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2
from x.google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x66x/crosschain/v1/query.proto\x12\x18\x66x.gravity.crosschain.v1\x1a\x1e\x63osmos/base/v1beta1/coin.proto\x1a\x19\x66x/crosschain/v1/tx.proto\x1a\x1c\x66x/crosschain/v1/types.proto\x1a\x14gogoproto/gogo.proto\x1a\x1cgoogle/api/annotations.proto\"(\n\x12QueryParamsRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"M\n\x13QueryParamsResponse\x12\x36\n\x06params\x18\x01 \x01(\x0b\x32 .fx.gravity.crosschain.v1.ParamsB\x04\xc8\xde\x1f\x00\"2\n\x1cQueryCurrentOracleSetRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"X\n\x1dQueryCurrentOracleSetResponse\x12\x37\n\noracle_set\x18\x01 \x01(\x0b\x32#.fx.gravity.crosschain.v1.OracleSet\"A\n\x1cQueryOracleSetRequestRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\r\n\x05nonce\x18\x02 \x01(\x04\"X\n\x1dQueryOracleSetRequestResponse\x12\x37\n\noracle_set\x18\x01 \x01(\x0b\x32#.fx.gravity.crosschain.v1.OracleSet\"Z\n\x1cQueryOracleSetConfirmRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x02 \x01(\t\x12\r\n\x05nonce\x18\x03 \x01(\x04\"_\n\x1dQueryOracleSetConfirmResponse\x12>\n\x07\x63onfirm\x18\x01 \x01(\x0b\x32-.fx.gravity.crosschain.v1.MsgOracleSetConfirm\"I\n$QueryOracleSetConfirmsByNonceRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\r\n\x05nonce\x18\x02 \x01(\x04\"h\n%QueryOracleSetConfirmsByNonceResponse\x12?\n\x08\x63onfirms\x18\x01 \x03(\x0b\x32-.fx.gravity.crosschain.v1.MsgOracleSetConfirm\"7\n!QueryLastOracleSetRequestsRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"^\n\"QueryLastOracleSetRequestsResponse\x12\x38\n\x0boracle_sets\x18\x01 \x03(\x0b\x32#.fx.gravity.crosschain.v1.OracleSet\"\\\n-QueryLastPendingOracleSetRequestByAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x02 \x01(\t\"j\n.QueryLastPendingOracleSetRequestByAddrResponse\x12\x38\n\x0boracle_sets\x18\x01 \x03(\x0b\x32#.fx.gravity.crosschain.v1.OracleSet\"m\n\x14QueryBatchFeeRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x41\n\x0cminBatchFees\x18\x02 \x03(\x0b\x32%.fx.gravity.crosschain.v1.MinBatchFeeB\x04\xc8\xde\x1f\x00\"P\n\x15QueryBatchFeeResponse\x12\x37\n\nbatch_fees\x18\x01 \x03(\x0b\x32#.fx.gravity.crosschain.v1.BatchFees\"X\n)QueryLastPendingBatchRequestByAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x02 \x01(\t\"f\n*QueryLastPendingBatchRequestByAddrResponse\x12\x38\n\x05\x62\x61tch\x18\x01 \x01(\x0b\x32).fx.gravity.crosschain.v1.OutgoingTxBatch\"3\n\x1dQueryOutgoingTxBatchesRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"\\\n\x1eQueryOutgoingTxBatchesResponse\x12:\n\x07\x62\x61tches\x18\x01 \x03(\x0b\x32).fx.gravity.crosschain.v1.OutgoingTxBatch\"\\\n\x1fQueryBatchRequestByNonceRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x16\n\x0etoken_contract\x18\x02 \x01(\t\x12\r\n\x05nonce\x18\x03 \x01(\x04\"\\\n QueryBatchRequestByNonceResponse\x12\x38\n\x05\x62\x61tch\x18\x01 \x01(\x0b\x32).fx.gravity.crosschain.v1.OutgoingTxBatch\"n\n\x18QueryBatchConfirmRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x16\n\x0etoken_contract\x18\x02 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x03 \x01(\t\x12\r\n\x05nonce\x18\x04 \x01(\x04\"W\n\x19QueryBatchConfirmResponse\x12:\n\x07\x63onfirm\x18\x01 \x01(\x0b\x32).fx.gravity.crosschain.v1.MsgConfirmBatch\"V\n\x19QueryBatchConfirmsRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x16\n\x0etoken_contract\x18\x02 \x01(\t\x12\r\n\x05nonce\x18\x03 \x01(\x04\"Y\n\x1aQueryBatchConfirmsResponse\x12;\n\x08\x63onfirms\x18\x01 \x03(\x0b\x32).fx.gravity.crosschain.v1.MsgConfirmBatch\"O\n QueryLastEventNonceByAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x02 \x01(\t\"8\n!QueryLastEventNonceByAddrResponse\x12\x13\n\x0b\x65vent_nonce\x18\x01 \x01(\x04\"=\n\x18QueryTokenToDenomRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\r\n\x05token\x18\x02 \x01(\t\"*\n\x19QueryTokenToDenomResponse\x12\r\n\x05\x64\x65nom\x18\x01 \x01(\t\"=\n\x18QueryDenomToTokenRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\r\n\x05\x64\x65nom\x18\x02 \x01(\t\"*\n\x19QueryDenomToTokenResponse\x12\r\n\x05token\x18\x01 \x01(\t\"F\n\x18QueryOracleByAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x16\n\x0eoracle_address\x18\x02 \x01(\t\"G\n\x13QueryOracleResponse\x12\x30\n\x06oracle\x18\x01 \x01(\x0b\x32 .fx.gravity.crosschain.v1.Oracle\"P\n QueryOracleByExternalAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x18\n\x10\x65xternal_address\x18\x02 \x01(\t\"N\n\x1fQueryOracleByBridgerAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x02 \x01(\t\"O\n!QueryPendingSendToExternalRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x16\n\x0esender_address\x18\x02 \x01(\t\"\xbb\x01\n\"QueryPendingSendToExternalResponse\x12J\n\x14transfers_in_batches\x18\x01 \x03(\x0b\x32,.fx.gravity.crosschain.v1.OutgoingTransferTx\x12I\n\x13unbatched_transfers\x18\x02 \x03(\x0b\x32,.fx.gravity.crosschain.v1.OutgoingTransferTx\"9\n#QueryLastObservedBlockHeightRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"[\n$QueryLastObservedBlockHeightResponse\x12\x1d\n\x15\x65xternal_block_height\x18\x01 \x01(\x04\x12\x14\n\x0c\x62lock_height\x18\x02 \x01(\x04\"U\n&QueryLastEventBlockHeightByAddrRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\x17\n\x0f\x62ridger_address\x18\x02 \x01(\t\"?\n\'QueryLastEventBlockHeightByAddrResponse\x12\x14\n\x0c\x62lock_height\x18\x01 \x01(\x04\")\n\x13QueryOraclesRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"O\n\x14QueryOraclesResponse\x12\x37\n\x07oracles\x18\x01 \x03(\x0b\x32 .fx.gravity.crosschain.v1.OracleB\x04\xc8\xde\x1f\x00\"=\n\'QueryProjectedBatchTimeoutHeightRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"B\n(QueryProjectedBatchTimeoutHeightResponse\x12\x16\n\x0etimeout_height\x18\x01 \x01(\x04\".\n\x18QueryBridgeTokensRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\"Y\n\x19QueryBridgeTokensResponse\x12<\n\rbridge_tokens\x18\x01 \x03(\x0b\x32%.fx.gravity.crosschain.v1.BridgeToken\"B\n\x1dQueryBridgeCoinByDenomRequest\x12\x12\n\nchain_name\x18\x01 \x01(\t\x12\r\n\x05\x64\x65nom\x18\x02 \x01(\t\"O\n\x1eQueryBridgeCoinByDenomResponse\x12-\n\x04\x63oin\x18\x01 \x01(\x0b\x32\x19.cosmos.base.v1beta1.CoinB\x04\xc8\xde\x1f\x00\"\x1d\n\x1bQueryBridgeChainListRequest\"3\n\x1cQueryBridgeChainListResponse\x12\x13\n\x0b\x63hain_names\x18\x01 \x03(\t2\xaf&\n\x05Query\x12\x87\x01\n\x06Params\x12,.fx.gravity.crosschain.v1.QueryParamsRequest\x1a-.fx.gravity.crosschain.v1.QueryParamsResponse\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/fx/crosschain/v1/params\x12\xb1\x01\n\x10\x43urrentOracleSet\x12\x36.fx.gravity.crosschain.v1.QueryCurrentOracleSetRequest\x1a\x37.fx.gravity.crosschain.v1.QueryCurrentOracleSetResponse\",\x82\xd3\xe4\x93\x02&\x12$/fx/crosschain/v1/oracle_set/current\x12\xb1\x01\n\x10OracleSetRequest\x12\x36.fx.gravity.crosschain.v1.QueryOracleSetRequestRequest\x1a\x37.fx.gravity.crosschain.v1.QueryOracleSetRequestResponse\",\x82\xd3\xe4\x93\x02&\x12$/fx/crosschain/v1/oracle_set/request\x12\xb1\x01\n\x10OracleSetConfirm\x12\x36.fx.gravity.crosschain.v1.QueryOracleSetConfirmRequest\x1a\x37.fx.gravity.crosschain.v1.QueryOracleSetConfirmResponse\",\x82\xd3\xe4\x93\x02&\x12$/fx/crosschain/v1/oracle_set/confirm\x12\xca\x01\n\x18OracleSetConfirmsByNonce\x12>.fx.gravity.crosschain.v1.QueryOracleSetConfirmsByNonceRequest\x1a?.fx.gravity.crosschain.v1.QueryOracleSetConfirmsByNonceResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/fx/crosschain/v1/oracle_set/confirms\x12\xc1\x01\n\x15LastOracleSetRequests\x12;.fx.gravity.crosschain.v1.QueryLastOracleSetRequestsRequest\x1a<.fx.gravity.crosschain.v1.QueryLastOracleSetRequestsResponse\"-\x82\xd3\xe4\x93\x02\'\x12%/fx/crosschain/v1/oracle_set/requests\x12\xe1\x01\n!LastPendingOracleSetRequestByAddr\x12G.fx.gravity.crosschain.v1.QueryLastPendingOracleSetRequestByAddrRequest\x1aH.fx.gravity.crosschain.v1.QueryLastPendingOracleSetRequestByAddrResponse\")\x82\xd3\xe4\x93\x02#\x12!/fx/crosschain/v1/oracle_set/last\x12\xd0\x01\n\x1dLastPendingBatchRequestByAddr\x12\x43.fx.gravity.crosschain.v1.QueryLastPendingBatchRequestByAddrRequest\x1a\x44.fx.gravity.crosschain.v1.QueryLastPendingBatchRequestByAddrResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/fx/crosschain/v1/batch/last\x12\xbd\x01\n\x14LastEventNonceByAddr\x12:.fx.gravity.crosschain.v1.QueryLastEventNonceByAddrRequest\x1a;.fx.gravity.crosschain.v1.QueryLastEventNonceByAddrResponse\",\x82\xd3\xe4\x93\x02&\x12$/fx/crosschain/v1/oracle/event_nonce\x12\xd6\x01\n\x1aLastEventBlockHeightByAddr\x12@.fx.gravity.crosschain.v1.QueryLastEventBlockHeightByAddrRequest\x1a\x41.fx.gravity.crosschain.v1.QueryLastEventBlockHeightByAddrResponse\"3\x82\xd3\xe4\x93\x02-\x12+/fx/crosschain/v1/oracle/event/block_height\x12\x92\x01\n\tBatchFees\x12..fx.gravity.crosschain.v1.QueryBatchFeeRequest\x1a/.fx.gravity.crosschain.v1.QueryBatchFeeResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/fx/crosschain/v1/batch_fees\x12\xc9\x01\n\x17LastObservedBlockHeight\x12=.fx.gravity.crosschain.v1.QueryLastObservedBlockHeightRequest\x1a>.fx.gravity.crosschain.v1.QueryLastObservedBlockHeightResponse\"/\x82\xd3\xe4\x93\x02)\x12\'/fx/crosschain/v1/observed/block_height\x12\xb3\x01\n\x11OutgoingTxBatches\x12\x37.fx.gravity.crosschain.v1.QueryOutgoingTxBatchesRequest\x1a\x38.fx.gravity.crosschain.v1.QueryOutgoingTxBatchesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/fx/crosschain/v1/batch/outgoing_tx\x12\xb5\x01\n\x13\x42\x61tchRequestByNonce\x12\x39.fx.gravity.crosschain.v1.QueryBatchRequestByNonceRequest\x1a:.fx.gravity.crosschain.v1.QueryBatchRequestByNonceResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/fx/crosschain/v1/batch/request\x12\xa0\x01\n\x0c\x42\x61tchConfirm\x12\x32.fx.gravity.crosschain.v1.QueryBatchConfirmRequest\x1a\x33.fx.gravity.crosschain.v1.QueryBatchConfirmResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/fx/crosschain/v1/batch/confirm\x12\xa4\x01\n\rBatchConfirms\x12\x33.fx.gravity.crosschain.v1.QueryBatchConfirmsRequest\x1a\x34.fx.gravity.crosschain.v1.QueryBatchConfirmsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /fx/crosschain/v1/batch/confirms\x12\x98\x01\n\x0cTokenToDenom\x12\x32.fx.gravity.crosschain.v1.QueryTokenToDenomRequest\x1a\x33.fx.gravity.crosschain.v1.QueryTokenToDenomResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/fx/crosschain/v1/denom\x12\x98\x01\n\x0c\x44\x65nomToToken\x12\x32.fx.gravity.crosschain.v1.QueryDenomToTokenRequest\x1a\x33.fx.gravity.crosschain.v1.QueryDenomToTokenResponse\"\x1f\x82\xd3\xe4\x93\x02\x19\x12\x17/fx/crosschain/v1/token\x12\x9e\x01\n\x0fGetOracleByAddr\x12\x32.fx.gravity.crosschain.v1.QueryOracleByAddrRequest\x1a-.fx.gravity.crosschain.v1.QueryOracleResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /fx/crosschain/v1/oracle_by_addr\x12\xb7\x01\n\x17GetOracleByExternalAddr\x12:.fx.gravity.crosschain.v1.QueryOracleByExternalAddrRequest\x1a-.fx.gravity.crosschain.v1.QueryOracleResponse\"1\x82\xd3\xe4\x93\x02+\x12)/fx/crosschain/v1/oracle_by_external_addr\x12\xb4\x01\n\x16GetOracleByBridgerAddr\x12\x39.fx.gravity.crosschain.v1.QueryOracleByBridgerAddrRequest\x1a-.fx.gravity.crosschain.v1.QueryOracleResponse\"0\x82\xd3\xe4\x93\x02*\x12(/fx/crosschain/v1/oracle_by_bridger_addr\x12\xc9\x01\n\x18GetPendingSendToExternal\x12;.fx.gravity.crosschain.v1.QueryPendingSendToExternalRequest\x1a<.fx.gravity.crosschain.v1.QueryPendingSendToExternalResponse\"2\x82\xd3\xe4\x93\x02,\x12*/fx/crosschain/v1/pending_send_to_external\x12\x8b\x01\n\x07Oracles\x12-.fx.gravity.crosschain.v1.QueryOraclesRequest\x1a..fx.gravity.crosschain.v1.QueryOraclesResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/fx/crosschain/v1/oracles\x12\xd7\x01\n\x1bProjectedBatchTimeoutHeight\x12\x41.fx.gravity.crosschain.v1.QueryProjectedBatchTimeoutHeightRequest\x1a\x42.fx.gravity.crosschain.v1.QueryProjectedBatchTimeoutHeightResponse\"1\x82\xd3\xe4\x93\x02+\x12)/fx/crosschain/v1/projected_batch_timeout\x12\xa0\x01\n\x0c\x42ridgeTokens\x12\x32.fx.gravity.crosschain.v1.QueryBridgeTokensRequest\x1a\x33.fx.gravity.crosschain.v1.QueryBridgeTokensResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/fx/crosschain/v1/bridge_tokens\x12\xb6\x01\n\x11\x42ridgeCoinByDenom\x12\x37.fx.gravity.crosschain.v1.QueryBridgeCoinByDenomRequest\x1a\x38.fx.gravity.crosschain.v1.QueryBridgeCoinByDenomResponse\".\x82\xd3\xe4\x93\x02(\x12&/fx/crosschain/v1/bridge_coin_by_denom\x12\xad\x01\n\x0f\x42ridgeChainList\x12\x35.fx.gravity.crosschain.v1.QueryBridgeChainListRequest\x1a\x36.fx.gravity.crosschain.v1.QueryBridgeChainListResponse\"+\x82\xd3\xe4\x93\x02%\x12#/fx/crosschain/v1/bridge_chain_listB1Z/github.com/functionx/fx-core/x/crosschain/typesb\x06proto3')



_QUERYPARAMSREQUEST = DESCRIPTOR.message_types_by_name['QueryParamsRequest']
_QUERYPARAMSRESPONSE = DESCRIPTOR.message_types_by_name['QueryParamsResponse']
_QUERYCURRENTORACLESETREQUEST = DESCRIPTOR.message_types_by_name['QueryCurrentOracleSetRequest']
_QUERYCURRENTORACLESETRESPONSE = DESCRIPTOR.message_types_by_name['QueryCurrentOracleSetResponse']
_QUERYORACLESETREQUESTREQUEST = DESCRIPTOR.message_types_by_name['QueryOracleSetRequestRequest']
_QUERYORACLESETREQUESTRESPONSE = DESCRIPTOR.message_types_by_name['QueryOracleSetRequestResponse']
_QUERYORACLESETCONFIRMREQUEST = DESCRIPTOR.message_types_by_name['QueryOracleSetConfirmRequest']
_QUERYORACLESETCONFIRMRESPONSE = DESCRIPTOR.message_types_by_name['QueryOracleSetConfirmResponse']
_QUERYORACLESETCONFIRMSBYNONCEREQUEST = DESCRIPTOR.message_types_by_name['QueryOracleSetConfirmsByNonceRequest']
_QUERYORACLESETCONFIRMSBYNONCERESPONSE = DESCRIPTOR.message_types_by_name['QueryOracleSetConfirmsByNonceResponse']
_QUERYLASTORACLESETREQUESTSREQUEST = DESCRIPTOR.message_types_by_name['QueryLastOracleSetRequestsRequest']
_QUERYLASTORACLESETREQUESTSRESPONSE = DESCRIPTOR.message_types_by_name['QueryLastOracleSetRequestsResponse']
_QUERYLASTPENDINGORACLESETREQUESTBYADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryLastPendingOracleSetRequestByAddrRequest']
_QUERYLASTPENDINGORACLESETREQUESTBYADDRRESPONSE = DESCRIPTOR.message_types_by_name['QueryLastPendingOracleSetRequestByAddrResponse']
_QUERYBATCHFEEREQUEST = DESCRIPTOR.message_types_by_name['QueryBatchFeeRequest']
_QUERYBATCHFEERESPONSE = DESCRIPTOR.message_types_by_name['QueryBatchFeeResponse']
_QUERYLASTPENDINGBATCHREQUESTBYADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryLastPendingBatchRequestByAddrRequest']
_QUERYLASTPENDINGBATCHREQUESTBYADDRRESPONSE = DESCRIPTOR.message_types_by_name['QueryLastPendingBatchRequestByAddrResponse']
_QUERYOUTGOINGTXBATCHESREQUEST = DESCRIPTOR.message_types_by_name['QueryOutgoingTxBatchesRequest']
_QUERYOUTGOINGTXBATCHESRESPONSE = DESCRIPTOR.message_types_by_name['QueryOutgoingTxBatchesResponse']
_QUERYBATCHREQUESTBYNONCEREQUEST = DESCRIPTOR.message_types_by_name['QueryBatchRequestByNonceRequest']
_QUERYBATCHREQUESTBYNONCERESPONSE = DESCRIPTOR.message_types_by_name['QueryBatchRequestByNonceResponse']
_QUERYBATCHCONFIRMREQUEST = DESCRIPTOR.message_types_by_name['QueryBatchConfirmRequest']
_QUERYBATCHCONFIRMRESPONSE = DESCRIPTOR.message_types_by_name['QueryBatchConfirmResponse']
_QUERYBATCHCONFIRMSREQUEST = DESCRIPTOR.message_types_by_name['QueryBatchConfirmsRequest']
_QUERYBATCHCONFIRMSRESPONSE = DESCRIPTOR.message_types_by_name['QueryBatchConfirmsResponse']
_QUERYLASTEVENTNONCEBYADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryLastEventNonceByAddrRequest']
_QUERYLASTEVENTNONCEBYADDRRESPONSE = DESCRIPTOR.message_types_by_name['QueryLastEventNonceByAddrResponse']
_QUERYTOKENTODENOMREQUEST = DESCRIPTOR.message_types_by_name['QueryTokenToDenomRequest']
_QUERYTOKENTODENOMRESPONSE = DESCRIPTOR.message_types_by_name['QueryTokenToDenomResponse']
_QUERYDENOMTOTOKENREQUEST = DESCRIPTOR.message_types_by_name['QueryDenomToTokenRequest']
_QUERYDENOMTOTOKENRESPONSE = DESCRIPTOR.message_types_by_name['QueryDenomToTokenResponse']
_QUERYORACLEBYADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryOracleByAddrRequest']
_QUERYORACLERESPONSE = DESCRIPTOR.message_types_by_name['QueryOracleResponse']
_QUERYORACLEBYEXTERNALADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryOracleByExternalAddrRequest']
_QUERYORACLEBYBRIDGERADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryOracleByBridgerAddrRequest']
_QUERYPENDINGSENDTOEXTERNALREQUEST = DESCRIPTOR.message_types_by_name['QueryPendingSendToExternalRequest']
_QUERYPENDINGSENDTOEXTERNALRESPONSE = DESCRIPTOR.message_types_by_name['QueryPendingSendToExternalResponse']
_QUERYLASTOBSERVEDBLOCKHEIGHTREQUEST = DESCRIPTOR.message_types_by_name['QueryLastObservedBlockHeightRequest']
_QUERYLASTOBSERVEDBLOCKHEIGHTRESPONSE = DESCRIPTOR.message_types_by_name['QueryLastObservedBlockHeightResponse']
_QUERYLASTEVENTBLOCKHEIGHTBYADDRREQUEST = DESCRIPTOR.message_types_by_name['QueryLastEventBlockHeightByAddrRequest']
_QUERYLASTEVENTBLOCKHEIGHTBYADDRRESPONSE = DESCRIPTOR.message_types_by_name['QueryLastEventBlockHeightByAddrResponse']
_QUERYORACLESREQUEST = DESCRIPTOR.message_types_by_name['QueryOraclesRequest']
_QUERYORACLESRESPONSE = DESCRIPTOR.message_types_by_name['QueryOraclesResponse']
_QUERYPROJECTEDBATCHTIMEOUTHEIGHTREQUEST = DESCRIPTOR.message_types_by_name['QueryProjectedBatchTimeoutHeightRequest']
_QUERYPROJECTEDBATCHTIMEOUTHEIGHTRESPONSE = DESCRIPTOR.message_types_by_name['QueryProjectedBatchTimeoutHeightResponse']
_QUERYBRIDGETOKENSREQUEST = DESCRIPTOR.message_types_by_name['QueryBridgeTokensRequest']
_QUERYBRIDGETOKENSRESPONSE = DESCRIPTOR.message_types_by_name['QueryBridgeTokensResponse']
_QUERYBRIDGECOINBYDENOMREQUEST = DESCRIPTOR.message_types_by_name['QueryBridgeCoinByDenomRequest']
_QUERYBRIDGECOINBYDENOMRESPONSE = DESCRIPTOR.message_types_by_name['QueryBridgeCoinByDenomResponse']
_QUERYBRIDGECHAINLISTREQUEST = DESCRIPTOR.message_types_by_name['QueryBridgeChainListRequest']
_QUERYBRIDGECHAINLISTRESPONSE = DESCRIPTOR.message_types_by_name['QueryBridgeChainListResponse']
QueryParamsRequest = _reflection.GeneratedProtocolMessageType('QueryParamsRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYPARAMSREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryParamsRequest)
  })
_sym_db.RegisterMessage(QueryParamsRequest)

QueryParamsResponse = _reflection.GeneratedProtocolMessageType('QueryParamsResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYPARAMSRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryParamsResponse)
  })
_sym_db.RegisterMessage(QueryParamsResponse)

QueryCurrentOracleSetRequest = _reflection.GeneratedProtocolMessageType('QueryCurrentOracleSetRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYCURRENTORACLESETREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryCurrentOracleSetRequest)
  })
_sym_db.RegisterMessage(QueryCurrentOracleSetRequest)

QueryCurrentOracleSetResponse = _reflection.GeneratedProtocolMessageType('QueryCurrentOracleSetResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYCURRENTORACLESETRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryCurrentOracleSetResponse)
  })
_sym_db.RegisterMessage(QueryCurrentOracleSetResponse)

QueryOracleSetRequestRequest = _reflection.GeneratedProtocolMessageType('QueryOracleSetRequestRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESETREQUESTREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleSetRequestRequest)
  })
_sym_db.RegisterMessage(QueryOracleSetRequestRequest)

QueryOracleSetRequestResponse = _reflection.GeneratedProtocolMessageType('QueryOracleSetRequestResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESETREQUESTRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleSetRequestResponse)
  })
_sym_db.RegisterMessage(QueryOracleSetRequestResponse)

QueryOracleSetConfirmRequest = _reflection.GeneratedProtocolMessageType('QueryOracleSetConfirmRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESETCONFIRMREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleSetConfirmRequest)
  })
_sym_db.RegisterMessage(QueryOracleSetConfirmRequest)

QueryOracleSetConfirmResponse = _reflection.GeneratedProtocolMessageType('QueryOracleSetConfirmResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESETCONFIRMRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleSetConfirmResponse)
  })
_sym_db.RegisterMessage(QueryOracleSetConfirmResponse)

QueryOracleSetConfirmsByNonceRequest = _reflection.GeneratedProtocolMessageType('QueryOracleSetConfirmsByNonceRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESETCONFIRMSBYNONCEREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleSetConfirmsByNonceRequest)
  })
_sym_db.RegisterMessage(QueryOracleSetConfirmsByNonceRequest)

QueryOracleSetConfirmsByNonceResponse = _reflection.GeneratedProtocolMessageType('QueryOracleSetConfirmsByNonceResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESETCONFIRMSBYNONCERESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleSetConfirmsByNonceResponse)
  })
_sym_db.RegisterMessage(QueryOracleSetConfirmsByNonceResponse)

QueryLastOracleSetRequestsRequest = _reflection.GeneratedProtocolMessageType('QueryLastOracleSetRequestsRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTORACLESETREQUESTSREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastOracleSetRequestsRequest)
  })
_sym_db.RegisterMessage(QueryLastOracleSetRequestsRequest)

QueryLastOracleSetRequestsResponse = _reflection.GeneratedProtocolMessageType('QueryLastOracleSetRequestsResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTORACLESETREQUESTSRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastOracleSetRequestsResponse)
  })
_sym_db.RegisterMessage(QueryLastOracleSetRequestsResponse)

QueryLastPendingOracleSetRequestByAddrRequest = _reflection.GeneratedProtocolMessageType('QueryLastPendingOracleSetRequestByAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTPENDINGORACLESETREQUESTBYADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastPendingOracleSetRequestByAddrRequest)
  })
_sym_db.RegisterMessage(QueryLastPendingOracleSetRequestByAddrRequest)

QueryLastPendingOracleSetRequestByAddrResponse = _reflection.GeneratedProtocolMessageType('QueryLastPendingOracleSetRequestByAddrResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTPENDINGORACLESETREQUESTBYADDRRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastPendingOracleSetRequestByAddrResponse)
  })
_sym_db.RegisterMessage(QueryLastPendingOracleSetRequestByAddrResponse)

QueryBatchFeeRequest = _reflection.GeneratedProtocolMessageType('QueryBatchFeeRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHFEEREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchFeeRequest)
  })
_sym_db.RegisterMessage(QueryBatchFeeRequest)

QueryBatchFeeResponse = _reflection.GeneratedProtocolMessageType('QueryBatchFeeResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHFEERESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchFeeResponse)
  })
_sym_db.RegisterMessage(QueryBatchFeeResponse)

QueryLastPendingBatchRequestByAddrRequest = _reflection.GeneratedProtocolMessageType('QueryLastPendingBatchRequestByAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTPENDINGBATCHREQUESTBYADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastPendingBatchRequestByAddrRequest)
  })
_sym_db.RegisterMessage(QueryLastPendingBatchRequestByAddrRequest)

QueryLastPendingBatchRequestByAddrResponse = _reflection.GeneratedProtocolMessageType('QueryLastPendingBatchRequestByAddrResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTPENDINGBATCHREQUESTBYADDRRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastPendingBatchRequestByAddrResponse)
  })
_sym_db.RegisterMessage(QueryLastPendingBatchRequestByAddrResponse)

QueryOutgoingTxBatchesRequest = _reflection.GeneratedProtocolMessageType('QueryOutgoingTxBatchesRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYOUTGOINGTXBATCHESREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOutgoingTxBatchesRequest)
  })
_sym_db.RegisterMessage(QueryOutgoingTxBatchesRequest)

QueryOutgoingTxBatchesResponse = _reflection.GeneratedProtocolMessageType('QueryOutgoingTxBatchesResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYOUTGOINGTXBATCHESRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOutgoingTxBatchesResponse)
  })
_sym_db.RegisterMessage(QueryOutgoingTxBatchesResponse)

QueryBatchRequestByNonceRequest = _reflection.GeneratedProtocolMessageType('QueryBatchRequestByNonceRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHREQUESTBYNONCEREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchRequestByNonceRequest)
  })
_sym_db.RegisterMessage(QueryBatchRequestByNonceRequest)

QueryBatchRequestByNonceResponse = _reflection.GeneratedProtocolMessageType('QueryBatchRequestByNonceResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHREQUESTBYNONCERESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchRequestByNonceResponse)
  })
_sym_db.RegisterMessage(QueryBatchRequestByNonceResponse)

QueryBatchConfirmRequest = _reflection.GeneratedProtocolMessageType('QueryBatchConfirmRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHCONFIRMREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchConfirmRequest)
  })
_sym_db.RegisterMessage(QueryBatchConfirmRequest)

QueryBatchConfirmResponse = _reflection.GeneratedProtocolMessageType('QueryBatchConfirmResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHCONFIRMRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchConfirmResponse)
  })
_sym_db.RegisterMessage(QueryBatchConfirmResponse)

QueryBatchConfirmsRequest = _reflection.GeneratedProtocolMessageType('QueryBatchConfirmsRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHCONFIRMSREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchConfirmsRequest)
  })
_sym_db.RegisterMessage(QueryBatchConfirmsRequest)

QueryBatchConfirmsResponse = _reflection.GeneratedProtocolMessageType('QueryBatchConfirmsResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBATCHCONFIRMSRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBatchConfirmsResponse)
  })
_sym_db.RegisterMessage(QueryBatchConfirmsResponse)

QueryLastEventNonceByAddrRequest = _reflection.GeneratedProtocolMessageType('QueryLastEventNonceByAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTEVENTNONCEBYADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastEventNonceByAddrRequest)
  })
_sym_db.RegisterMessage(QueryLastEventNonceByAddrRequest)

QueryLastEventNonceByAddrResponse = _reflection.GeneratedProtocolMessageType('QueryLastEventNonceByAddrResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTEVENTNONCEBYADDRRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastEventNonceByAddrResponse)
  })
_sym_db.RegisterMessage(QueryLastEventNonceByAddrResponse)

QueryTokenToDenomRequest = _reflection.GeneratedProtocolMessageType('QueryTokenToDenomRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYTOKENTODENOMREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryTokenToDenomRequest)
  })
_sym_db.RegisterMessage(QueryTokenToDenomRequest)

QueryTokenToDenomResponse = _reflection.GeneratedProtocolMessageType('QueryTokenToDenomResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYTOKENTODENOMRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryTokenToDenomResponse)
  })
_sym_db.RegisterMessage(QueryTokenToDenomResponse)

QueryDenomToTokenRequest = _reflection.GeneratedProtocolMessageType('QueryDenomToTokenRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYDENOMTOTOKENREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryDenomToTokenRequest)
  })
_sym_db.RegisterMessage(QueryDenomToTokenRequest)

QueryDenomToTokenResponse = _reflection.GeneratedProtocolMessageType('QueryDenomToTokenResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYDENOMTOTOKENRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryDenomToTokenResponse)
  })
_sym_db.RegisterMessage(QueryDenomToTokenResponse)

QueryOracleByAddrRequest = _reflection.GeneratedProtocolMessageType('QueryOracleByAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLEBYADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleByAddrRequest)
  })
_sym_db.RegisterMessage(QueryOracleByAddrRequest)

QueryOracleResponse = _reflection.GeneratedProtocolMessageType('QueryOracleResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLERESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleResponse)
  })
_sym_db.RegisterMessage(QueryOracleResponse)

QueryOracleByExternalAddrRequest = _reflection.GeneratedProtocolMessageType('QueryOracleByExternalAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLEBYEXTERNALADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleByExternalAddrRequest)
  })
_sym_db.RegisterMessage(QueryOracleByExternalAddrRequest)

QueryOracleByBridgerAddrRequest = _reflection.GeneratedProtocolMessageType('QueryOracleByBridgerAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLEBYBRIDGERADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOracleByBridgerAddrRequest)
  })
_sym_db.RegisterMessage(QueryOracleByBridgerAddrRequest)

QueryPendingSendToExternalRequest = _reflection.GeneratedProtocolMessageType('QueryPendingSendToExternalRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYPENDINGSENDTOEXTERNALREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryPendingSendToExternalRequest)
  })
_sym_db.RegisterMessage(QueryPendingSendToExternalRequest)

QueryPendingSendToExternalResponse = _reflection.GeneratedProtocolMessageType('QueryPendingSendToExternalResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYPENDINGSENDTOEXTERNALRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryPendingSendToExternalResponse)
  })
_sym_db.RegisterMessage(QueryPendingSendToExternalResponse)

QueryLastObservedBlockHeightRequest = _reflection.GeneratedProtocolMessageType('QueryLastObservedBlockHeightRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTOBSERVEDBLOCKHEIGHTREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastObservedBlockHeightRequest)
  })
_sym_db.RegisterMessage(QueryLastObservedBlockHeightRequest)

QueryLastObservedBlockHeightResponse = _reflection.GeneratedProtocolMessageType('QueryLastObservedBlockHeightResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTOBSERVEDBLOCKHEIGHTRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastObservedBlockHeightResponse)
  })
_sym_db.RegisterMessage(QueryLastObservedBlockHeightResponse)

QueryLastEventBlockHeightByAddrRequest = _reflection.GeneratedProtocolMessageType('QueryLastEventBlockHeightByAddrRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTEVENTBLOCKHEIGHTBYADDRREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastEventBlockHeightByAddrRequest)
  })
_sym_db.RegisterMessage(QueryLastEventBlockHeightByAddrRequest)

QueryLastEventBlockHeightByAddrResponse = _reflection.GeneratedProtocolMessageType('QueryLastEventBlockHeightByAddrResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYLASTEVENTBLOCKHEIGHTBYADDRRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryLastEventBlockHeightByAddrResponse)
  })
_sym_db.RegisterMessage(QueryLastEventBlockHeightByAddrResponse)

QueryOraclesRequest = _reflection.GeneratedProtocolMessageType('QueryOraclesRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOraclesRequest)
  })
_sym_db.RegisterMessage(QueryOraclesRequest)

QueryOraclesResponse = _reflection.GeneratedProtocolMessageType('QueryOraclesResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYORACLESRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryOraclesResponse)
  })
_sym_db.RegisterMessage(QueryOraclesResponse)

QueryProjectedBatchTimeoutHeightRequest = _reflection.GeneratedProtocolMessageType('QueryProjectedBatchTimeoutHeightRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYPROJECTEDBATCHTIMEOUTHEIGHTREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryProjectedBatchTimeoutHeightRequest)
  })
_sym_db.RegisterMessage(QueryProjectedBatchTimeoutHeightRequest)

QueryProjectedBatchTimeoutHeightResponse = _reflection.GeneratedProtocolMessageType('QueryProjectedBatchTimeoutHeightResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYPROJECTEDBATCHTIMEOUTHEIGHTRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryProjectedBatchTimeoutHeightResponse)
  })
_sym_db.RegisterMessage(QueryProjectedBatchTimeoutHeightResponse)

QueryBridgeTokensRequest = _reflection.GeneratedProtocolMessageType('QueryBridgeTokensRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBRIDGETOKENSREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBridgeTokensRequest)
  })
_sym_db.RegisterMessage(QueryBridgeTokensRequest)

QueryBridgeTokensResponse = _reflection.GeneratedProtocolMessageType('QueryBridgeTokensResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBRIDGETOKENSRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBridgeTokensResponse)
  })
_sym_db.RegisterMessage(QueryBridgeTokensResponse)

QueryBridgeCoinByDenomRequest = _reflection.GeneratedProtocolMessageType('QueryBridgeCoinByDenomRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBRIDGECOINBYDENOMREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBridgeCoinByDenomRequest)
  })
_sym_db.RegisterMessage(QueryBridgeCoinByDenomRequest)

QueryBridgeCoinByDenomResponse = _reflection.GeneratedProtocolMessageType('QueryBridgeCoinByDenomResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBRIDGECOINBYDENOMRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBridgeCoinByDenomResponse)
  })
_sym_db.RegisterMessage(QueryBridgeCoinByDenomResponse)

QueryBridgeChainListRequest = _reflection.GeneratedProtocolMessageType('QueryBridgeChainListRequest', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBRIDGECHAINLISTREQUEST,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBridgeChainListRequest)
  })
_sym_db.RegisterMessage(QueryBridgeChainListRequest)

QueryBridgeChainListResponse = _reflection.GeneratedProtocolMessageType('QueryBridgeChainListResponse', (_message.Message,), {
  'DESCRIPTOR' : _QUERYBRIDGECHAINLISTRESPONSE,
  '__module__' : 'fx.crosschain.v1.query_pb2'
  # @@protoc_insertion_point(class_scope:fx.gravity.crosschain.v1.QueryBridgeChainListResponse)
  })
_sym_db.RegisterMessage(QueryBridgeChainListResponse)

_QUERY = DESCRIPTOR.services_by_name['Query']
if _descriptor._USE_C_DESCRIPTORS == False:

  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'Z/github.com/functionx/fx-core/x/crosschain/types'
  _QUERYPARAMSRESPONSE.fields_by_name['params']._options = None
  _QUERYPARAMSRESPONSE.fields_by_name['params']._serialized_options = b'\310\336\037\000'
  _QUERYBATCHFEEREQUEST.fields_by_name['minBatchFees']._options = None
  _QUERYBATCHFEEREQUEST.fields_by_name['minBatchFees']._serialized_options = b'\310\336\037\000'
  _QUERYORACLESRESPONSE.fields_by_name['oracles']._options = None
  _QUERYORACLESRESPONSE.fields_by_name['oracles']._serialized_options = b'\310\336\037\000'
  _QUERYBRIDGECOINBYDENOMRESPONSE.fields_by_name['coin']._options = None
  _QUERYBRIDGECOINBYDENOMRESPONSE.fields_by_name['coin']._serialized_options = b'\310\336\037\000'
  _QUERY.methods_by_name['Params']._options = None
  _QUERY.methods_by_name['Params']._serialized_options = b'\202\323\344\223\002\032\022\030/fx/crosschain/v1/params'
  _QUERY.methods_by_name['CurrentOracleSet']._options = None
  _QUERY.methods_by_name['CurrentOracleSet']._serialized_options = b'\202\323\344\223\002&\022$/fx/crosschain/v1/oracle_set/current'
  _QUERY.methods_by_name['OracleSetRequest']._options = None
  _QUERY.methods_by_name['OracleSetRequest']._serialized_options = b'\202\323\344\223\002&\022$/fx/crosschain/v1/oracle_set/request'
  _QUERY.methods_by_name['OracleSetConfirm']._options = None
  _QUERY.methods_by_name['OracleSetConfirm']._serialized_options = b'\202\323\344\223\002&\022$/fx/crosschain/v1/oracle_set/confirm'
  _QUERY.methods_by_name['OracleSetConfirmsByNonce']._options = None
  _QUERY.methods_by_name['OracleSetConfirmsByNonce']._serialized_options = b'\202\323\344\223\002\'\022%/fx/crosschain/v1/oracle_set/confirms'
  _QUERY.methods_by_name['LastOracleSetRequests']._options = None
  _QUERY.methods_by_name['LastOracleSetRequests']._serialized_options = b'\202\323\344\223\002\'\022%/fx/crosschain/v1/oracle_set/requests'
  _QUERY.methods_by_name['LastPendingOracleSetRequestByAddr']._options = None
  _QUERY.methods_by_name['LastPendingOracleSetRequestByAddr']._serialized_options = b'\202\323\344\223\002#\022!/fx/crosschain/v1/oracle_set/last'
  _QUERY.methods_by_name['LastPendingBatchRequestByAddr']._options = None
  _QUERY.methods_by_name['LastPendingBatchRequestByAddr']._serialized_options = b'\202\323\344\223\002\036\022\034/fx/crosschain/v1/batch/last'
  _QUERY.methods_by_name['LastEventNonceByAddr']._options = None
  _QUERY.methods_by_name['LastEventNonceByAddr']._serialized_options = b'\202\323\344\223\002&\022$/fx/crosschain/v1/oracle/event_nonce'
  _QUERY.methods_by_name['LastEventBlockHeightByAddr']._options = None
  _QUERY.methods_by_name['LastEventBlockHeightByAddr']._serialized_options = b'\202\323\344\223\002-\022+/fx/crosschain/v1/oracle/event/block_height'
  _QUERY.methods_by_name['BatchFees']._options = None
  _QUERY.methods_by_name['BatchFees']._serialized_options = b'\202\323\344\223\002\036\022\034/fx/crosschain/v1/batch_fees'
  _QUERY.methods_by_name['LastObservedBlockHeight']._options = None
  _QUERY.methods_by_name['LastObservedBlockHeight']._serialized_options = b'\202\323\344\223\002)\022\'/fx/crosschain/v1/observed/block_height'
  _QUERY.methods_by_name['OutgoingTxBatches']._options = None
  _QUERY.methods_by_name['OutgoingTxBatches']._serialized_options = b'\202\323\344\223\002%\022#/fx/crosschain/v1/batch/outgoing_tx'
  _QUERY.methods_by_name['BatchRequestByNonce']._options = None
  _QUERY.methods_by_name['BatchRequestByNonce']._serialized_options = b'\202\323\344\223\002!\022\037/fx/crosschain/v1/batch/request'
  _QUERY.methods_by_name['BatchConfirm']._options = None
  _QUERY.methods_by_name['BatchConfirm']._serialized_options = b'\202\323\344\223\002!\022\037/fx/crosschain/v1/batch/confirm'
  _QUERY.methods_by_name['BatchConfirms']._options = None
  _QUERY.methods_by_name['BatchConfirms']._serialized_options = b'\202\323\344\223\002\"\022 /fx/crosschain/v1/batch/confirms'
  _QUERY.methods_by_name['TokenToDenom']._options = None
  _QUERY.methods_by_name['TokenToDenom']._serialized_options = b'\202\323\344\223\002\031\022\027/fx/crosschain/v1/denom'
  _QUERY.methods_by_name['DenomToToken']._options = None
  _QUERY.methods_by_name['DenomToToken']._serialized_options = b'\202\323\344\223\002\031\022\027/fx/crosschain/v1/token'
  _QUERY.methods_by_name['GetOracleByAddr']._options = None
  _QUERY.methods_by_name['GetOracleByAddr']._serialized_options = b'\202\323\344\223\002\"\022 /fx/crosschain/v1/oracle_by_addr'
  _QUERY.methods_by_name['GetOracleByExternalAddr']._options = None
  _QUERY.methods_by_name['GetOracleByExternalAddr']._serialized_options = b'\202\323\344\223\002+\022)/fx/crosschain/v1/oracle_by_external_addr'
  _QUERY.methods_by_name['GetOracleByBridgerAddr']._options = None
  _QUERY.methods_by_name['GetOracleByBridgerAddr']._serialized_options = b'\202\323\344\223\002*\022(/fx/crosschain/v1/oracle_by_bridger_addr'
  _QUERY.methods_by_name['GetPendingSendToExternal']._options = None
  _QUERY.methods_by_name['GetPendingSendToExternal']._serialized_options = b'\202\323\344\223\002,\022*/fx/crosschain/v1/pending_send_to_external'
  _QUERY.methods_by_name['Oracles']._options = None
  _QUERY.methods_by_name['Oracles']._serialized_options = b'\202\323\344\223\002\033\022\031/fx/crosschain/v1/oracles'
  _QUERY.methods_by_name['ProjectedBatchTimeoutHeight']._options = None
  _QUERY.methods_by_name['ProjectedBatchTimeoutHeight']._serialized_options = b'\202\323\344\223\002+\022)/fx/crosschain/v1/projected_batch_timeout'
  _QUERY.methods_by_name['BridgeTokens']._options = None
  _QUERY.methods_by_name['BridgeTokens']._serialized_options = b'\202\323\344\223\002!\022\037/fx/crosschain/v1/bridge_tokens'
  _QUERY.methods_by_name['BridgeCoinByDenom']._options = None
  _QUERY.methods_by_name['BridgeCoinByDenom']._serialized_options = b'\202\323\344\223\002(\022&/fx/crosschain/v1/bridge_coin_by_denom'
  _QUERY.methods_by_name['BridgeChainList']._options = None
  _QUERY.methods_by_name['BridgeChainList']._serialized_options = b'\202\323\344\223\002%\022#/fx/crosschain/v1/bridge_chain_list'
  _QUERYPARAMSREQUEST._serialized_start=199
  _QUERYPARAMSREQUEST._serialized_end=239
  _QUERYPARAMSRESPONSE._serialized_start=241
  _QUERYPARAMSRESPONSE._serialized_end=318
  _QUERYCURRENTORACLESETREQUEST._serialized_start=320
  _QUERYCURRENTORACLESETREQUEST._serialized_end=370
  _QUERYCURRENTORACLESETRESPONSE._serialized_start=372
  _QUERYCURRENTORACLESETRESPONSE._serialized_end=460
  _QUERYORACLESETREQUESTREQUEST._serialized_start=462
  _QUERYORACLESETREQUESTREQUEST._serialized_end=527
  _QUERYORACLESETREQUESTRESPONSE._serialized_start=529
  _QUERYORACLESETREQUESTRESPONSE._serialized_end=617
  _QUERYORACLESETCONFIRMREQUEST._serialized_start=619
  _QUERYORACLESETCONFIRMREQUEST._serialized_end=709
  _QUERYORACLESETCONFIRMRESPONSE._serialized_start=711
  _QUERYORACLESETCONFIRMRESPONSE._serialized_end=806
  _QUERYORACLESETCONFIRMSBYNONCEREQUEST._serialized_start=808
  _QUERYORACLESETCONFIRMSBYNONCEREQUEST._serialized_end=881
  _QUERYORACLESETCONFIRMSBYNONCERESPONSE._serialized_start=883
  _QUERYORACLESETCONFIRMSBYNONCERESPONSE._serialized_end=987
  _QUERYLASTORACLESETREQUESTSREQUEST._serialized_start=989
  _QUERYLASTORACLESETREQUESTSREQUEST._serialized_end=1044
  _QUERYLASTORACLESETREQUESTSRESPONSE._serialized_start=1046
  _QUERYLASTORACLESETREQUESTSRESPONSE._serialized_end=1140
  _QUERYLASTPENDINGORACLESETREQUESTBYADDRREQUEST._serialized_start=1142
  _QUERYLASTPENDINGORACLESETREQUESTBYADDRREQUEST._serialized_end=1234
  _QUERYLASTPENDINGORACLESETREQUESTBYADDRRESPONSE._serialized_start=1236
  _QUERYLASTPENDINGORACLESETREQUESTBYADDRRESPONSE._serialized_end=1342
  _QUERYBATCHFEEREQUEST._serialized_start=1344
  _QUERYBATCHFEEREQUEST._serialized_end=1453
  _QUERYBATCHFEERESPONSE._serialized_start=1455
  _QUERYBATCHFEERESPONSE._serialized_end=1535
  _QUERYLASTPENDINGBATCHREQUESTBYADDRREQUEST._serialized_start=1537
  _QUERYLASTPENDINGBATCHREQUESTBYADDRREQUEST._serialized_end=1625
  _QUERYLASTPENDINGBATCHREQUESTBYADDRRESPONSE._serialized_start=1627
  _QUERYLASTPENDINGBATCHREQUESTBYADDRRESPONSE._serialized_end=1729
  _QUERYOUTGOINGTXBATCHESREQUEST._serialized_start=1731
  _QUERYOUTGOINGTXBATCHESREQUEST._serialized_end=1782
  _QUERYOUTGOINGTXBATCHESRESPONSE._serialized_start=1784
  _QUERYOUTGOINGTXBATCHESRESPONSE._serialized_end=1876
  _QUERYBATCHREQUESTBYNONCEREQUEST._serialized_start=1878
  _QUERYBATCHREQUESTBYNONCEREQUEST._serialized_end=1970
  _QUERYBATCHREQUESTBYNONCERESPONSE._serialized_start=1972
  _QUERYBATCHREQUESTBYNONCERESPONSE._serialized_end=2064
  _QUERYBATCHCONFIRMREQUEST._serialized_start=2066
  _QUERYBATCHCONFIRMREQUEST._serialized_end=2176
  _QUERYBATCHCONFIRMRESPONSE._serialized_start=2178
  _QUERYBATCHCONFIRMRESPONSE._serialized_end=2265
  _QUERYBATCHCONFIRMSREQUEST._serialized_start=2267
  _QUERYBATCHCONFIRMSREQUEST._serialized_end=2353
  _QUERYBATCHCONFIRMSRESPONSE._serialized_start=2355
  _QUERYBATCHCONFIRMSRESPONSE._serialized_end=2444
  _QUERYLASTEVENTNONCEBYADDRREQUEST._serialized_start=2446
  _QUERYLASTEVENTNONCEBYADDRREQUEST._serialized_end=2525
  _QUERYLASTEVENTNONCEBYADDRRESPONSE._serialized_start=2527
  _QUERYLASTEVENTNONCEBYADDRRESPONSE._serialized_end=2583
  _QUERYTOKENTODENOMREQUEST._serialized_start=2585
  _QUERYTOKENTODENOMREQUEST._serialized_end=2646
  _QUERYTOKENTODENOMRESPONSE._serialized_start=2648
  _QUERYTOKENTODENOMRESPONSE._serialized_end=2690
  _QUERYDENOMTOTOKENREQUEST._serialized_start=2692
  _QUERYDENOMTOTOKENREQUEST._serialized_end=2753
  _QUERYDENOMTOTOKENRESPONSE._serialized_start=2755
  _QUERYDENOMTOTOKENRESPONSE._serialized_end=2797
  _QUERYORACLEBYADDRREQUEST._serialized_start=2799
  _QUERYORACLEBYADDRREQUEST._serialized_end=2869
  _QUERYORACLERESPONSE._serialized_start=2871
  _QUERYORACLERESPONSE._serialized_end=2942
  _QUERYORACLEBYEXTERNALADDRREQUEST._serialized_start=2944
  _QUERYORACLEBYEXTERNALADDRREQUEST._serialized_end=3024
  _QUERYORACLEBYBRIDGERADDRREQUEST._serialized_start=3026
  _QUERYORACLEBYBRIDGERADDRREQUEST._serialized_end=3104
  _QUERYPENDINGSENDTOEXTERNALREQUEST._serialized_start=3106
  _QUERYPENDINGSENDTOEXTERNALREQUEST._serialized_end=3185
  _QUERYPENDINGSENDTOEXTERNALRESPONSE._serialized_start=3188
  _QUERYPENDINGSENDTOEXTERNALRESPONSE._serialized_end=3375
  _QUERYLASTOBSERVEDBLOCKHEIGHTREQUEST._serialized_start=3377
  _QUERYLASTOBSERVEDBLOCKHEIGHTREQUEST._serialized_end=3434
  _QUERYLASTOBSERVEDBLOCKHEIGHTRESPONSE._serialized_start=3436
  _QUERYLASTOBSERVEDBLOCKHEIGHTRESPONSE._serialized_end=3527
  _QUERYLASTEVENTBLOCKHEIGHTBYADDRREQUEST._serialized_start=3529
  _QUERYLASTEVENTBLOCKHEIGHTBYADDRREQUEST._serialized_end=3614
  _QUERYLASTEVENTBLOCKHEIGHTBYADDRRESPONSE._serialized_start=3616
  _QUERYLASTEVENTBLOCKHEIGHTBYADDRRESPONSE._serialized_end=3679
  _QUERYORACLESREQUEST._serialized_start=3681
  _QUERYORACLESREQUEST._serialized_end=3722
  _QUERYORACLESRESPONSE._serialized_start=3724
  _QUERYORACLESRESPONSE._serialized_end=3803
  _QUERYPROJECTEDBATCHTIMEOUTHEIGHTREQUEST._serialized_start=3805
  _QUERYPROJECTEDBATCHTIMEOUTHEIGHTREQUEST._serialized_end=3866
  _QUERYPROJECTEDBATCHTIMEOUTHEIGHTRESPONSE._serialized_start=3868
  _QUERYPROJECTEDBATCHTIMEOUTHEIGHTRESPONSE._serialized_end=3934
  _QUERYBRIDGETOKENSREQUEST._serialized_start=3936
  _QUERYBRIDGETOKENSREQUEST._serialized_end=3982
  _QUERYBRIDGETOKENSRESPONSE._serialized_start=3984
  _QUERYBRIDGETOKENSRESPONSE._serialized_end=4073
  _QUERYBRIDGECOINBYDENOMREQUEST._serialized_start=4075
  _QUERYBRIDGECOINBYDENOMREQUEST._serialized_end=4141
  _QUERYBRIDGECOINBYDENOMRESPONSE._serialized_start=4143
  _QUERYBRIDGECOINBYDENOMRESPONSE._serialized_end=4222
  _QUERYBRIDGECHAINLISTREQUEST._serialized_start=4224
  _QUERYBRIDGECHAINLISTREQUEST._serialized_end=4253
  _QUERYBRIDGECHAINLISTRESPONSE._serialized_start=4255
  _QUERYBRIDGECHAINLISTRESPONSE._serialized_end=4306
  _QUERY._serialized_start=4309
  _QUERY._serialized_end=9220
# @@protoc_insertion_point(module_scope)
