# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: github.com/tendermint/tendermint/abci/types/types.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from github.com.gogo.protobuf.gogoproto import gogo_pb2 as github_dot_com_dot_gogo_dot_protobuf_dot_gogoproto_dot_gogo__pb2
from github.com.tendermint.tendermint.crypto.merkle import merkle_pb2 as github_dot_com_dot_tendermint_dot_tendermint_dot_crypto_dot_merkle_dot_merkle__pb2
from github.com.tendermint.tendermint.libs.common import types_pb2 as github_dot_com_dot_tendermint_dot_tendermint_dot_libs_dot_common_dot_types__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='github.com/tendermint/tendermint/abci/types/types.proto',
  package='types',
  syntax='proto3',
  serialized_pb=_b('\n7github.com/tendermint/tendermint/abci/types/types.proto\x12\x05types\x1a-github.com/gogo/protobuf/gogoproto/gogo.proto\x1a;github.com/tendermint/tendermint/crypto/merkle/merkle.proto\x1a\x38github.com/tendermint/tendermint/libs/common/types.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe4\x03\n\x07Request\x12\"\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32\x12.types.RequestEchoH\x00\x12$\n\x05\x66lush\x18\x03 \x01(\x0b\x32\x13.types.RequestFlushH\x00\x12\"\n\x04info\x18\x04 \x01(\x0b\x32\x12.types.RequestInfoH\x00\x12-\n\nset_option\x18\x05 \x01(\x0b\x32\x17.types.RequestSetOptionH\x00\x12-\n\ninit_chain\x18\x06 \x01(\x0b\x32\x17.types.RequestInitChainH\x00\x12$\n\x05query\x18\x07 \x01(\x0b\x32\x13.types.RequestQueryH\x00\x12/\n\x0b\x62\x65gin_block\x18\x08 \x01(\x0b\x32\x18.types.RequestBeginBlockH\x00\x12)\n\x08\x63heck_tx\x18\t \x01(\x0b\x32\x15.types.RequestCheckTxH\x00\x12-\n\ndeliver_tx\x18\x13 \x01(\x0b\x32\x17.types.RequestDeliverTxH\x00\x12+\n\tend_block\x18\x0b \x01(\x0b\x32\x16.types.RequestEndBlockH\x00\x12&\n\x06\x63ommit\x18\x0c \x01(\x0b\x32\x14.types.RequestCommitH\x00\x42\x07\n\x05value\"\x1e\n\x0bRequestEcho\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x0e\n\x0cRequestFlush\"J\n\x0bRequestInfo\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\x15\n\rblock_version\x18\x02 \x01(\x04\x12\x13\n\x0bp2p_version\x18\x03 \x01(\x04\".\n\x10RequestSetOption\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"\xd5\x01\n\x10RequestInitChain\x12\x32\n\x04time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01\x12\x10\n\x08\x63hain_id\x18\x02 \x01(\t\x12\x30\n\x10\x63onsensus_params\x18\x03 \x01(\x0b\x32\x16.types.ConsensusParams\x12\x30\n\nvalidators\x18\x04 \x03(\x0b\x32\x16.types.ValidatorUpdateB\x04\xc8\xde\x1f\x00\x12\x17\n\x0f\x61pp_state_bytes\x18\x05 \x01(\x0c\"I\n\x0cRequestQuery\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0e\n\x06height\x18\x03 \x01(\x03\x12\r\n\x05prove\x18\x04 \x01(\x08\"\xb2\x01\n\x11RequestBeginBlock\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12#\n\x06header\x18\x02 \x01(\x0b\x32\r.types.HeaderB\x04\xc8\xde\x1f\x00\x12\x35\n\x10last_commit_info\x18\x03 \x01(\x0b\x32\x15.types.LastCommitInfoB\x04\xc8\xde\x1f\x00\x12\x33\n\x14\x62yzantine_validators\x18\x04 \x03(\x0b\x32\x0f.types.EvidenceB\x04\xc8\xde\x1f\x00\"\x1c\n\x0eRequestCheckTx\x12\n\n\x02tx\x18\x01 \x01(\x0c\"\x1e\n\x10RequestDeliverTx\x12\n\n\x02tx\x18\x01 \x01(\x0c\"!\n\x0fRequestEndBlock\x12\x0e\n\x06height\x18\x01 \x01(\x03\"\x0f\n\rRequestCommit\"\x9f\x04\n\x08Response\x12-\n\texception\x18\x01 \x01(\x0b\x32\x18.types.ResponseExceptionH\x00\x12#\n\x04\x65\x63ho\x18\x02 \x01(\x0b\x32\x13.types.ResponseEchoH\x00\x12%\n\x05\x66lush\x18\x03 \x01(\x0b\x32\x14.types.ResponseFlushH\x00\x12#\n\x04info\x18\x04 \x01(\x0b\x32\x13.types.ResponseInfoH\x00\x12.\n\nset_option\x18\x05 \x01(\x0b\x32\x18.types.ResponseSetOptionH\x00\x12.\n\ninit_chain\x18\x06 \x01(\x0b\x32\x18.types.ResponseInitChainH\x00\x12%\n\x05query\x18\x07 \x01(\x0b\x32\x14.types.ResponseQueryH\x00\x12\x30\n\x0b\x62\x65gin_block\x18\x08 \x01(\x0b\x32\x19.types.ResponseBeginBlockH\x00\x12*\n\x08\x63heck_tx\x18\t \x01(\x0b\x32\x16.types.ResponseCheckTxH\x00\x12.\n\ndeliver_tx\x18\n \x01(\x0b\x32\x18.types.ResponseDeliverTxH\x00\x12,\n\tend_block\x18\x0b \x01(\x0b\x32\x17.types.ResponseEndBlockH\x00\x12\'\n\x06\x63ommit\x18\x0c \x01(\x0b\x32\x15.types.ResponseCommitH\x00\x42\x07\n\x05value\"\"\n\x11ResponseException\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"\x1f\n\x0cResponseEcho\x12\x0f\n\x07message\x18\x01 \x01(\t\"\x0f\n\rResponseFlush\"z\n\x0cResponseInfo\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x13\n\x0b\x61pp_version\x18\x03 \x01(\x04\x12\x19\n\x11last_block_height\x18\x04 \x01(\x03\x12\x1b\n\x13last_block_app_hash\x18\x05 \x01(\x0c\"<\n\x11ResponseSetOption\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0b\n\x03log\x18\x03 \x01(\t\x12\x0c\n\x04info\x18\x04 \x01(\t\"w\n\x11ResponseInitChain\x12\x30\n\x10\x63onsensus_params\x18\x01 \x01(\x0b\x32\x16.types.ConsensusParams\x12\x30\n\nvalidators\x18\x02 \x03(\x0b\x32\x16.types.ValidatorUpdateB\x04\xc8\xde\x1f\x00\"\xa4\x01\n\rResponseQuery\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0b\n\x03log\x18\x03 \x01(\t\x12\x0c\n\x04info\x18\x04 \x01(\t\x12\r\n\x05index\x18\x05 \x01(\x03\x12\x0b\n\x03key\x18\x06 \x01(\x0c\x12\r\n\x05value\x18\x07 \x01(\x0c\x12\x1c\n\x05proof\x18\x08 \x01(\x0b\x32\r.merkle.Proof\x12\x0e\n\x06height\x18\t \x01(\x03\x12\x11\n\tcodespace\x18\n \x01(\t\"J\n\x12ResponseBeginBlock\x12\x34\n\x04tags\x18\x01 \x03(\x0b\x32\x0e.common.KVPairB\x16\xc8\xde\x1f\x00\xea\xde\x1f\x0etags,omitempty\"\xb7\x01\n\x0fResponseCheckTx\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0b\n\x03log\x18\x03 \x01(\t\x12\x0c\n\x04info\x18\x04 \x01(\t\x12\x12\n\ngas_wanted\x18\x05 \x01(\x03\x12\x10\n\x08gas_used\x18\x06 \x01(\x03\x12\x34\n\x04tags\x18\x07 \x03(\x0b\x32\x0e.common.KVPairB\x16\xc8\xde\x1f\x00\xea\xde\x1f\x0etags,omitempty\x12\x11\n\tcodespace\x18\x08 \x01(\t\"\xb9\x01\n\x11ResponseDeliverTx\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\x0b\n\x03log\x18\x03 \x01(\t\x12\x0c\n\x04info\x18\x04 \x01(\t\x12\x12\n\ngas_wanted\x18\x05 \x01(\x03\x12\x10\n\x08gas_used\x18\x06 \x01(\x03\x12\x34\n\x04tags\x18\x07 \x03(\x0b\x32\x0e.common.KVPairB\x16\xc8\xde\x1f\x00\xea\xde\x1f\x0etags,omitempty\x12\x11\n\tcodespace\x18\x08 \x01(\t\"\xba\x01\n\x10ResponseEndBlock\x12\x37\n\x11validator_updates\x18\x01 \x03(\x0b\x32\x16.types.ValidatorUpdateB\x04\xc8\xde\x1f\x00\x12\x37\n\x17\x63onsensus_param_updates\x18\x02 \x01(\x0b\x32\x16.types.ConsensusParams\x12\x34\n\x04tags\x18\x03 \x03(\x0b\x32\x0e.common.KVPairB\x16\xc8\xde\x1f\x00\xea\xde\x1f\x0etags,omitempty\"\x1e\n\x0eResponseCommit\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x88\x01\n\x0f\x43onsensusParams\x12!\n\x05\x62lock\x18\x01 \x01(\x0b\x32\x12.types.BlockParams\x12\'\n\x08\x65vidence\x18\x02 \x01(\x0b\x32\x15.types.EvidenceParams\x12)\n\tvalidator\x18\x03 \x01(\x0b\x32\x16.types.ValidatorParams\"1\n\x0b\x42lockParams\x12\x11\n\tmax_bytes\x18\x01 \x01(\x03\x12\x0f\n\x07max_gas\x18\x02 \x01(\x03\"!\n\x0e\x45videnceParams\x12\x0f\n\x07max_age\x18\x01 \x01(\x03\"(\n\x0fValidatorParams\x12\x15\n\rpub_key_types\x18\x01 \x03(\t\"E\n\x0eLastCommitInfo\x12\r\n\x05round\x18\x01 \x01(\x05\x12$\n\x05votes\x18\x02 \x03(\x0b\x32\x0f.types.VoteInfoB\x04\xc8\xde\x1f\x00\"\xbd\x03\n\x06Header\x12%\n\x07version\x18\x01 \x01(\x0b\x32\x0e.types.VersionB\x04\xc8\xde\x1f\x00\x12\x1d\n\x08\x63hain_id\x18\x02 \x01(\tB\x0b\xe2\xde\x1f\x07\x43hainID\x12\x0e\n\x06height\x18\x03 \x01(\x03\x12\x32\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01\x12\x0f\n\x07num_txs\x18\x05 \x01(\x03\x12\x11\n\ttotal_txs\x18\x06 \x01(\x03\x12+\n\rlast_block_id\x18\x07 \x01(\x0b\x32\x0e.types.BlockIDB\x04\xc8\xde\x1f\x00\x12\x18\n\x10last_commit_hash\x18\x08 \x01(\x0c\x12\x11\n\tdata_hash\x18\t \x01(\x0c\x12\x17\n\x0fvalidators_hash\x18\n \x01(\x0c\x12\x1c\n\x14next_validators_hash\x18\x0b \x01(\x0c\x12\x16\n\x0e\x63onsensus_hash\x18\x0c \x01(\x0c\x12\x10\n\x08\x61pp_hash\x18\r \x01(\x0c\x12\x19\n\x11last_results_hash\x18\x0e \x01(\x0c\x12\x15\n\revidence_hash\x18\x0f \x01(\x0c\x12\x18\n\x10proposer_address\x18\x10 \x01(\x0c\"%\n\x07Version\x12\r\n\x05\x42lock\x18\x01 \x01(\x04\x12\x0b\n\x03\x41pp\x18\x02 \x01(\x04\"I\n\x07\x42lockID\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x30\n\x0cparts_header\x18\x02 \x01(\x0b\x32\x14.types.PartSetHeaderB\x04\xc8\xde\x1f\x00\",\n\rPartSetHeader\x12\r\n\x05total\x18\x01 \x01(\x05\x12\x0c\n\x04hash\x18\x02 \x01(\x0c\"+\n\tValidator\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\r\n\x05power\x18\x03 \x01(\x03\"F\n\x0fValidatorUpdate\x12$\n\x07pub_key\x18\x01 \x01(\x0b\x32\r.types.PubKeyB\x04\xc8\xde\x1f\x00\x12\r\n\x05power\x18\x02 \x01(\x03\"P\n\x08VoteInfo\x12)\n\tvalidator\x18\x01 \x01(\x0b\x32\x10.types.ValidatorB\x04\xc8\xde\x1f\x00\x12\x19\n\x11signed_last_block\x18\x02 \x01(\x08\"$\n\x06PubKey\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xa3\x01\n\x08\x45vidence\x12\x0c\n\x04type\x18\x01 \x01(\t\x12)\n\tvalidator\x18\x02 \x01(\x0b\x32\x10.types.ValidatorB\x04\xc8\xde\x1f\x00\x12\x0e\n\x06height\x18\x03 \x01(\x03\x12\x32\n\x04time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x08\xc8\xde\x1f\x00\x90\xdf\x1f\x01\x12\x1a\n\x12total_voting_power\x18\x05 \x01(\x03\x32\x8c\x05\n\x0f\x41\x42\x43IApplication\x12/\n\x04\x45\x63ho\x12\x12.types.RequestEcho\x1a\x13.types.ResponseEcho\x12\x32\n\x05\x46lush\x12\x13.types.RequestFlush\x1a\x14.types.ResponseFlush\x12/\n\x04Info\x12\x12.types.RequestInfo\x1a\x13.types.ResponseInfo\x12>\n\tSetOption\x12\x17.types.RequestSetOption\x1a\x18.types.ResponseSetOption\x12>\n\tDeliverTx\x12\x17.types.RequestDeliverTx\x1a\x18.types.ResponseDeliverTx\x12\x38\n\x07\x43heckTx\x12\x15.types.RequestCheckTx\x1a\x16.types.ResponseCheckTx\x12\x32\n\x05Query\x12\x13.types.RequestQuery\x1a\x14.types.ResponseQuery\x12\x35\n\x06\x43ommit\x12\x14.types.RequestCommit\x1a\x15.types.ResponseCommit\x12>\n\tInitChain\x12\x17.types.RequestInitChain\x1a\x18.types.ResponseInitChain\x12\x41\n\nBeginBlock\x12\x18.types.RequestBeginBlock\x1a\x19.types.ResponseBeginBlock\x12;\n\x08\x45ndBlock\x12\x16.types.RequestEndBlock\x1a\x17.types.ResponseEndBlockB\x1c\xc8\xe2\x1e\x01\xd0\xe2\x1e\x01\xe0\xe2\x1e\x01\xc0\xe3\x1e\x01\xf8\xe1\x1e\x01\xa8\xe2\x1e\x01\xb8\xe2\x1e\x01\x62\x06proto3')
  ,
  dependencies=[github_dot_com_dot_gogo_dot_protobuf_dot_gogoproto_dot_gogo__pb2.DESCRIPTOR,github_dot_com_dot_tendermint_dot_tendermint_dot_crypto_dot_merkle_dot_merkle__pb2.DESCRIPTOR,github_dot_com_dot_tendermint_dot_tendermint_dot_libs_dot_common_dot_types__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])




