# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: pb/nodemessage.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from pb import node_pb2 as pb_dot_node__pb2
from pb import sigchain_pb2 as pb_dot_sigchain__pb2
from pb import block_pb2 as pb_dot_block__pb2
from pb import transaction_pb2 as pb_dot_transaction__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='pb/nodemessage.proto',
  package='pb',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=_b('\n\x14pb/nodemessage.proto\x12\x02pb\x1a\rpb/node.proto\x1a\x11pb/sigchain.proto\x1a\x0epb/block.proto\x1a\x14pb/transaction.proto\"I\n\x0fUnsignedMessage\x12%\n\x0cmessage_type\x18\x01 \x01(\x0e\x32\x0f.pb.MessageType\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"3\n\rSignedMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\"*\n\x04Vote\x12\x0e\n\x06height\x18\x01 \x01(\r\x12\x12\n\nblock_hash\x18\x02 \x01(\x0c\"8\n\x12IHaveBlockProposal\x12\x0e\n\x06height\x18\x01 \x01(\r\x12\x12\n\nblock_hash\x18\x02 \x01(\x0c\"\x86\x01\n\x14RequestBlockProposal\x12\x12\n\nblock_hash\x18\x01 \x01(\x0c\x12(\n\x04type\x18\x02 \x01(\x0e\x32\x1a.pb.RequestTransactionType\x12\x17\n\x0fshort_hash_salt\x18\x03 \x01(\x0c\x12\x17\n\x0fshort_hash_size\x18\x04 \x01(\r\"P\n\x19RequestBlockProposalReply\x12\x18\n\x05\x62lock\x18\x01 \x01(\x0b\x32\t.pb.Block\x12\x19\n\x11transactions_hash\x18\x02 \x03(\x0c\"\xa8\x01\n\x1bRequestProposalTransactions\x12\x12\n\nblock_hash\x18\x01 \x01(\x0c\x12(\n\x04type\x18\x02 \x01(\x0e\x32\x1a.pb.RequestTransactionType\x12\x17\n\x0fshort_hash_salt\x18\x03 \x01(\x0c\x12\x17\n\x0fshort_hash_size\x18\x04 \x01(\r\x12\x19\n\x11transactions_hash\x18\x05 \x03(\x0c\"I\n RequestProposalTransactionsReply\x12%\n\x0ctransactions\x18\x01 \x03(\x0b\x32\x0f.pb.Transaction\"\x13\n\x11GetConsensusState\"\xa6\x01\n\x16GetConsensusStateReply\x12\x19\n\x11ledger_block_hash\x18\x02 \x01(\x0c\x12\x15\n\rledger_height\x18\x01 \x01(\r\x12\x18\n\x10\x63onsensus_height\x18\x03 \x01(\r\x12\x1d\n\x15min_verifiable_height\x18\x05 \x01(\r\x12!\n\nsync_state\x18\x04 \x01(\x0e\x32\r.pb.SyncState\";\n\x0fGetBlockHeaders\x12\x14\n\x0cstart_height\x18\x01 \x01(\r\x12\x12\n\nend_height\x18\x02 \x01(\r\"9\n\x14GetBlockHeadersReply\x12!\n\rblock_headers\x18\x01 \x03(\x0b\x32\n.pb.Header\"5\n\tGetBlocks\x12\x14\n\x0cstart_height\x18\x01 \x01(\r\x12\x12\n\nend_height\x18\x02 \x01(\r\"+\n\x0eGetBlocksReply\x12\x19\n\x06\x62locks\x18\x01 \x03(\x0b\x32\t.pb.Block\"\xb5\x01\n\x05Relay\x12\x16\n\x0esrc_identifier\x18\x01 \x01(\t\x12\x12\n\nsrc_pubkey\x18\x06 \x01(\x0c\x12\x0f\n\x07\x64\x65st_id\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x12\x1b\n\x13max_holding_seconds\x18\x05 \x01(\r\x12\x12\n\nblock_hash\x18\x07 \x01(\x0c\x12\x16\n\x0elast_signature\x18\x08 \x01(\x0c\x12\x15\n\rsig_chain_len\x18\t \x01(\r\"5\n\x0cTransactions\x12%\n\x0ctransactions\x18\x01 \x03(\x0b\x32\x0f.pb.Transaction\"\\\n\x17\x42\x61\x63ktrackSignatureChain\x12)\n\x0fsig_chain_elems\x18\x01 \x03(\x0b\x32\x10.pb.SigChainElem\x12\x16\n\x0eprev_signature\x18\x02 \x01(\x0c\"H\n\x1eIHaveSignatureChainTransaction\x12\x0e\n\x06height\x18\x01 \x01(\r\x12\x16\n\x0esignature_hash\x18\x02 \x01(\x0c\":\n RequestSignatureChainTransaction\x12\x16\n\x0esignature_hash\x18\x01 \x01(\x0c\"M\n%RequestSignatureChainTransactionReply\x12$\n\x0btransaction\x18\x01 \x01(\x0b\x32\x0f.pb.Transaction*\xb3\x04\n\x0bMessageType\x12\'\n#MESSAGE_TYPE_PLACEHOLDER_DO_NOT_USE\x10\x00\x12\x08\n\x04VOTE\x10\x01\x12\x19\n\x15I_HAVE_BLOCK_PROPOSAL\x10\x02\x12\x1a\n\x16REQUEST_BLOCK_PROPOSAL\x10\x03\x12 \n\x1cREQUEST_BLOCK_PROPOSAL_REPLY\x10\x04\x12\x17\n\x13GET_CONSENSUS_STATE\x10\x05\x12\x1d\n\x19GET_CONSENSUS_STATE_REPLY\x10\x06\x12\x15\n\x11GET_BLOCK_HEADERS\x10\x07\x12\x1b\n\x17GET_BLOCK_HEADERS_REPLY\x10\x08\x12\x0e\n\nGET_BLOCKS\x10\t\x12\x14\n\x10GET_BLOCKS_REPLY\x10\n\x12\t\n\x05RELAY\x10\x0b\x12\x10\n\x0cTRANSACTIONS\x10\x0c\x12\x1d\n\x19\x42\x41\x43KTRACK_SIGNATURE_CHAIN\x10\r\x12!\n\x1dREQUEST_PROPOSAL_TRANSACTIONS\x10\x0e\x12\'\n#REQUEST_PROPOSAL_TRANSACTIONS_REPLY\x10\x0f\x12&\n\"I_HAVE_SIGNATURE_CHAIN_TRANSACTION\x10\x10\x12\'\n#REQUEST_SIGNATURE_CHAIN_TRANSACTION\x10\x11\x12-\n)REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY\x10\x12*C\n\x18\x41llowedSignedMessageType\x12\'\n#ALLOW_SIGNED_PLACEHOLDER_DO_NOT_USE\x10\x00*\xc9\x06\n\x1a\x41llowedUnsignedMessageType\x12)\n%ALLOW_UNSIGNED_PLACEHOLDER_DO_NOT_USE\x10\x00\x12\x17\n\x13\x41LLOW_UNSIGNED_VOTE\x10\x01\x12(\n$ALLOW_UNSIGNED_I_HAVE_BLOCK_PROPOSAL\x10\x02\x12)\n%ALLOW_UNSIGNED_REQUEST_BLOCK_PROPOSAL\x10\x03\x12&\n\"ALLOW_UNSIGNED_REQUEST_BLOCK_REPLY\x10\x04\x12&\n\"ALLOW_UNSIGNED_GET_CONSENSUS_STATE\x10\x05\x12,\n(ALLOW_UNSIGNED_GET_CONSENSUS_STATE_REPLY\x10\x06\x12$\n ALLOW_UNSIGNED_GET_BLOCK_HEADERS\x10\x07\x12*\n&ALLOW_UNSIGNED_GET_BLOCK_HEADERS_REPLY\x10\x08\x12\x1d\n\x19\x41LLOW_UNSIGNED_GET_BLOCKS\x10\t\x12#\n\x1f\x41LLOW_UNSIGNED_GET_BLOCKS_REPLY\x10\n\x12\x18\n\x14\x41LLOW_UNSIGNED_RELAY\x10\x0b\x12\x1f\n\x1b\x41LLOW_UNSIGNED_TRANSACTIONS\x10\x0c\x12,\n(ALLOW_UNSIGNED_BACKTRACK_SIGNATURE_CHAIN\x10\r\x12\x30\n,ALLOW_UNSIGNED_REQUEST_PROPOSAL_TRANSACTIONS\x10\x0e\x12\x36\n2ALLOW_UNSIGNED_REQUEST_PROPOSAL_TRANSACTIONS_REPLY\x10\x0f\x12\x35\n1ALLOW_UNSIGNED_I_HAVE_SIGNATURE_CHAIN_TRANSACTION\x10\x10\x12\x36\n2ALLOW_UNSIGNED_REQUEST_SIGNATURE_CHAIN_TRANSACTION\x10\x11\x12<\n8ALLOW_UNSIGNED_REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY\x10\x12*\xea\x05\n\x18\x41llowedDirectMessageType\x12\'\n#ALLOW_DIRECT_PLACEHOLDER_DO_NOT_USE\x10\x00\x12\x15\n\x11\x41LLOW_DIRECT_VOTE\x10\x01\x12&\n\"ALLOW_DIRECT_I_HAVE_BLOCK_PROPOSAL\x10\x02\x12\'\n#ALLOW_DIRECT_REQUEST_BLOCK_PROPOSAL\x10\x03\x12$\n ALLOW_DIRECT_REQUEST_BLOCK_REPLY\x10\x04\x12$\n ALLOW_DIRECT_GET_CONSENSUS_STATE\x10\x05\x12*\n&ALLOW_DIRECT_GET_CONSENSUS_STATE_REPLY\x10\x06\x12\"\n\x1e\x41LLOW_DIRECT_GET_BLOCK_HEADERS\x10\x07\x12(\n$ALLOW_DIRECT_GET_BLOCK_HEADERS_REPLY\x10\x08\x12\x1b\n\x17\x41LLOW_DIRECT_GET_BLOCKS\x10\t\x12!\n\x1d\x41LLOW_DIRECT_GET_BLOCKS_REPLY\x10\n\x12*\n&ALLOW_DIRECT_BACKTRACK_SIGNATURE_CHAIN\x10\r\x12.\n*ALLOW_DIRECT_REQUEST_PROPOSAL_TRANSACTIONS\x10\x0e\x12\x34\n0ALLOW_DIRECT_REQUEST_PROPOSAL_TRANSACTIONS_REPLY\x10\x0f\x12\x33\n/ALLOW_DIRECT_I_HAVE_SIGNATURE_CHAIN_TRANSACTION\x10\x10\x12\x34\n0ALLOW_DIRECT_REQUEST_SIGNATURE_CHAIN_TRANSACTION\x10\x11\x12:\n6ALLOW_DIRECT_REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY\x10\x12*X\n\x17\x41llowedRelayMessageType\x12&\n\"ALLOW_RELAY_PLACEHOLDER_DO_NOT_USE\x10\x00\x12\x15\n\x11\x41LLOW_RELAY_RELAY\x10\x0b*y\n\x1f\x41llowedBroadcastPushMessageType\x12/\n+ALLOW_BROADCAST_PUSH_PLACEHOLDER_DO_NOT_USE\x10\x00\x12%\n!ALLOW_BROADCAST_PUSH_TRANSACTIONS\x10\x0c*R\n\x1f\x41llowedBroadcastPullMessageType\x12/\n+ALLOW_BROADCAST_PULL_PLACEHOLDER_DO_NOT_USE\x10\x00*y\n\x1f\x41llowedBroadcastTreeMessageType\x12/\n+ALLOW_BROADCAST_TREE_PLACEHOLDER_DO_NOT_USE\x10\x00\x12%\n!ALLOW_BROADCAST_TREE_TRANSACTIONS\x10\x0c*x\n\x16RequestTransactionType\x12\x1c\n\x18REQUEST_FULL_TRANSACTION\x10\x00\x12\x1c\n\x18REQUEST_TRANSACTION_HASH\x10\x01\x12\"\n\x1eREQUEST_TRANSACTION_SHORT_HASH\x10\x02\x62\x06proto3')
  ,
  dependencies=[pb_dot_node__pb2.DESCRIPTOR,pb_dot_sigchain__pb2.DESCRIPTOR,pb_dot_block__pb2.DESCRIPTOR,pb_dot_transaction__pb2.DESCRIPTOR,])

