# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: p2p.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 . import blockchain_pb2 as blockchain__pb2
from . import node_pb2 as node__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='p2p.proto',
  package='types',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=_b('\n\tp2p.proto\x12\x05types\x1a\x10\x62lockchain.proto\x1a\nnode.proto\"\xa8\x01\n\tMsgHeader\x12\x15\n\rclientVersion\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x03\x12\n\n\x02id\x18\x03 \x01(\t\x12\x0e\n\x06gossip\x18\x04 \x01(\x08\x12\x0e\n\x06peerID\x18\x05 \x01(\x0c\x12\x12\n\nnodePubKey\x18\x06 \x01(\x0c\x12\x0c\n\x04sign\x18\x07 \x01(\x0c\x12\x13\n\x0bsubprotocol\x18\x08 \x01(\r\x12\x0e\n\x06length\x18\t \x01(\r\"<\n\nP2PMessage\x12 \n\x06header\x18\x01 \x01(\x0b\x32\x10.types.MsgHeader\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"4\n\x04Ping\x12\x17\n\x0f\x62\x65st_block_hash\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62\x65st_height\x18\x02 \x01(\x04\"1\n\x04Pong\x12\x15\n\rbestBlockHash\x18\x01 \x01(\x0c\x12\x12\n\nbestHeight\x18\x02 \x01(\x04\"\x9c\x01\n\x06Status\x12\"\n\x06sender\x18\x01 \x01(\x0b\x32\x12.types.PeerAddress\x12\x15\n\rbestBlockHash\x18\x02 \x01(\x0c\x12\x12\n\nbestHeight\x18\x03 \x01(\x04\x12\x0f\n\x07\x63hainID\x18\x04 \x01(\x0c\x12\x10\n\x08noExpose\x18\x05 \x01(\x08\x12\x0f\n\x07version\x18\x06 \x01(\t\x12\x0f\n\x07genesis\x18\x07 \x01(\x0c\"\x1f\n\x0cGoAwayNotice\x12\x0f\n\x07message\x18\x01 \x01(\t\"G\n\x10\x41\x64\x64ressesRequest\x12\"\n\x06sender\x18\x01 \x01(\x0b\x32\x12.types.PeerAddress\x12\x0f\n\x07maxSize\x18\x02 \x01(\r\"[\n\x11\x41\x64\x64ressesResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12!\n\x05peers\x18\x02 \x03(\x0b\x32\x12.types.PeerAddress\"4\n\x0eNewBlockNotice\x12\x11\n\tblockHash\x18\x01 \x01(\x0c\x12\x0f\n\x07\x62lockNo\x18\x02 \x01(\x04\"W\n\x13\x42lockProducedNotice\x12\x12\n\nproducerID\x18\x01 \x01(\x0c\x12\x0f\n\x07\x62lockNo\x18\x02 \x01(\x04\x12\x1b\n\x05\x62lock\x18\x03 \x01(\x0b\x32\x0c.types.Block\"a\n\x16GetBlockHeadersRequest\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\x04\x12\x0e\n\x06offset\x18\x03 \x01(\x04\x12\x0c\n\x04size\x18\x04 \x01(\r\x12\x0b\n\x03\x61sc\x18\x05 \x01(\x08\"\x84\x01\n\x17GetBlockHeadersResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12\x0e\n\x06hashes\x18\x02 \x03(\x0c\x12#\n\x07headers\x18\x03 \x03(\x0b\x32\x12.types.BlockHeader\x12\x0f\n\x07hasNext\x18\x04 \x01(\x08\"!\n\x0fGetBlockRequest\x12\x0e\n\x06hashes\x18\x01 \x03(\x0c\"f\n\x10GetBlockResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12\x1c\n\x06\x62locks\x18\x02 \x03(\x0b\x32\x0c.types.Block\x12\x0f\n\x07hasNext\x18\x03 \x01(\x08\")\n\x15NewTransactionsNotice\x12\x10\n\x08txHashes\x18\x01 \x03(\x0c\"(\n\x16GetTransactionsRequest\x12\x0e\n\x06hashes\x18\x01 \x03(\x0c\"w\n\x17GetTransactionsResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12\x0e\n\x06hashes\x18\x02 \x03(\x0c\x12\x16\n\x03txs\x18\x03 \x03(\x0b\x32\t.types.Tx\x12\x0f\n\x07hasNext\x18\x04 \x01(\x08\"5\n\x11GetMissingRequest\x12\x0e\n\x06hashes\x18\x01 \x03(\x0c\x12\x10\n\x08stophash\x18\x02 \x01(\x0c\"$\n\x12GetAncestorRequest\x12\x0e\n\x06hashes\x18\x01 \x03(\x0c\"d\n\x13GetAncestorResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12\x14\n\x0c\x61ncestorHash\x18\x02 \x01(\x0c\x12\x12\n\nancestorNo\x18\x03 \x01(\x04\"\x1e\n\x0bGetHashByNo\x12\x0f\n\x07\x62lockNo\x18\x01 \x01(\x04\"M\n\x13GetHashByNoResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12\x11\n\tblockHash\x18\x02 \x01(\x0c\"F\n\x10GetHashesRequest\x12\x10\n\x08prevHash\x18\x01 \x01(\x0c\x12\x12\n\nprevNumber\x18\x02 \x01(\x04\x12\x0c\n\x04size\x18\x03 \x01(\x04\"Y\n\x11GetHashesResponse\x12#\n\x06status\x18\x01 \x01(\x0e\x32\x13.types.ResultStatus\x12\x0e\n\x06hashes\x18\x02 \x03(\x0c\x12\x0f\n\x07hasNext\x18\x03 \x01(\x08*\xbe\x02\n\x0cResultStatus\x12\x06\n\x02OK\x10\x00\x12\x0c\n\x08\x43\x41NCELED\x10\x01\x12\x0b\n\x07UNKNOWN\x10\x02\x12\x14\n\x10INVALID_ARGUMENT\x10\x03\x12\x15\n\x11\x44\x45\x41\x44LINE_EXCEEDED\x10\x04\x12\r\n\tNOT_FOUND\x10\x05\x12\x12\n\x0e\x41LREADY_EXISTS\x10\x06\x12\x15\n\x11PERMISSION_DENIED\x10\x07\x12\x16\n\x12RESOURCE_EXHAUSTED\x10\x08\x12\x17\n\x13\x46\x41ILED_PRECONDITION\x10\t\x12\x0b\n\x07\x41\x42ORTED\x10\n\x12\x10\n\x0cOUT_OF_RANGE\x10\x0b\x12\x11\n\rUNIMPLEMENTED\x10\x0c\x12\x0c\n\x08INTERNAL\x10\r\x12\x0f\n\x0bUNAVAILABLE\x10\x0e\x12\r\n\tDATA_LOSS\x10\x0f\x12\x13\n\x0fUNAUTHENTICATED\x10\x10\x62\x06proto3')
  ,
  dependencies=[blockchain__pb2.DESCRIPTOR,node__pb2.DESCRIPTOR,])