_REQUEST = _descriptor.Descriptor(
  name='Request',
  full_name='types.Request',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='echo', full_name='types.Request.echo', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='flush', full_name='types.Request.flush', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='info', full_name='types.Request.info', index=2,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='set_option', full_name='types.Request.set_option', index=3,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='init_chain', full_name='types.Request.init_chain', index=4,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='query', full_name='types.Request.query', index=5,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='begin_block', full_name='types.Request.begin_block', index=6,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='check_tx', full_name='types.Request.check_tx', index=7,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='deliver_tx', full_name='types.Request.deliver_tx', index=8,
      number=19, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_block', full_name='types.Request.end_block', index=9,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='commit', full_name='types.Request.commit', index=10,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='types.Request.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=266,
  serialized_end=750,
)


_REQUESTECHO = _descriptor.Descriptor(
  name='RequestEcho',
  full_name='types.RequestEcho',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message', full_name='types.RequestEcho.message', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=752,
  serialized_end=782,
)


_REQUESTFLUSH = _descriptor.Descriptor(
  name='RequestFlush',
  full_name='types.RequestFlush',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=784,
  serialized_end=798,
)


_REQUESTINFO = _descriptor.Descriptor(
  name='RequestInfo',
  full_name='types.RequestInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='types.RequestInfo.version', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_version', full_name='types.RequestInfo.block_version', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='p2p_version', full_name='types.RequestInfo.p2p_version', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=800,
  serialized_end=874,
)