_MESSAGETYPE = _descriptor.EnumDescriptor(
  name='MessageType',
  full_name='pb.MessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MESSAGE_TYPE_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VOTE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='I_HAVE_BLOCK_PROPOSAL', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_BLOCK_PROPOSAL', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_BLOCK_PROPOSAL_REPLY', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET_CONSENSUS_STATE', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET_CONSENSUS_STATE_REPLY', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET_BLOCK_HEADERS', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET_BLOCK_HEADERS_REPLY', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET_BLOCKS', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET_BLOCKS_REPLY', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RELAY', index=11, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRANSACTIONS', index=12, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BACKTRACK_SIGNATURE_CHAIN', index=13, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_PROPOSAL_TRANSACTIONS', index=14, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_PROPOSAL_TRANSACTIONS_REPLY', index=15, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='I_HAVE_SIGNATURE_CHAIN_TRANSACTION', index=16, number=16,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_SIGNATURE_CHAIN_TRANSACTION', index=17, number=17,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY', index=18, number=18,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1752,
  serialized_end=2315,
)
_sym_db.RegisterEnumDescriptor(_MESSAGETYPE)

MessageType = enum_type_wrapper.EnumTypeWrapper(_MESSAGETYPE)
_ALLOWEDSIGNEDMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedSignedMessageType',
  full_name='pb.AllowedSignedMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_SIGNED_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2317,
  serialized_end=2384,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDSIGNEDMESSAGETYPE)

AllowedSignedMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDSIGNEDMESSAGETYPE)
_ALLOWEDUNSIGNEDMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedUnsignedMessageType',
  full_name='pb.AllowedUnsignedMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_VOTE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_I_HAVE_BLOCK_PROPOSAL', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_REQUEST_BLOCK_PROPOSAL', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_REQUEST_BLOCK_REPLY', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_GET_CONSENSUS_STATE', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_GET_CONSENSUS_STATE_REPLY', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_GET_BLOCK_HEADERS', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_GET_BLOCK_HEADERS_REPLY', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_GET_BLOCKS', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_GET_BLOCKS_REPLY', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_RELAY', index=11, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_TRANSACTIONS', index=12, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_BACKTRACK_SIGNATURE_CHAIN', index=13, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_REQUEST_PROPOSAL_TRANSACTIONS', index=14, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_REQUEST_PROPOSAL_TRANSACTIONS_REPLY', index=15, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_I_HAVE_SIGNATURE_CHAIN_TRANSACTION', index=16, number=16,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_REQUEST_SIGNATURE_CHAIN_TRANSACTION', index=17, number=17,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_UNSIGNED_REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY', index=18, number=18,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2387,
  serialized_end=3228,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDUNSIGNEDMESSAGETYPE)

AllowedUnsignedMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDUNSIGNEDMESSAGETYPE)
_ALLOWEDDIRECTMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedDirectMessageType',
  full_name='pb.AllowedDirectMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_VOTE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_I_HAVE_BLOCK_PROPOSAL', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_REQUEST_BLOCK_PROPOSAL', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_REQUEST_BLOCK_REPLY', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_GET_CONSENSUS_STATE', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_GET_CONSENSUS_STATE_REPLY', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_GET_BLOCK_HEADERS', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_GET_BLOCK_HEADERS_REPLY', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_GET_BLOCKS', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_GET_BLOCKS_REPLY', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_BACKTRACK_SIGNATURE_CHAIN', index=11, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_REQUEST_PROPOSAL_TRANSACTIONS', index=12, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_REQUEST_PROPOSAL_TRANSACTIONS_REPLY', index=13, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_I_HAVE_SIGNATURE_CHAIN_TRANSACTION', index=14, number=16,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_REQUEST_SIGNATURE_CHAIN_TRANSACTION', index=15, number=17,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_DIRECT_REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY', index=16, number=18,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3231,
  serialized_end=3977,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDDIRECTMESSAGETYPE)

AllowedDirectMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDDIRECTMESSAGETYPE)
_ALLOWEDRELAYMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedRelayMessageType',
  full_name='pb.AllowedRelayMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_RELAY_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_RELAY_RELAY', index=1, number=11,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=3979,
  serialized_end=4067,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDRELAYMESSAGETYPE)

AllowedRelayMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDRELAYMESSAGETYPE)
_ALLOWEDBROADCASTPUSHMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedBroadcastPushMessageType',
  full_name='pb.AllowedBroadcastPushMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_BROADCAST_PUSH_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_BROADCAST_PUSH_TRANSACTIONS', index=1, number=12,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4069,
  serialized_end=4190,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDBROADCASTPUSHMESSAGETYPE)

AllowedBroadcastPushMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDBROADCASTPUSHMESSAGETYPE)
_ALLOWEDBROADCASTPULLMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedBroadcastPullMessageType',
  full_name='pb.AllowedBroadcastPullMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_BROADCAST_PULL_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4192,
  serialized_end=4274,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDBROADCASTPULLMESSAGETYPE)

AllowedBroadcastPullMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDBROADCASTPULLMESSAGETYPE)
_ALLOWEDBROADCASTTREEMESSAGETYPE = _descriptor.EnumDescriptor(
  name='AllowedBroadcastTreeMessageType',
  full_name='pb.AllowedBroadcastTreeMessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALLOW_BROADCAST_TREE_PLACEHOLDER_DO_NOT_USE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALLOW_BROADCAST_TREE_TRANSACTIONS', index=1, number=12,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4276,
  serialized_end=4397,
)
_sym_db.RegisterEnumDescriptor(_ALLOWEDBROADCASTTREEMESSAGETYPE)

AllowedBroadcastTreeMessageType = enum_type_wrapper.EnumTypeWrapper(_ALLOWEDBROADCASTTREEMESSAGETYPE)
_REQUESTTRANSACTIONTYPE = _descriptor.EnumDescriptor(
  name='RequestTransactionType',
  full_name='pb.RequestTransactionType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='REQUEST_FULL_TRANSACTION', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_TRANSACTION_HASH', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REQUEST_TRANSACTION_SHORT_HASH', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=4399,
  serialized_end=4519,
)
_sym_db.RegisterEnumDescriptor(_REQUESTTRANSACTIONTYPE)