_RESULTSTATUS = _descriptor.EnumDescriptor(
  name='ResultStatus',
  full_name='types.ResultStatus',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OK', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CANCELED', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INVALID_ARGUMENT', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DEADLINE_EXCEEDED', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOT_FOUND', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALREADY_EXISTS', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PERMISSION_DENIED', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RESOURCE_EXHAUSTED', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FAILED_PRECONDITION', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ABORTED', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OUT_OF_RANGE', index=11, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNIMPLEMENTED', index=12, number=12,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='INTERNAL', index=13, number=13,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNAVAILABLE', index=14, number=14,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DATA_LOSS', index=15, number=15,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNAUTHENTICATED', index=16, number=16,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1938,
  serialized_end=2256,
)
_sym_db.RegisterEnumDescriptor(_RESULTSTATUS)

ResultStatus = enum_type_wrapper.EnumTypeWrapper(_RESULTSTATUS)
OK = 0
CANCELED = 1
UNKNOWN = 2
INVALID_ARGUMENT = 3
DEADLINE_EXCEEDED = 4
NOT_FOUND = 5
ALREADY_EXISTS = 6
PERMISSION_DENIED = 7
RESOURCE_EXHAUSTED = 8
FAILED_PRECONDITION = 9
ABORTED = 10
OUT_OF_RANGE = 11
UNIMPLEMENTED = 12
INTERNAL = 13
UNAVAILABLE = 14
DATA_LOSS = 15
UNAUTHENTICATED = 16