_REQUESTSETOPTION = _descriptor.Descriptor(
  name='RequestSetOption',
  full_name='types.RequestSetOption',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='types.RequestSetOption.key', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='types.RequestSetOption.value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=876,
  serialized_end=922,
)


_REQUESTINITCHAIN = _descriptor.Descriptor(
  name='RequestInitChain',
  full_name='types.RequestInitChain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='time', full_name='types.RequestInitChain.time', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\220\337\037\001')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chain_id', full_name='types.RequestInitChain.chain_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='consensus_params', full_name='types.RequestInitChain.consensus_params', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='validators', full_name='types.RequestInitChain.validators', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='app_state_bytes', full_name='types.RequestInitChain.app_state_bytes', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=925,
  serialized_end=1138,
)


_REQUESTQUERY = _descriptor.Descriptor(
  name='RequestQuery',
  full_name='types.RequestQuery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='types.RequestQuery.data', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='path', full_name='types.RequestQuery.path', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='height', full_name='types.RequestQuery.height', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='prove', full_name='types.RequestQuery.prove', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1140,
  serialized_end=1213,
)


_REQUESTBEGINBLOCK = _descriptor.Descriptor(
  name='RequestBeginBlock',
  full_name='types.RequestBeginBlock',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='types.RequestBeginBlock.hash', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='header', full_name='types.RequestBeginBlock.header', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_commit_info', full_name='types.RequestBeginBlock.last_commit_info', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='byzantine_validators', full_name='types.RequestBeginBlock.byzantine_validators', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1216,
  serialized_end=1394,
)


_REQUESTCHECKTX = _descriptor.Descriptor(
  name='RequestCheckTx',
  full_name='types.RequestCheckTx',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tx', full_name='types.RequestCheckTx.tx', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1396,
  serialized_end=1424,
)


_REQUESTDELIVERTX = _descriptor.Descriptor(
  name='RequestDeliverTx',
  full_name='types.RequestDeliverTx',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tx', full_name='types.RequestDeliverTx.tx', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1426,
  serialized_end=1456,
)


_REQUESTENDBLOCK = _descriptor.Descriptor(
  name='RequestEndBlock',
  full_name='types.RequestEndBlock',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='height', full_name='types.RequestEndBlock.height', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1458,
  serialized_end=1491,
)


_REQUESTCOMMIT = _descriptor.Descriptor(
  name='RequestCommit',
  full_name='types.RequestCommit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1493,
  serialized_end=1508,
)


_RESPONSE = _descriptor.Descriptor(
  name='Response',
  full_name='types.Response',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='exception', full_name='types.Response.exception', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='echo', full_name='types.Response.echo', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='flush', full_name='types.Response.flush', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='info', full_name='types.Response.info', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='set_option', full_name='types.Response.set_option', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='init_chain', full_name='types.Response.init_chain', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='query', full_name='types.Response.query', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='begin_block', full_name='types.Response.begin_block', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='check_tx', full_name='types.Response.check_tx', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='deliver_tx', full_name='types.Response.deliver_tx', index=9,
      number=10, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_block', full_name='types.Response.end_block', index=10,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='commit', full_name='types.Response.commit', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='types.Response.value',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1511,
  serialized_end=2054,
)


_RESPONSEEXCEPTION = _descriptor.Descriptor(
  name='ResponseException',
  full_name='types.ResponseException',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='error', full_name='types.ResponseException.error', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2056,
  serialized_end=2090,
)