RequestTransactionType = enum_type_wrapper.EnumTypeWrapper(_REQUESTTRANSACTIONTYPE)
MESSAGE_TYPE_PLACEHOLDER_DO_NOT_USE = 0
VOTE = 1
I_HAVE_BLOCK_PROPOSAL = 2
REQUEST_BLOCK_PROPOSAL = 3
REQUEST_BLOCK_PROPOSAL_REPLY = 4
GET_CONSENSUS_STATE = 5
GET_CONSENSUS_STATE_REPLY = 6
GET_BLOCK_HEADERS = 7
GET_BLOCK_HEADERS_REPLY = 8
GET_BLOCKS = 9
GET_BLOCKS_REPLY = 10
RELAY = 11
TRANSACTIONS = 12
BACKTRACK_SIGNATURE_CHAIN = 13
REQUEST_PROPOSAL_TRANSACTIONS = 14
REQUEST_PROPOSAL_TRANSACTIONS_REPLY = 15
I_HAVE_SIGNATURE_CHAIN_TRANSACTION = 16
REQUEST_SIGNATURE_CHAIN_TRANSACTION = 17
REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY = 18
ALLOW_SIGNED_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_UNSIGNED_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_UNSIGNED_VOTE = 1
ALLOW_UNSIGNED_I_HAVE_BLOCK_PROPOSAL = 2
ALLOW_UNSIGNED_REQUEST_BLOCK_PROPOSAL = 3
ALLOW_UNSIGNED_REQUEST_BLOCK_REPLY = 4
ALLOW_UNSIGNED_GET_CONSENSUS_STATE = 5
ALLOW_UNSIGNED_GET_CONSENSUS_STATE_REPLY = 6
ALLOW_UNSIGNED_GET_BLOCK_HEADERS = 7
ALLOW_UNSIGNED_GET_BLOCK_HEADERS_REPLY = 8
ALLOW_UNSIGNED_GET_BLOCKS = 9
ALLOW_UNSIGNED_GET_BLOCKS_REPLY = 10
ALLOW_UNSIGNED_RELAY = 11
ALLOW_UNSIGNED_TRANSACTIONS = 12
ALLOW_UNSIGNED_BACKTRACK_SIGNATURE_CHAIN = 13
ALLOW_UNSIGNED_REQUEST_PROPOSAL_TRANSACTIONS = 14
ALLOW_UNSIGNED_REQUEST_PROPOSAL_TRANSACTIONS_REPLY = 15
ALLOW_UNSIGNED_I_HAVE_SIGNATURE_CHAIN_TRANSACTION = 16
ALLOW_UNSIGNED_REQUEST_SIGNATURE_CHAIN_TRANSACTION = 17
ALLOW_UNSIGNED_REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY = 18
ALLOW_DIRECT_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_DIRECT_VOTE = 1
ALLOW_DIRECT_I_HAVE_BLOCK_PROPOSAL = 2
ALLOW_DIRECT_REQUEST_BLOCK_PROPOSAL = 3
ALLOW_DIRECT_REQUEST_BLOCK_REPLY = 4
ALLOW_DIRECT_GET_CONSENSUS_STATE = 5
ALLOW_DIRECT_GET_CONSENSUS_STATE_REPLY = 6
ALLOW_DIRECT_GET_BLOCK_HEADERS = 7
ALLOW_DIRECT_GET_BLOCK_HEADERS_REPLY = 8
ALLOW_DIRECT_GET_BLOCKS = 9
ALLOW_DIRECT_GET_BLOCKS_REPLY = 10
ALLOW_DIRECT_BACKTRACK_SIGNATURE_CHAIN = 13
ALLOW_DIRECT_REQUEST_PROPOSAL_TRANSACTIONS = 14
ALLOW_DIRECT_REQUEST_PROPOSAL_TRANSACTIONS_REPLY = 15
ALLOW_DIRECT_I_HAVE_SIGNATURE_CHAIN_TRANSACTION = 16
ALLOW_DIRECT_REQUEST_SIGNATURE_CHAIN_TRANSACTION = 17
ALLOW_DIRECT_REQUEST_SIGNATURE_CHAIN_TRANSACTION_REPLY = 18
ALLOW_RELAY_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_RELAY_RELAY = 11
ALLOW_BROADCAST_PUSH_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_BROADCAST_PUSH_TRANSACTIONS = 12
ALLOW_BROADCAST_PULL_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_BROADCAST_TREE_PLACEHOLDER_DO_NOT_USE = 0
ALLOW_BROADCAST_TREE_TRANSACTIONS = 12
REQUEST_FULL_TRANSACTION = 0
REQUEST_TRANSACTION_HASH = 1
REQUEST_TRANSACTION_SHORT_HASH = 2



_UNSIGNEDMESSAGE = _descriptor.Descriptor(
  name='UnsignedMessage',
  full_name='pb.UnsignedMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message_type', full_name='pb.UnsignedMessage.message_type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='message', full_name='pb.UnsignedMessage.message', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=100,
  serialized_end=173,
)


_SIGNEDMESSAGE = _descriptor.Descriptor(
  name='SignedMessage',
  full_name='pb.SignedMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message', full_name='pb.SignedMessage.message', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signature', full_name='pb.SignedMessage.signature', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=175,
  serialized_end=226,
)


_VOTE = _descriptor.Descriptor(
  name='Vote',
  full_name='pb.Vote',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='height', full_name='pb.Vote.height', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_hash', full_name='pb.Vote.block_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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=228,
  serialized_end=270,
)


_IHAVEBLOCKPROPOSAL = _descriptor.Descriptor(
  name='IHaveBlockProposal',
  full_name='pb.IHaveBlockProposal',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='height', full_name='pb.IHaveBlockProposal.height', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_hash', full_name='pb.IHaveBlockProposal.block_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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=272,
  serialized_end=328,
)


_REQUESTBLOCKPROPOSAL = _descriptor.Descriptor(
  name='RequestBlockProposal',
  full_name='pb.RequestBlockProposal',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_hash', full_name='pb.RequestBlockProposal.block_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='pb.RequestBlockProposal.type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_hash_salt', full_name='pb.RequestBlockProposal.short_hash_salt', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_hash_size', full_name='pb.RequestBlockProposal.short_hash_size', index=3,
      number=4, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=331,
  serialized_end=465,
)


_REQUESTBLOCKPROPOSALREPLY = _descriptor.Descriptor(
  name='RequestBlockProposalReply',
  full_name='pb.RequestBlockProposalReply',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block', full_name='pb.RequestBlockProposalReply.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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transactions_hash', full_name='pb.RequestBlockProposalReply.transactions_hash', index=1,
      number=2, type=12, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=467,
  serialized_end=547,
)