_MSGHEADER = _descriptor.Descriptor(
  name='MsgHeader',
  full_name='types.MsgHeader',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='clientVersion', full_name='types.MsgHeader.clientVersion', 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='timestamp', full_name='types.MsgHeader.timestamp', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='id', full_name='types.MsgHeader.id', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gossip', full_name='types.MsgHeader.gossip', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='peerID', full_name='types.MsgHeader.peerID', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='nodePubKey', full_name='types.MsgHeader.nodePubKey', index=5,
      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='sign', full_name='types.MsgHeader.sign', index=6,
      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='subprotocol', full_name='types.MsgHeader.subprotocol', index=7,
      number=8, 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='length', full_name='types.MsgHeader.length', index=8,
      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=51,
  serialized_end=219,
)


_P2PMESSAGE = _descriptor.Descriptor(
  name='P2PMessage',
  full_name='types.P2PMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='types.P2PMessage.header', 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='data', full_name='types.P2PMessage.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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=221,
  serialized_end=281,
)


_PING = _descriptor.Descriptor(
  name='Ping',
  full_name='types.Ping',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='best_block_hash', full_name='types.Ping.best_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='best_height', full_name='types.Ping.best_height', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=283,
  serialized_end=335,
)


_PONG = _descriptor.Descriptor(
  name='Pong',
  full_name='types.Pong',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bestBlockHash', full_name='types.Pong.bestBlockHash', 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='bestHeight', full_name='types.Pong.bestHeight', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=337,
  serialized_end=386,
)