_RESPONSEECHO = _descriptor.Descriptor(
  name='ResponseEcho',
  full_name='types.ResponseEcho',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message', full_name='types.ResponseEcho.message', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2092,
  serialized_end=2123,
)


_RESPONSEFLUSH = _descriptor.Descriptor(
  name='ResponseFlush',
  full_name='types.ResponseFlush',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2125,
  serialized_end=2140,
)


_RESPONSEINFO = _descriptor.Descriptor(
  name='ResponseInfo',
  full_name='types.ResponseInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='types.ResponseInfo.data', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version', full_name='types.ResponseInfo.version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='app_version', full_name='types.ResponseInfo.app_version', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_block_height', full_name='types.ResponseInfo.last_block_height', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_block_app_hash', full_name='types.ResponseInfo.last_block_app_hash', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2142,
  serialized_end=2264,
)


_RESPONSESETOPTION = _descriptor.Descriptor(
  name='ResponseSetOption',
  full_name='types.ResponseSetOption',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='code', full_name='types.ResponseSetOption.code', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='log', full_name='types.ResponseSetOption.log', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='info', full_name='types.ResponseSetOption.info', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2266,
  serialized_end=2326,
)


_RESPONSEINITCHAIN = _descriptor.Descriptor(
  name='ResponseInitChain',
  full_name='types.ResponseInitChain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='consensus_params', full_name='types.ResponseInitChain.consensus_params', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='validators', full_name='types.ResponseInitChain.validators', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2328,
  serialized_end=2447,
)


_RESPONSEQUERY = _descriptor.Descriptor(
  name='ResponseQuery',
  full_name='types.ResponseQuery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='code', full_name='types.ResponseQuery.code', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='log', full_name='types.ResponseQuery.log', index=1,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='info', full_name='types.ResponseQuery.info', index=2,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='index', full_name='types.ResponseQuery.index', index=3,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='key', full_name='types.ResponseQuery.key', index=4,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='value', full_name='types.ResponseQuery.value', index=5,
      number=7, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='proof', full_name='types.ResponseQuery.proof', index=6,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='height', full_name='types.ResponseQuery.height', index=7,
      number=9, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='codespace', full_name='types.ResponseQuery.codespace', index=8,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2450,
  serialized_end=2614,
)


_RESPONSEBEGINBLOCK = _descriptor.Descriptor(
  name='ResponseBeginBlock',
  full_name='types.ResponseBeginBlock',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tags', full_name='types.ResponseBeginBlock.tags', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty')), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2616,
  serialized_end=2690,
)


_RESPONSECHECKTX = _descriptor.Descriptor(
  name='ResponseCheckTx',
  full_name='types.ResponseCheckTx',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='code', full_name='types.ResponseCheckTx.code', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='data', full_name='types.ResponseCheckTx.data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='log', full_name='types.ResponseCheckTx.log', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='info', full_name='types.ResponseCheckTx.info', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gas_wanted', full_name='types.ResponseCheckTx.gas_wanted', index=4,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gas_used', full_name='types.ResponseCheckTx.gas_used', index=5,
      number=6, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tags', full_name='types.ResponseCheckTx.tags', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='codespace', full_name='types.ResponseCheckTx.codespace', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2693,
  serialized_end=2876,
)


_RESPONSEDELIVERTX = _descriptor.Descriptor(
  name='ResponseDeliverTx',
  full_name='types.ResponseDeliverTx',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='code', full_name='types.ResponseDeliverTx.code', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='data', full_name='types.ResponseDeliverTx.data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='log', full_name='types.ResponseDeliverTx.log', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='info', full_name='types.ResponseDeliverTx.info', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gas_wanted', full_name='types.ResponseDeliverTx.gas_wanted', index=4,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gas_used', full_name='types.ResponseDeliverTx.gas_used', index=5,
      number=6, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tags', full_name='types.ResponseDeliverTx.tags', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='codespace', full_name='types.ResponseDeliverTx.codespace', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2879,
  serialized_end=3064,
)


_RESPONSEENDBLOCK = _descriptor.Descriptor(
  name='ResponseEndBlock',
  full_name='types.ResponseEndBlock',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='validator_updates', full_name='types.ResponseEndBlock.validator_updates', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='consensus_param_updates', full_name='types.ResponseEndBlock.consensus_param_updates', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tags', full_name='types.ResponseEndBlock.tags', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty')), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3067,
  serialized_end=3253,
)


_RESPONSECOMMIT = _descriptor.Descriptor(
  name='ResponseCommit',
  full_name='types.ResponseCommit',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='types.ResponseCommit.data', index=0,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3255,
  serialized_end=3285,
)


_CONSENSUSPARAMS = _descriptor.Descriptor(
  name='ConsensusParams',
  full_name='types.ConsensusParams',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block', full_name='types.ConsensusParams.block', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='evidence', full_name='types.ConsensusParams.evidence', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='validator', full_name='types.ConsensusParams.validator', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3288,
  serialized_end=3424,
)


_BLOCKPARAMS = _descriptor.Descriptor(
  name='BlockParams',
  full_name='types.BlockParams',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='max_bytes', full_name='types.BlockParams.max_bytes', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_gas', full_name='types.BlockParams.max_gas', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3426,
  serialized_end=3475,
)


_EVIDENCEPARAMS = _descriptor.Descriptor(
  name='EvidenceParams',
  full_name='types.EvidenceParams',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='max_age', full_name='types.EvidenceParams.max_age', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3477,
  serialized_end=3510,
)


_VALIDATORPARAMS = _descriptor.Descriptor(
  name='ValidatorParams',
  full_name='types.ValidatorParams',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pub_key_types', full_name='types.ValidatorParams.pub_key_types', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3512,
  serialized_end=3552,
)


_LASTCOMMITINFO = _descriptor.Descriptor(
  name='LastCommitInfo',
  full_name='types.LastCommitInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='round', full_name='types.LastCommitInfo.round', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='votes', full_name='types.LastCommitInfo.votes', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3554,
  serialized_end=3623,
)


_HEADER = _descriptor.Descriptor(
  name='Header',
  full_name='types.Header',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='types.Header.version', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chain_id', full_name='types.Header.chain_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\336\037\007ChainID')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='height', full_name='types.Header.height', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='time', full_name='types.Header.time', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\220\337\037\001')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='num_txs', full_name='types.Header.num_txs', index=4,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='total_txs', full_name='types.Header.total_txs', index=5,
      number=6, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_block_id', full_name='types.Header.last_block_id', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_commit_hash', full_name='types.Header.last_commit_hash', index=7,
      number=8, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='data_hash', full_name='types.Header.data_hash', index=8,
      number=9, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='validators_hash', full_name='types.Header.validators_hash', index=9,
      number=10, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='next_validators_hash', full_name='types.Header.next_validators_hash', index=10,
      number=11, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='consensus_hash', full_name='types.Header.consensus_hash', index=11,
      number=12, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='app_hash', full_name='types.Header.app_hash', index=12,
      number=13, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_results_hash', full_name='types.Header.last_results_hash', index=13,
      number=14, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='evidence_hash', full_name='types.Header.evidence_hash', index=14,
      number=15, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='proposer_address', full_name='types.Header.proposer_address', index=15,
      number=16, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3626,
  serialized_end=4071,
)