_REQUESTPROPOSALTRANSACTIONS = _descriptor.Descriptor(
  name='RequestProposalTransactions',
  full_name='pb.RequestProposalTransactions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_hash', full_name='pb.RequestProposalTransactions.block_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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='pb.RequestProposalTransactions.type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_hash_salt', full_name='pb.RequestProposalTransactions.short_hash_salt', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_hash_size', full_name='pb.RequestProposalTransactions.short_hash_size', index=3,
      number=4, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transactions_hash', full_name='pb.RequestProposalTransactions.transactions_hash', index=4,
      number=5, type=12, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=550,
  serialized_end=718,
)


_REQUESTPROPOSALTRANSACTIONSREPLY = _descriptor.Descriptor(
  name='RequestProposalTransactionsReply',
  full_name='pb.RequestProposalTransactionsReply',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='transactions', full_name='pb.RequestProposalTransactionsReply.transactions', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=720,
  serialized_end=793,
)


_GETCONSENSUSSTATE = _descriptor.Descriptor(
  name='GetConsensusState',
  full_name='pb.GetConsensusState',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=795,
  serialized_end=814,
)


_GETCONSENSUSSTATEREPLY = _descriptor.Descriptor(
  name='GetConsensusStateReply',
  full_name='pb.GetConsensusStateReply',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ledger_block_hash', full_name='pb.GetConsensusStateReply.ledger_block_hash', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ledger_height', full_name='pb.GetConsensusStateReply.ledger_height', index=1,
      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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='consensus_height', full_name='pb.GetConsensusStateReply.consensus_height', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='min_verifiable_height', full_name='pb.GetConsensusStateReply.min_verifiable_height', index=3,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sync_state', full_name='pb.GetConsensusStateReply.sync_state', index=4,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=817,
  serialized_end=983,
)


_GETBLOCKHEADERS = _descriptor.Descriptor(
  name='GetBlockHeaders',
  full_name='pb.GetBlockHeaders',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='start_height', full_name='pb.GetBlockHeaders.start_height', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_height', full_name='pb.GetBlockHeaders.end_height', index=1,
      number=2, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=985,
  serialized_end=1044,
)


_GETBLOCKHEADERSREPLY = _descriptor.Descriptor(
  name='GetBlockHeadersReply',
  full_name='pb.GetBlockHeadersReply',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_headers', full_name='pb.GetBlockHeadersReply.block_headers', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1046,
  serialized_end=1103,
)


_GETBLOCKS = _descriptor.Descriptor(
  name='GetBlocks',
  full_name='pb.GetBlocks',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='start_height', full_name='pb.GetBlocks.start_height', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='end_height', full_name='pb.GetBlocks.end_height', index=1,
      number=2, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1105,
  serialized_end=1158,
)


_GETBLOCKSREPLY = _descriptor.Descriptor(
  name='GetBlocksReply',
  full_name='pb.GetBlocksReply',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='blocks', full_name='pb.GetBlocksReply.blocks', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1160,
  serialized_end=1203,
)


_RELAY = _descriptor.Descriptor(
  name='Relay',
  full_name='pb.Relay',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='src_identifier', full_name='pb.Relay.src_identifier', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='src_pubkey', full_name='pb.Relay.src_pubkey', index=1,
      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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='dest_id', full_name='pb.Relay.dest_id', index=2,
      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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='payload', full_name='pb.Relay.payload', index=3,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='max_holding_seconds', full_name='pb.Relay.max_holding_seconds', index=4,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_hash', full_name='pb.Relay.block_hash', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_signature', full_name='pb.Relay.last_signature', index=6,
      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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sig_chain_len', full_name='pb.Relay.sig_chain_len', index=7,
      number=9, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1206,
  serialized_end=1387,
)


_TRANSACTIONS = _descriptor.Descriptor(
  name='Transactions',
  full_name='pb.Transactions',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='transactions', full_name='pb.Transactions.transactions', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1389,
  serialized_end=1442,
)


_BACKTRACKSIGNATURECHAIN = _descriptor.Descriptor(
  name='BacktrackSignatureChain',
  full_name='pb.BacktrackSignatureChain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sig_chain_elems', full_name='pb.BacktrackSignatureChain.sig_chain_elems', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='prev_signature', full_name='pb.BacktrackSignatureChain.prev_signature', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1444,
  serialized_end=1536,
)


_IHAVESIGNATURECHAINTRANSACTION = _descriptor.Descriptor(
  name='IHaveSignatureChainTransaction',
  full_name='pb.IHaveSignatureChainTransaction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='height', full_name='pb.IHaveSignatureChainTransaction.height', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signature_hash', full_name='pb.IHaveSignatureChainTransaction.signature_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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1538,
  serialized_end=1610,
)


_REQUESTSIGNATURECHAINTRANSACTION = _descriptor.Descriptor(
  name='RequestSignatureChainTransaction',
  full_name='pb.RequestSignatureChainTransaction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='signature_hash', full_name='pb.RequestSignatureChainTransaction.signature_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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1612,
  serialized_end=1670,
)


_REQUESTSIGNATURECHAINTRANSACTIONREPLY = _descriptor.Descriptor(
  name='RequestSignatureChainTransactionReply',
  full_name='pb.RequestSignatureChainTransactionReply',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='transaction', full_name='pb.RequestSignatureChainTransactionReply.transaction', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1672,
  serialized_end=1749,
)