_STATUS = _descriptor.Descriptor(
  name='Status',
  full_name='types.Status',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sender', full_name='types.Status.sender', 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='bestBlockHash', full_name='types.Status.bestBlockHash', 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),
    _descriptor.FieldDescriptor(
      name='bestHeight', full_name='types.Status.bestHeight', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chainID', full_name='types.Status.chainID', index=3,
      number=4, 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='noExpose', full_name='types.Status.noExpose', index=4,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version', full_name='types.Status.version', index=5,
      number=6, 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='genesis', full_name='types.Status.genesis', index=6,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=389,
  serialized_end=545,
)


_GOAWAYNOTICE = _descriptor.Descriptor(
  name='GoAwayNotice',
  full_name='types.GoAwayNotice',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message', full_name='types.GoAwayNotice.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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=547,
  serialized_end=578,
)


_ADDRESSESREQUEST = _descriptor.Descriptor(
  name='AddressesRequest',
  full_name='types.AddressesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='sender', full_name='types.AddressesRequest.sender', 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='maxSize', full_name='types.AddressesRequest.maxSize', 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=580,
  serialized_end=651,
)


_ADDRESSESRESPONSE = _descriptor.Descriptor(
  name='AddressesResponse',
  full_name='types.AddressesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.AddressesResponse.status', 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='peers', full_name='types.AddressesResponse.peers', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=653,
  serialized_end=744,
)


_NEWBLOCKNOTICE = _descriptor.Descriptor(
  name='NewBlockNotice',
  full_name='types.NewBlockNotice',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='blockHash', full_name='types.NewBlockNotice.blockHash', 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='blockNo', full_name='types.NewBlockNotice.blockNo', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=746,
  serialized_end=798,
)


_BLOCKPRODUCEDNOTICE = _descriptor.Descriptor(
  name='BlockProducedNotice',
  full_name='types.BlockProducedNotice',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='producerID', full_name='types.BlockProducedNotice.producerID', 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='blockNo', full_name='types.BlockProducedNotice.blockNo', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block', full_name='types.BlockProducedNotice.block', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=800,
  serialized_end=887,
)


_GETBLOCKHEADERSREQUEST = _descriptor.Descriptor(
  name='GetBlockHeadersRequest',
  full_name='types.GetBlockHeadersRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='types.GetBlockHeadersRequest.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='height', full_name='types.GetBlockHeadersRequest.height', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='offset', full_name='types.GetBlockHeadersRequest.offset', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='size', full_name='types.GetBlockHeadersRequest.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='asc', full_name='types.GetBlockHeadersRequest.asc', index=4,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=889,
  serialized_end=986,
)


_GETBLOCKHEADERSRESPONSE = _descriptor.Descriptor(
  name='GetBlockHeadersResponse',
  full_name='types.GetBlockHeadersResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.GetBlockHeadersResponse.status', 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='hashes', full_name='types.GetBlockHeadersResponse.hashes', 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),
    _descriptor.FieldDescriptor(
      name='headers', full_name='types.GetBlockHeadersResponse.headers', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hasNext', full_name='types.GetBlockHeadersResponse.hasNext', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=989,
  serialized_end=1121,
)


_GETBLOCKREQUEST = _descriptor.Descriptor(
  name='GetBlockRequest',
  full_name='types.GetBlockRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hashes', full_name='types.GetBlockRequest.hashes', index=0,
      number=1, 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=1123,
  serialized_end=1156,
)


_GETBLOCKRESPONSE = _descriptor.Descriptor(
  name='GetBlockResponse',
  full_name='types.GetBlockResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.GetBlockResponse.status', 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='blocks', full_name='types.GetBlockResponse.blocks', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hasNext', full_name='types.GetBlockResponse.hasNext', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1158,
  serialized_end=1260,
)


_NEWTRANSACTIONSNOTICE = _descriptor.Descriptor(
  name='NewTransactionsNotice',
  full_name='types.NewTransactionsNotice',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='txHashes', full_name='types.NewTransactionsNotice.txHashes', index=0,
      number=1, 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=1262,
  serialized_end=1303,
)


_GETTRANSACTIONSREQUEST = _descriptor.Descriptor(
  name='GetTransactionsRequest',
  full_name='types.GetTransactionsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hashes', full_name='types.GetTransactionsRequest.hashes', index=0,
      number=1, 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=1305,
  serialized_end=1345,
)


_GETTRANSACTIONSRESPONSE = _descriptor.Descriptor(
  name='GetTransactionsResponse',
  full_name='types.GetTransactionsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.GetTransactionsResponse.status', 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='hashes', full_name='types.GetTransactionsResponse.hashes', 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),
    _descriptor.FieldDescriptor(
      name='txs', full_name='types.GetTransactionsResponse.txs', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hasNext', full_name='types.GetTransactionsResponse.hasNext', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1347,
  serialized_end=1466,
)


_GETMISSINGREQUEST = _descriptor.Descriptor(
  name='GetMissingRequest',
  full_name='types.GetMissingRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hashes', full_name='types.GetMissingRequest.hashes', index=0,
      number=1, 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),
    _descriptor.FieldDescriptor(
      name='stophash', full_name='types.GetMissingRequest.stophash', 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=1468,
  serialized_end=1521,
)


_GETANCESTORREQUEST = _descriptor.Descriptor(
  name='GetAncestorRequest',
  full_name='types.GetAncestorRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hashes', full_name='types.GetAncestorRequest.hashes', index=0,
      number=1, 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=1523,
  serialized_end=1559,
)


_GETANCESTORRESPONSE = _descriptor.Descriptor(
  name='GetAncestorResponse',
  full_name='types.GetAncestorResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.GetAncestorResponse.status', 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='ancestorHash', full_name='types.GetAncestorResponse.ancestorHash', 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),
    _descriptor.FieldDescriptor(
      name='ancestorNo', full_name='types.GetAncestorResponse.ancestorNo', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1561,
  serialized_end=1661,
)


_GETHASHBYNO = _descriptor.Descriptor(
  name='GetHashByNo',
  full_name='types.GetHashByNo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='blockNo', full_name='types.GetHashByNo.blockNo', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1663,
  serialized_end=1693,
)


_GETHASHBYNORESPONSE = _descriptor.Descriptor(
  name='GetHashByNoResponse',
  full_name='types.GetHashByNoResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.GetHashByNoResponse.status', 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='blockHash', full_name='types.GetHashByNoResponse.blockHash', 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=1695,
  serialized_end=1772,
)


_GETHASHESREQUEST = _descriptor.Descriptor(
  name='GetHashesRequest',
  full_name='types.GetHashesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='prevHash', full_name='types.GetHashesRequest.prevHash', 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='prevNumber', full_name='types.GetHashesRequest.prevNumber', 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='size', full_name='types.GetHashesRequest.size', 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1774,
  serialized_end=1844,
)


_GETHASHESRESPONSE = _descriptor.Descriptor(
  name='GetHashesResponse',
  full_name='types.GetHashesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='types.GetHashesResponse.status', 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='hashes', full_name='types.GetHashesResponse.hashes', 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),
    _descriptor.FieldDescriptor(
      name='hasNext', full_name='types.GetHashesResponse.hasNext', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1846,
  serialized_end=1935,
)

_P2PMESSAGE.fields_by_name['header'].message_type = _MSGHEADER
_STATUS.fields_by_name['sender'].message_type = node__pb2._PEERADDRESS
_ADDRESSESREQUEST.fields_by_name['sender'].message_type = node__pb2._PEERADDRESS
_ADDRESSESRESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
_ADDRESSESRESPONSE.fields_by_name['peers'].message_type = node__pb2._PEERADDRESS
_BLOCKPRODUCEDNOTICE.fields_by_name['block'].message_type = blockchain__pb2._BLOCK
_GETBLOCKHEADERSRESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
_GETBLOCKHEADERSRESPONSE.fields_by_name['headers'].message_type = blockchain__pb2._BLOCKHEADER
_GETBLOCKRESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
_GETBLOCKRESPONSE.fields_by_name['blocks'].message_type = blockchain__pb2._BLOCK
_GETTRANSACTIONSRESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
_GETTRANSACTIONSRESPONSE.fields_by_name['txs'].message_type = blockchain__pb2._TX
_GETANCESTORRESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
_GETHASHBYNORESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
_GETHASHESRESPONSE.fields_by_name['status'].enum_type = _RESULTSTATUS
DESCRIPTOR.message_types_by_name['MsgHeader'] = _MSGHEADER
DESCRIPTOR.message_types_by_name['P2PMessage'] = _P2PMESSAGE
DESCRIPTOR.message_types_by_name['Ping'] = _PING
DESCRIPTOR.message_types_by_name['Pong'] = _PONG
DESCRIPTOR.message_types_by_name['Status'] = _STATUS
DESCRIPTOR.message_types_by_name['GoAwayNotice'] = _GOAWAYNOTICE
DESCRIPTOR.message_types_by_name['AddressesRequest'] = _ADDRESSESREQUEST
DESCRIPTOR.message_types_by_name['AddressesResponse'] = _ADDRESSESRESPONSE
DESCRIPTOR.message_types_by_name['NewBlockNotice'] = _NEWBLOCKNOTICE
DESCRIPTOR.message_types_by_name['BlockProducedNotice'] = _BLOCKPRODUCEDNOTICE
DESCRIPTOR.message_types_by_name['GetBlockHeadersRequest'] = _GETBLOCKHEADERSREQUEST
DESCRIPTOR.message_types_by_name['GetBlockHeadersResponse'] = _GETBLOCKHEADERSRESPONSE
DESCRIPTOR.message_types_by_name['GetBlockRequest'] = _GETBLOCKREQUEST
DESCRIPTOR.message_types_by_name['GetBlockResponse'] = _GETBLOCKRESPONSE
DESCRIPTOR.message_types_by_name['NewTransactionsNotice'] = _NEWTRANSACTIONSNOTICE
DESCRIPTOR.message_types_by_name['GetTransactionsRequest'] = _GETTRANSACTIONSREQUEST
DESCRIPTOR.message_types_by_name['GetTransactionsResponse'] = _GETTRANSACTIONSRESPONSE
DESCRIPTOR.message_types_by_name['GetMissingRequest'] = _GETMISSINGREQUEST
DESCRIPTOR.message_types_by_name['GetAncestorRequest'] = _GETANCESTORREQUEST
DESCRIPTOR.message_types_by_name['GetAncestorResponse'] = _GETANCESTORRESPONSE
DESCRIPTOR.message_types_by_name['GetHashByNo'] = _GETHASHBYNO
DESCRIPTOR.message_types_by_name['GetHashByNoResponse'] = _GETHASHBYNORESPONSE
DESCRIPTOR.message_types_by_name['GetHashesRequest'] = _GETHASHESREQUEST
DESCRIPTOR.message_types_by_name['GetHashesResponse'] = _GETHASHESRESPONSE
DESCRIPTOR.enum_types_by_name['ResultStatus'] = _RESULTSTATUS
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

MsgHeader = _reflection.GeneratedProtocolMessageType('MsgHeader', (_message.Message,), {
  'DESCRIPTOR' : _MSGHEADER,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.MsgHeader)
  })
_sym_db.RegisterMessage(MsgHeader)

P2PMessage = _reflection.GeneratedProtocolMessageType('P2PMessage', (_message.Message,), {
  'DESCRIPTOR' : _P2PMESSAGE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.P2PMessage)
  })