_VERSION = _descriptor.Descriptor(
  name='Version',
  full_name='types.Version',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='Block', full_name='types.Version.Block', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='App', full_name='types.Version.App', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4073,
  serialized_end=4110,
)


_BLOCKID = _descriptor.Descriptor(
  name='BlockID',
  full_name='types.BlockID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='types.BlockID.hash', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='parts_header', full_name='types.BlockID.parts_header', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4112,
  serialized_end=4185,
)


_PARTSETHEADER = _descriptor.Descriptor(
  name='PartSetHeader',
  full_name='types.PartSetHeader',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='total', full_name='types.PartSetHeader.total', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hash', full_name='types.PartSetHeader.hash', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4187,
  serialized_end=4231,
)


_VALIDATOR = _descriptor.Descriptor(
  name='Validator',
  full_name='types.Validator',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='types.Validator.address', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='power', full_name='types.Validator.power', index=1,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4233,
  serialized_end=4276,
)


_VALIDATORUPDATE = _descriptor.Descriptor(
  name='ValidatorUpdate',
  full_name='types.ValidatorUpdate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pub_key', full_name='types.ValidatorUpdate.pub_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='power', full_name='types.ValidatorUpdate.power', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4278,
  serialized_end=4348,
)


_VOTEINFO = _descriptor.Descriptor(
  name='VoteInfo',
  full_name='types.VoteInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='validator', full_name='types.VoteInfo.validator', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signed_last_block', full_name='types.VoteInfo.signed_last_block', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4350,
  serialized_end=4430,
)


_PUBKEY = _descriptor.Descriptor(
  name='PubKey',
  full_name='types.PubKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='types.PubKey.type', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='data', full_name='types.PubKey.data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4432,
  serialized_end=4468,
)


_EVIDENCE = _descriptor.Descriptor(
  name='Evidence',
  full_name='types.Evidence',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='types.Evidence.type', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='validator', full_name='types.Evidence.validator', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='height', full_name='types.Evidence.height', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='time', full_name='types.Evidence.time', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\220\337\037\001')), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='total_voting_power', full_name='types.Evidence.total_voting_power', index=4,
      number=5, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4471,
  serialized_end=4634,
)