_UNSIGNEDMESSAGE.fields_by_name['message_type'].enum_type = _MESSAGETYPE
_REQUESTBLOCKPROPOSAL.fields_by_name['type'].enum_type = _REQUESTTRANSACTIONTYPE
_REQUESTBLOCKPROPOSALREPLY.fields_by_name['block'].message_type = pb_dot_block__pb2._BLOCK
_REQUESTPROPOSALTRANSACTIONS.fields_by_name['type'].enum_type = _REQUESTTRANSACTIONTYPE
_REQUESTPROPOSALTRANSACTIONSREPLY.fields_by_name['transactions'].message_type = pb_dot_transaction__pb2._TRANSACTION
_GETCONSENSUSSTATEREPLY.fields_by_name['sync_state'].enum_type = pb_dot_node__pb2._SYNCSTATE
_GETBLOCKHEADERSREPLY.fields_by_name['block_headers'].message_type = pb_dot_block__pb2._HEADER
_GETBLOCKSREPLY.fields_by_name['blocks'].message_type = pb_dot_block__pb2._BLOCK
_TRANSACTIONS.fields_by_name['transactions'].message_type = pb_dot_transaction__pb2._TRANSACTION
_BACKTRACKSIGNATURECHAIN.fields_by_name['sig_chain_elems'].message_type = pb_dot_sigchain__pb2._SIGCHAINELEM
_REQUESTSIGNATURECHAINTRANSACTIONREPLY.fields_by_name['transaction'].message_type = pb_dot_transaction__pb2._TRANSACTION
DESCRIPTOR.message_types_by_name['UnsignedMessage'] = _UNSIGNEDMESSAGE
DESCRIPTOR.message_types_by_name['SignedMessage'] = _SIGNEDMESSAGE
DESCRIPTOR.message_types_by_name['Vote'] = _VOTE
DESCRIPTOR.message_types_by_name['IHaveBlockProposal'] = _IHAVEBLOCKPROPOSAL
DESCRIPTOR.message_types_by_name['RequestBlockProposal'] = _REQUESTBLOCKPROPOSAL
DESCRIPTOR.message_types_by_name['RequestBlockProposalReply'] = _REQUESTBLOCKPROPOSALREPLY
DESCRIPTOR.message_types_by_name['RequestProposalTransactions'] = _REQUESTPROPOSALTRANSACTIONS
DESCRIPTOR.message_types_by_name['RequestProposalTransactionsReply'] = _REQUESTPROPOSALTRANSACTIONSREPLY
DESCRIPTOR.message_types_by_name['GetConsensusState'] = _GETCONSENSUSSTATE
DESCRIPTOR.message_types_by_name['GetConsensusStateReply'] = _GETCONSENSUSSTATEREPLY
DESCRIPTOR.message_types_by_name['GetBlockHeaders'] = _GETBLOCKHEADERS
DESCRIPTOR.message_types_by_name['GetBlockHeadersReply'] = _GETBLOCKHEADERSREPLY
DESCRIPTOR.message_types_by_name['GetBlocks'] = _GETBLOCKS
DESCRIPTOR.message_types_by_name['GetBlocksReply'] = _GETBLOCKSREPLY
DESCRIPTOR.message_types_by_name['Relay'] = _RELAY
DESCRIPTOR.message_types_by_name['Transactions'] = _TRANSACTIONS
DESCRIPTOR.message_types_by_name['BacktrackSignatureChain'] = _BACKTRACKSIGNATURECHAIN
DESCRIPTOR.message_types_by_name['IHaveSignatureChainTransaction'] = _IHAVESIGNATURECHAINTRANSACTION
DESCRIPTOR.message_types_by_name['RequestSignatureChainTransaction'] = _REQUESTSIGNATURECHAINTRANSACTION
DESCRIPTOR.message_types_by_name['RequestSignatureChainTransactionReply'] = _REQUESTSIGNATURECHAINTRANSACTIONREPLY
DESCRIPTOR.enum_types_by_name['MessageType'] = _MESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedSignedMessageType'] = _ALLOWEDSIGNEDMESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedUnsignedMessageType'] = _ALLOWEDUNSIGNEDMESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedDirectMessageType'] = _ALLOWEDDIRECTMESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedRelayMessageType'] = _ALLOWEDRELAYMESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedBroadcastPushMessageType'] = _ALLOWEDBROADCASTPUSHMESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedBroadcastPullMessageType'] = _ALLOWEDBROADCASTPULLMESSAGETYPE
DESCRIPTOR.enum_types_by_name['AllowedBroadcastTreeMessageType'] = _ALLOWEDBROADCASTTREEMESSAGETYPE
DESCRIPTOR.enum_types_by_name['RequestTransactionType'] = _REQUESTTRANSACTIONTYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

UnsignedMessage = _reflection.GeneratedProtocolMessageType('UnsignedMessage', (_message.Message,), dict(
  DESCRIPTOR = _UNSIGNEDMESSAGE,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.UnsignedMessage)
  ))
_sym_db.RegisterMessage(UnsignedMessage)

SignedMessage = _reflection.GeneratedProtocolMessageType('SignedMessage', (_message.Message,), dict(
  DESCRIPTOR = _SIGNEDMESSAGE,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.SignedMessage)
  ))