_sym_db.RegisterMessage(P2PMessage)

Ping = _reflection.GeneratedProtocolMessageType('Ping', (_message.Message,), {
  'DESCRIPTOR' : _PING,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.Ping)
  })
_sym_db.RegisterMessage(Ping)

Pong = _reflection.GeneratedProtocolMessageType('Pong', (_message.Message,), {
  'DESCRIPTOR' : _PONG,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.Pong)
  })
_sym_db.RegisterMessage(Pong)

Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,), {
  'DESCRIPTOR' : _STATUS,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.Status)
  })
_sym_db.RegisterMessage(Status)

GoAwayNotice = _reflection.GeneratedProtocolMessageType('GoAwayNotice', (_message.Message,), {
  'DESCRIPTOR' : _GOAWAYNOTICE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GoAwayNotice)
  })
_sym_db.RegisterMessage(GoAwayNotice)

AddressesRequest = _reflection.GeneratedProtocolMessageType('AddressesRequest', (_message.Message,), {
  'DESCRIPTOR' : _ADDRESSESREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.AddressesRequest)
  })
_sym_db.RegisterMessage(AddressesRequest)

AddressesResponse = _reflection.GeneratedProtocolMessageType('AddressesResponse', (_message.Message,), {
  'DESCRIPTOR' : _ADDRESSESRESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.AddressesResponse)
  })