_REQUEST.fields_by_name['echo'].message_type = _REQUESTECHO
_REQUEST.fields_by_name['flush'].message_type = _REQUESTFLUSH
_REQUEST.fields_by_name['info'].message_type = _REQUESTINFO
_REQUEST.fields_by_name['set_option'].message_type = _REQUESTSETOPTION
_REQUEST.fields_by_name['init_chain'].message_type = _REQUESTINITCHAIN
_REQUEST.fields_by_name['query'].message_type = _REQUESTQUERY
_REQUEST.fields_by_name['begin_block'].message_type = _REQUESTBEGINBLOCK
_REQUEST.fields_by_name['check_tx'].message_type = _REQUESTCHECKTX
_REQUEST.fields_by_name['deliver_tx'].message_type = _REQUESTDELIVERTX
_REQUEST.fields_by_name['end_block'].message_type = _REQUESTENDBLOCK
_REQUEST.fields_by_name['commit'].message_type = _REQUESTCOMMIT
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['echo'])
_REQUEST.fields_by_name['echo'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['flush'])
_REQUEST.fields_by_name['flush'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['info'])
_REQUEST.fields_by_name['info'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['set_option'])
_REQUEST.fields_by_name['set_option'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['init_chain'])
_REQUEST.fields_by_name['init_chain'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['query'])
_REQUEST.fields_by_name['query'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['begin_block'])
_REQUEST.fields_by_name['begin_block'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['check_tx'])
_REQUEST.fields_by_name['check_tx'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['deliver_tx'])
_REQUEST.fields_by_name['deliver_tx'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['end_block'])
_REQUEST.fields_by_name['end_block'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUEST.oneofs_by_name['value'].fields.append(
  _REQUEST.fields_by_name['commit'])
_REQUEST.fields_by_name['commit'].containing_oneof = _REQUEST.oneofs_by_name['value']
_REQUESTINITCHAIN.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_REQUESTINITCHAIN.fields_by_name['consensus_params'].message_type = _CONSENSUSPARAMS
_REQUESTINITCHAIN.fields_by_name['validators'].message_type = _VALIDATORUPDATE
_REQUESTBEGINBLOCK.fields_by_name['header'].message_type = _HEADER
_REQUESTBEGINBLOCK.fields_by_name['last_commit_info'].message_type = _LASTCOMMITINFO
_REQUESTBEGINBLOCK.fields_by_name['byzantine_validators'].message_type = _EVIDENCE
_RESPONSE.fields_by_name['exception'].message_type = _RESPONSEEXCEPTION
_RESPONSE.fields_by_name['echo'].message_type = _RESPONSEECHO
_RESPONSE.fields_by_name['flush'].message_type = _RESPONSEFLUSH
_RESPONSE.fields_by_name['info'].message_type = _RESPONSEINFO
_RESPONSE.fields_by_name['set_option'].message_type = _RESPONSESETOPTION
_RESPONSE.fields_by_name['init_chain'].message_type = _RESPONSEINITCHAIN
_RESPONSE.fields_by_name['query'].message_type = _RESPONSEQUERY
_RESPONSE.fields_by_name['begin_block'].message_type = _RESPONSEBEGINBLOCK
_RESPONSE.fields_by_name['check_tx'].message_type = _RESPONSECHECKTX
_RESPONSE.fields_by_name['deliver_tx'].message_type = _RESPONSEDELIVERTX
_RESPONSE.fields_by_name['end_block'].message_type = _RESPONSEENDBLOCK
_RESPONSE.fields_by_name['commit'].message_type = _RESPONSECOMMIT
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['exception'])
_RESPONSE.fields_by_name['exception'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['echo'])
_RESPONSE.fields_by_name['echo'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['flush'])
_RESPONSE.fields_by_name['flush'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['info'])
_RESPONSE.fields_by_name['info'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['set_option'])
_RESPONSE.fields_by_name['set_option'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['init_chain'])
_RESPONSE.fields_by_name['init_chain'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['query'])
_RESPONSE.fields_by_name['query'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['begin_block'])
_RESPONSE.fields_by_name['begin_block'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['check_tx'])
_RESPONSE.fields_by_name['check_tx'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['deliver_tx'])
_RESPONSE.fields_by_name['deliver_tx'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['end_block'])
_RESPONSE.fields_by_name['end_block'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSE.oneofs_by_name['value'].fields.append(
  _RESPONSE.fields_by_name['commit'])
_RESPONSE.fields_by_name['commit'].containing_oneof = _RESPONSE.oneofs_by_name['value']
_RESPONSEINITCHAIN.fields_by_name['consensus_params'].message_type = _CONSENSUSPARAMS
_RESPONSEINITCHAIN.fields_by_name['validators'].message_type = _VALIDATORUPDATE
_RESPONSEQUERY.fields_by_name['proof'].message_type = github_dot_com_dot_tendermint_dot_tendermint_dot_crypto_dot_merkle_dot_merkle__pb2._PROOF
_RESPONSEBEGINBLOCK.fields_by_name['tags'].message_type = github_dot_com_dot_tendermint_dot_tendermint_dot_libs_dot_common_dot_types__pb2._KVPAIR
_RESPONSECHECKTX.fields_by_name['tags'].message_type = github_dot_com_dot_tendermint_dot_tendermint_dot_libs_dot_common_dot_types__pb2._KVPAIR
_RESPONSEDELIVERTX.fields_by_name['tags'].message_type = github_dot_com_dot_tendermint_dot_tendermint_dot_libs_dot_common_dot_types__pb2._KVPAIR
_RESPONSEENDBLOCK.fields_by_name['validator_updates'].message_type = _VALIDATORUPDATE
_RESPONSEENDBLOCK.fields_by_name['consensus_param_updates'].message_type = _CONSENSUSPARAMS
_RESPONSEENDBLOCK.fields_by_name['tags'].message_type = github_dot_com_dot_tendermint_dot_tendermint_dot_libs_dot_common_dot_types__pb2._KVPAIR
_CONSENSUSPARAMS.fields_by_name['block'].message_type = _BLOCKPARAMS
_CONSENSUSPARAMS.fields_by_name['evidence'].message_type = _EVIDENCEPARAMS
_CONSENSUSPARAMS.fields_by_name['validator'].message_type = _VALIDATORPARAMS
_LASTCOMMITINFO.fields_by_name['votes'].message_type = _VOTEINFO
_HEADER.fields_by_name['version'].message_type = _VERSION
_HEADER.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_HEADER.fields_by_name['last_block_id'].message_type = _BLOCKID
_BLOCKID.fields_by_name['parts_header'].message_type = _PARTSETHEADER
_VALIDATORUPDATE.fields_by_name['pub_key'].message_type = _PUBKEY
_VOTEINFO.fields_by_name['validator'].message_type = _VALIDATOR
_EVIDENCE.fields_by_name['validator'].message_type = _VALIDATOR
_EVIDENCE.fields_by_name['time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
DESCRIPTOR.message_types_by_name['Request'] = _REQUEST
DESCRIPTOR.message_types_by_name['RequestEcho'] = _REQUESTECHO
DESCRIPTOR.message_types_by_name['RequestFlush'] = _REQUESTFLUSH
DESCRIPTOR.message_types_by_name['RequestInfo'] = _REQUESTINFO
DESCRIPTOR.message_types_by_name['RequestSetOption'] = _REQUESTSETOPTION
DESCRIPTOR.message_types_by_name['RequestInitChain'] = _REQUESTINITCHAIN
DESCRIPTOR.message_types_by_name['RequestQuery'] = _REQUESTQUERY
DESCRIPTOR.message_types_by_name['RequestBeginBlock'] = _REQUESTBEGINBLOCK
DESCRIPTOR.message_types_by_name['RequestCheckTx'] = _REQUESTCHECKTX
DESCRIPTOR.message_types_by_name['RequestDeliverTx'] = _REQUESTDELIVERTX
DESCRIPTOR.message_types_by_name['RequestEndBlock'] = _REQUESTENDBLOCK
DESCRIPTOR.message_types_by_name['RequestCommit'] = _REQUESTCOMMIT
DESCRIPTOR.message_types_by_name['Response'] = _RESPONSE
DESCRIPTOR.message_types_by_name['ResponseException'] = _RESPONSEEXCEPTION
DESCRIPTOR.message_types_by_name['ResponseEcho'] = _RESPONSEECHO
DESCRIPTOR.message_types_by_name['ResponseFlush'] = _RESPONSEFLUSH
DESCRIPTOR.message_types_by_name['ResponseInfo'] = _RESPONSEINFO
DESCRIPTOR.message_types_by_name['ResponseSetOption'] = _RESPONSESETOPTION
DESCRIPTOR.message_types_by_name['ResponseInitChain'] = _RESPONSEINITCHAIN
DESCRIPTOR.message_types_by_name['ResponseQuery'] = _RESPONSEQUERY
DESCRIPTOR.message_types_by_name['ResponseBeginBlock'] = _RESPONSEBEGINBLOCK
DESCRIPTOR.message_types_by_name['ResponseCheckTx'] = _RESPONSECHECKTX
DESCRIPTOR.message_types_by_name['ResponseDeliverTx'] = _RESPONSEDELIVERTX
DESCRIPTOR.message_types_by_name['ResponseEndBlock'] = _RESPONSEENDBLOCK
DESCRIPTOR.message_types_by_name['ResponseCommit'] = _RESPONSECOMMIT
DESCRIPTOR.message_types_by_name['ConsensusParams'] = _CONSENSUSPARAMS
DESCRIPTOR.message_types_by_name['BlockParams'] = _BLOCKPARAMS
DESCRIPTOR.message_types_by_name['EvidenceParams'] = _EVIDENCEPARAMS
DESCRIPTOR.message_types_by_name['ValidatorParams'] = _VALIDATORPARAMS
DESCRIPTOR.message_types_by_name['LastCommitInfo'] = _LASTCOMMITINFO
DESCRIPTOR.message_types_by_name['Header'] = _HEADER
DESCRIPTOR.message_types_by_name['Version'] = _VERSION
DESCRIPTOR.message_types_by_name['BlockID'] = _BLOCKID
DESCRIPTOR.message_types_by_name['PartSetHeader'] = _PARTSETHEADER
DESCRIPTOR.message_types_by_name['Validator'] = _VALIDATOR
DESCRIPTOR.message_types_by_name['ValidatorUpdate'] = _VALIDATORUPDATE
DESCRIPTOR.message_types_by_name['VoteInfo'] = _VOTEINFO
DESCRIPTOR.message_types_by_name['PubKey'] = _PUBKEY
DESCRIPTOR.message_types_by_name['Evidence'] = _EVIDENCE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Request = _reflection.GeneratedProtocolMessageType('Request', (_message.Message,), dict(
  DESCRIPTOR = _REQUEST,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.Request)
  ))
_sym_db.RegisterMessage(Request)

RequestEcho = _reflection.GeneratedProtocolMessageType('RequestEcho', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTECHO,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestEcho)
  ))
_sym_db.RegisterMessage(RequestEcho)

RequestFlush = _reflection.GeneratedProtocolMessageType('RequestFlush', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTFLUSH,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestFlush)
  ))