_sym_db.RegisterMessage(SignedMessage)

Vote = _reflection.GeneratedProtocolMessageType('Vote', (_message.Message,), dict(
  DESCRIPTOR = _VOTE,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.Vote)
  ))
_sym_db.RegisterMessage(Vote)

IHaveBlockProposal = _reflection.GeneratedProtocolMessageType('IHaveBlockProposal', (_message.Message,), dict(
  DESCRIPTOR = _IHAVEBLOCKPROPOSAL,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.IHaveBlockProposal)
  ))
_sym_db.RegisterMessage(IHaveBlockProposal)

RequestBlockProposal = _reflection.GeneratedProtocolMessageType('RequestBlockProposal', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTBLOCKPROPOSAL,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.RequestBlockProposal)
  ))
_sym_db.RegisterMessage(RequestBlockProposal)

RequestBlockProposalReply = _reflection.GeneratedProtocolMessageType('RequestBlockProposalReply', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTBLOCKPROPOSALREPLY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.RequestBlockProposalReply)
  ))
_sym_db.RegisterMessage(RequestBlockProposalReply)

RequestProposalTransactions = _reflection.GeneratedProtocolMessageType('RequestProposalTransactions', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTPROPOSALTRANSACTIONS,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.RequestProposalTransactions)
  ))
_sym_db.RegisterMessage(RequestProposalTransactions)

RequestProposalTransactionsReply = _reflection.GeneratedProtocolMessageType('RequestProposalTransactionsReply', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTPROPOSALTRANSACTIONSREPLY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.RequestProposalTransactionsReply)
  ))
_sym_db.RegisterMessage(RequestProposalTransactionsReply)

GetConsensusState = _reflection.GeneratedProtocolMessageType('GetConsensusState', (_message.Message,), dict(
  DESCRIPTOR = _GETCONSENSUSSTATE,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.GetConsensusState)
  ))
_sym_db.RegisterMessage(GetConsensusState)

GetConsensusStateReply = _reflection.GeneratedProtocolMessageType('GetConsensusStateReply', (_message.Message,), dict(
  DESCRIPTOR = _GETCONSENSUSSTATEREPLY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.GetConsensusStateReply)
  ))
_sym_db.RegisterMessage(GetConsensusStateReply)

GetBlockHeaders = _reflection.GeneratedProtocolMessageType('GetBlockHeaders', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKHEADERS,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.GetBlockHeaders)
  ))
_sym_db.RegisterMessage(GetBlockHeaders)

GetBlockHeadersReply = _reflection.GeneratedProtocolMessageType('GetBlockHeadersReply', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKHEADERSREPLY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.GetBlockHeadersReply)
  ))
_sym_db.RegisterMessage(GetBlockHeadersReply)

GetBlocks = _reflection.GeneratedProtocolMessageType('GetBlocks', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKS,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.GetBlocks)
  ))
_sym_db.RegisterMessage(GetBlocks)

GetBlocksReply = _reflection.GeneratedProtocolMessageType('GetBlocksReply', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKSREPLY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.GetBlocksReply)
  ))
_sym_db.RegisterMessage(GetBlocksReply)

Relay = _reflection.GeneratedProtocolMessageType('Relay', (_message.Message,), dict(
  DESCRIPTOR = _RELAY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.Relay)
  ))
_sym_db.RegisterMessage(Relay)

Transactions = _reflection.GeneratedProtocolMessageType('Transactions', (_message.Message,), dict(
  DESCRIPTOR = _TRANSACTIONS,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.Transactions)
  ))
_sym_db.RegisterMessage(Transactions)

BacktrackSignatureChain = _reflection.GeneratedProtocolMessageType('BacktrackSignatureChain', (_message.Message,), dict(
  DESCRIPTOR = _BACKTRACKSIGNATURECHAIN,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.BacktrackSignatureChain)
  ))
_sym_db.RegisterMessage(BacktrackSignatureChain)

IHaveSignatureChainTransaction = _reflection.GeneratedProtocolMessageType('IHaveSignatureChainTransaction', (_message.Message,), dict(
  DESCRIPTOR = _IHAVESIGNATURECHAINTRANSACTION,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.IHaveSignatureChainTransaction)
  ))
_sym_db.RegisterMessage(IHaveSignatureChainTransaction)

RequestSignatureChainTransaction = _reflection.GeneratedProtocolMessageType('RequestSignatureChainTransaction', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTSIGNATURECHAINTRANSACTION,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.RequestSignatureChainTransaction)
  ))
_sym_db.RegisterMessage(RequestSignatureChainTransaction)

RequestSignatureChainTransactionReply = _reflection.GeneratedProtocolMessageType('RequestSignatureChainTransactionReply', (_message.Message,), dict(
  DESCRIPTOR = _REQUESTSIGNATURECHAINTRANSACTIONREPLY,
  __module__ = 'pb.nodemessage_pb2'
  # @@protoc_insertion_point(class_scope:pb.RequestSignatureChainTransactionReply)
  ))
_sym_db.RegisterMessage(RequestSignatureChainTransactionReply)


# @@protoc_insertion_point(module_scope)