_sym_db.RegisterMessage(AddressesResponse)

NewBlockNotice = _reflection.GeneratedProtocolMessageType('NewBlockNotice', (_message.Message,), {
  'DESCRIPTOR' : _NEWBLOCKNOTICE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.NewBlockNotice)
  })
_sym_db.RegisterMessage(NewBlockNotice)

BlockProducedNotice = _reflection.GeneratedProtocolMessageType('BlockProducedNotice', (_message.Message,), {
  'DESCRIPTOR' : _BLOCKPRODUCEDNOTICE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.BlockProducedNotice)
  })
_sym_db.RegisterMessage(BlockProducedNotice)

GetBlockHeadersRequest = _reflection.GeneratedProtocolMessageType('GetBlockHeadersRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETBLOCKHEADERSREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetBlockHeadersRequest)
  })
_sym_db.RegisterMessage(GetBlockHeadersRequest)

GetBlockHeadersResponse = _reflection.GeneratedProtocolMessageType('GetBlockHeadersResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETBLOCKHEADERSRESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetBlockHeadersResponse)
  })
_sym_db.RegisterMessage(GetBlockHeadersResponse)

GetBlockRequest = _reflection.GeneratedProtocolMessageType('GetBlockRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETBLOCKREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetBlockRequest)
  })