_sym_db.RegisterMessage(RequestFlush)

RequestInfo = _reflection.GeneratedProtocolMessageType('RequestInfo', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTINFO,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestInfo)
  ))
_sym_db.RegisterMessage(RequestInfo)

RequestSetOption = _reflection.GeneratedProtocolMessageType('RequestSetOption', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTSETOPTION,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestSetOption)
  ))
_sym_db.RegisterMessage(RequestSetOption)

RequestInitChain = _reflection.GeneratedProtocolMessageType('RequestInitChain', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTINITCHAIN,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestInitChain)
  ))
_sym_db.RegisterMessage(RequestInitChain)

RequestQuery = _reflection.GeneratedProtocolMessageType('RequestQuery', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTQUERY,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestQuery)
  ))
_sym_db.RegisterMessage(RequestQuery)

RequestBeginBlock = _reflection.GeneratedProtocolMessageType('RequestBeginBlock', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTBEGINBLOCK,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestBeginBlock)
  ))
_sym_db.RegisterMessage(RequestBeginBlock)

RequestCheckTx = _reflection.GeneratedProtocolMessageType('RequestCheckTx', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTCHECKTX,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestCheckTx)
  ))
_sym_db.RegisterMessage(RequestCheckTx)

RequestDeliverTx = _reflection.GeneratedProtocolMessageType('RequestDeliverTx', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTDELIVERTX,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestDeliverTx)
  ))
_sym_db.RegisterMessage(RequestDeliverTx)

RequestEndBlock = _reflection.GeneratedProtocolMessageType('RequestEndBlock', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTENDBLOCK,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestEndBlock)
  ))
_sym_db.RegisterMessage(RequestEndBlock)

RequestCommit = _reflection.GeneratedProtocolMessageType('RequestCommit', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTCOMMIT,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.RequestCommit)
  ))
_sym_db.RegisterMessage(RequestCommit)

Response = _reflection.GeneratedProtocolMessageType('Response', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSE,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.Response)
  ))
_sym_db.RegisterMessage(Response)

ResponseException = _reflection.GeneratedProtocolMessageType('ResponseException', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEEXCEPTION,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseException)
  ))
_sym_db.RegisterMessage(ResponseException)

ResponseEcho = _reflection.GeneratedProtocolMessageType('ResponseEcho', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEECHO,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseEcho)
  ))
_sym_db.RegisterMessage(ResponseEcho)

ResponseFlush = _reflection.GeneratedProtocolMessageType('ResponseFlush', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEFLUSH,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseFlush)
  ))
_sym_db.RegisterMessage(ResponseFlush)

ResponseInfo = _reflection.GeneratedProtocolMessageType('ResponseInfo', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEINFO,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseInfo)
  ))
_sym_db.RegisterMessage(ResponseInfo)

ResponseSetOption = _reflection.GeneratedProtocolMessageType('ResponseSetOption', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSESETOPTION,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseSetOption)
  ))
_sym_db.RegisterMessage(ResponseSetOption)

ResponseInitChain = _reflection.GeneratedProtocolMessageType('ResponseInitChain', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEINITCHAIN,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseInitChain)
  ))
_sym_db.RegisterMessage(ResponseInitChain)

ResponseQuery = _reflection.GeneratedProtocolMessageType('ResponseQuery', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEQUERY,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseQuery)
  ))
_sym_db.RegisterMessage(ResponseQuery)

ResponseBeginBlock = _reflection.GeneratedProtocolMessageType('ResponseBeginBlock', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEBEGINBLOCK,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseBeginBlock)
  ))
_sym_db.RegisterMessage(ResponseBeginBlock)

ResponseCheckTx = _reflection.GeneratedProtocolMessageType('ResponseCheckTx', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSECHECKTX,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseCheckTx)
  ))
_sym_db.RegisterMessage(ResponseCheckTx)

ResponseDeliverTx = _reflection.GeneratedProtocolMessageType('ResponseDeliverTx', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEDELIVERTX,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseDeliverTx)
  ))
_sym_db.RegisterMessage(ResponseDeliverTx)

ResponseEndBlock = _reflection.GeneratedProtocolMessageType('ResponseEndBlock', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSEENDBLOCK,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseEndBlock)
  ))
_sym_db.RegisterMessage(ResponseEndBlock)

ResponseCommit = _reflection.GeneratedProtocolMessageType('ResponseCommit', (_message.Message,), dict(
  DESCRIPTOR = _RESPONSECOMMIT,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ResponseCommit)
  ))
_sym_db.RegisterMessage(ResponseCommit)

ConsensusParams = _reflection.GeneratedProtocolMessageType('ConsensusParams', (_message.Message,), dict(
  DESCRIPTOR = _CONSENSUSPARAMS,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ConsensusParams)
  ))
_sym_db.RegisterMessage(ConsensusParams)

BlockParams = _reflection.GeneratedProtocolMessageType('BlockParams', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKPARAMS,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.BlockParams)
  ))
_sym_db.RegisterMessage(BlockParams)

EvidenceParams = _reflection.GeneratedProtocolMessageType('EvidenceParams', (_message.Message,), dict(
  DESCRIPTOR = _EVIDENCEPARAMS,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.EvidenceParams)
  ))
_sym_db.RegisterMessage(EvidenceParams)

ValidatorParams = _reflection.GeneratedProtocolMessageType('ValidatorParams', (_message.Message,), dict(
  DESCRIPTOR = _VALIDATORPARAMS,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ValidatorParams)
  ))
_sym_db.RegisterMessage(ValidatorParams)

LastCommitInfo = _reflection.GeneratedProtocolMessageType('LastCommitInfo', (_message.Message,), dict(
  DESCRIPTOR = _LASTCOMMITINFO,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.LastCommitInfo)
  ))
_sym_db.RegisterMessage(LastCommitInfo)

Header = _reflection.GeneratedProtocolMessageType('Header', (_message.Message,), dict(
  DESCRIPTOR = _HEADER,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.Header)
  ))
_sym_db.RegisterMessage(Header)

Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), dict(
  DESCRIPTOR = _VERSION,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.Version)
  ))
_sym_db.RegisterMessage(Version)

BlockID = _reflection.GeneratedProtocolMessageType('BlockID', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKID,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.BlockID)
  ))
_sym_db.RegisterMessage(BlockID)

PartSetHeader = _reflection.GeneratedProtocolMessageType('PartSetHeader', (_message.Message,), dict(
  DESCRIPTOR = _PARTSETHEADER,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.PartSetHeader)
  ))
_sym_db.RegisterMessage(PartSetHeader)

Validator = _reflection.GeneratedProtocolMessageType('Validator', (_message.Message,), dict(
  DESCRIPTOR = _VALIDATOR,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.Validator)
  ))
_sym_db.RegisterMessage(Validator)