_sym_db.RegisterMessage(GetBlockRequest)

GetBlockResponse = _reflection.GeneratedProtocolMessageType('GetBlockResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETBLOCKRESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetBlockResponse)
  })
_sym_db.RegisterMessage(GetBlockResponse)

NewTransactionsNotice = _reflection.GeneratedProtocolMessageType('NewTransactionsNotice', (_message.Message,), {
  'DESCRIPTOR' : _NEWTRANSACTIONSNOTICE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.NewTransactionsNotice)
  })
_sym_db.RegisterMessage(NewTransactionsNotice)

GetTransactionsRequest = _reflection.GeneratedProtocolMessageType('GetTransactionsRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETTRANSACTIONSREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetTransactionsRequest)
  })
_sym_db.RegisterMessage(GetTransactionsRequest)

GetTransactionsResponse = _reflection.GeneratedProtocolMessageType('GetTransactionsResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETTRANSACTIONSRESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetTransactionsResponse)
  })
_sym_db.RegisterMessage(GetTransactionsResponse)

GetMissingRequest = _reflection.GeneratedProtocolMessageType('GetMissingRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETMISSINGREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetMissingRequest)
  })
_sym_db.RegisterMessage(GetMissingRequest)

GetAncestorRequest = _reflection.GeneratedProtocolMessageType('GetAncestorRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETANCESTORREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetAncestorRequest)
  })
_sym_db.RegisterMessage(GetAncestorRequest)

GetAncestorResponse = _reflection.GeneratedProtocolMessageType('GetAncestorResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETANCESTORRESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetAncestorResponse)
  })
_sym_db.RegisterMessage(GetAncestorResponse)

GetHashByNo = _reflection.GeneratedProtocolMessageType('GetHashByNo', (_message.Message,), {
  'DESCRIPTOR' : _GETHASHBYNO,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetHashByNo)
  })
_sym_db.RegisterMessage(GetHashByNo)

GetHashByNoResponse = _reflection.GeneratedProtocolMessageType('GetHashByNoResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETHASHBYNORESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetHashByNoResponse)
  })
_sym_db.RegisterMessage(GetHashByNoResponse)

GetHashesRequest = _reflection.GeneratedProtocolMessageType('GetHashesRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETHASHESREQUEST,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetHashesRequest)
  })
_sym_db.RegisterMessage(GetHashesRequest)

GetHashesResponse = _reflection.GeneratedProtocolMessageType('GetHashesResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETHASHESRESPONSE,
  '__module__' : 'p2p_pb2'
  # @@protoc_insertion_point(class_scope:types.GetHashesResponse)
  })
_sym_db.RegisterMessage(GetHashesResponse)


# @@protoc_insertion_point(module_scope)