ValidatorUpdate = _reflection.GeneratedProtocolMessageType('ValidatorUpdate', (_message.Message,), dict(
  DESCRIPTOR = _VALIDATORUPDATE,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.ValidatorUpdate)
  ))
_sym_db.RegisterMessage(ValidatorUpdate)

VoteInfo = _reflection.GeneratedProtocolMessageType('VoteInfo', (_message.Message,), dict(
  DESCRIPTOR = _VOTEINFO,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.VoteInfo)
  ))
_sym_db.RegisterMessage(VoteInfo)

PubKey = _reflection.GeneratedProtocolMessageType('PubKey', (_message.Message,), dict(
  DESCRIPTOR = _PUBKEY,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.PubKey)
  ))
_sym_db.RegisterMessage(PubKey)

Evidence = _reflection.GeneratedProtocolMessageType('Evidence', (_message.Message,), dict(
  DESCRIPTOR = _EVIDENCE,
  __module__ = 'github.com.tendermint.tendermint.abci.types.types_pb2'
  # @@protoc_insertion_point(class_scope:types.Evidence)
  ))
_sym_db.RegisterMessage(Evidence)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\310\342\036\001\320\342\036\001\340\342\036\001\300\343\036\001\370\341\036\001\250\342\036\001\270\342\036\001'))
_REQUESTINITCHAIN.fields_by_name['time'].has_options = True
_REQUESTINITCHAIN.fields_by_name['time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\220\337\037\001'))
_REQUESTINITCHAIN.fields_by_name['validators'].has_options = True
_REQUESTINITCHAIN.fields_by_name['validators']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUESTBEGINBLOCK.fields_by_name['header'].has_options = True
_REQUESTBEGINBLOCK.fields_by_name['header']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUESTBEGINBLOCK.fields_by_name['last_commit_info'].has_options = True
_REQUESTBEGINBLOCK.fields_by_name['last_commit_info']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_REQUESTBEGINBLOCK.fields_by_name['byzantine_validators'].has_options = True
_REQUESTBEGINBLOCK.fields_by_name['byzantine_validators']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_RESPONSEINITCHAIN.fields_by_name['validators'].has_options = True
_RESPONSEINITCHAIN.fields_by_name['validators']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_RESPONSEBEGINBLOCK.fields_by_name['tags'].has_options = True
_RESPONSEBEGINBLOCK.fields_by_name['tags']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty'))
_RESPONSECHECKTX.fields_by_name['tags'].has_options = True
_RESPONSECHECKTX.fields_by_name['tags']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty'))
_RESPONSEDELIVERTX.fields_by_name['tags'].has_options = True
_RESPONSEDELIVERTX.fields_by_name['tags']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty'))
_RESPONSEENDBLOCK.fields_by_name['validator_updates'].has_options = True
_RESPONSEENDBLOCK.fields_by_name['validator_updates']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_RESPONSEENDBLOCK.fields_by_name['tags'].has_options = True
_RESPONSEENDBLOCK.fields_by_name['tags']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\352\336\037\016tags,omitempty'))
_LASTCOMMITINFO.fields_by_name['votes'].has_options = True
_LASTCOMMITINFO.fields_by_name['votes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_HEADER.fields_by_name['version'].has_options = True
_HEADER.fields_by_name['version']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_HEADER.fields_by_name['chain_id'].has_options = True
_HEADER.fields_by_name['chain_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\342\336\037\007ChainID'))
_HEADER.fields_by_name['time'].has_options = True
_HEADER.fields_by_name['time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\220\337\037\001'))
_HEADER.fields_by_name['last_block_id'].has_options = True
_HEADER.fields_by_name['last_block_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_BLOCKID.fields_by_name['parts_header'].has_options = True
_BLOCKID.fields_by_name['parts_header']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_VALIDATORUPDATE.fields_by_name['pub_key'].has_options = True
_VALIDATORUPDATE.fields_by_name['pub_key']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_VOTEINFO.fields_by_name['validator'].has_options = True
_VOTEINFO.fields_by_name['validator']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_EVIDENCE.fields_by_name['validator'].has_options = True
_EVIDENCE.fields_by_name['validator']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_EVIDENCE.fields_by_name['time'].has_options = True
_EVIDENCE.fields_by_name['time']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000\220\337\037\001'))

_ABCIAPPLICATION = _descriptor.ServiceDescriptor(
  name='ABCIApplication',
  full_name='types.ABCIApplication',
  file=DESCRIPTOR,
  index=0,
  options=None,
  serialized_start=4637,
  serialized_end=5289,
  methods=[
  _descriptor.MethodDescriptor(
    name='Echo',
    full_name='types.ABCIApplication.Echo',
    index=0,
    containing_service=None,
    input_type=_REQUESTECHO,
    output_type=_RESPONSEECHO,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Flush',
    full_name='types.ABCIApplication.Flush',
    index=1,
    containing_service=None,
    input_type=_REQUESTFLUSH,
    output_type=_RESPONSEFLUSH,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Info',
    full_name='types.ABCIApplication.Info',
    index=2,
    containing_service=None,
    input_type=_REQUESTINFO,
    output_type=_RESPONSEINFO,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='SetOption',
    full_name='types.ABCIApplication.SetOption',
    index=3,
    containing_service=None,
    input_type=_REQUESTSETOPTION,
    output_type=_RESPONSESETOPTION,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='DeliverTx',
    full_name='types.ABCIApplication.DeliverTx',
    index=4,
    containing_service=None,
    input_type=_REQUESTDELIVERTX,
    output_type=_RESPONSEDELIVERTX,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='CheckTx',
    full_name='types.ABCIApplication.CheckTx',
    index=5,
    containing_service=None,
    input_type=_REQUESTCHECKTX,
    output_type=_RESPONSECHECKTX,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Query',
    full_name='types.ABCIApplication.Query',
    index=6,
    containing_service=None,
    input_type=_REQUESTQUERY,
    output_type=_RESPONSEQUERY,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='Commit',
    full_name='types.ABCIApplication.Commit',
    index=7,
    containing_service=None,
    input_type=_REQUESTCOMMIT,
    output_type=_RESPONSECOMMIT,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='InitChain',
    full_name='types.ABCIApplication.InitChain',
    index=8,
    containing_service=None,
    input_type=_REQUESTINITCHAIN,
    output_type=_RESPONSEINITCHAIN,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='BeginBlock',
    full_name='types.ABCIApplication.BeginBlock',
    index=9,
    containing_service=None,
    input_type=_REQUESTBEGINBLOCK,
    output_type=_RESPONSEBEGINBLOCK,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='EndBlock',
    full_name='types.ABCIApplication.EndBlock',
    index=10,
    containing_service=None,
    input_type=_REQUESTENDBLOCK,
    output_type=_RESPONSEENDBLOCK,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_ABCIAPPLICATION)

DESCRIPTOR.services_by_name['ABCIApplication'] = _ABCIAPPLICATION

# @@protoc_insertion_point(module_scope)
