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

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()


import .external_pb2 as external__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='blockchain.proto',
  package='blockchain',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=b'\n\x10\x62lockchain.proto\x12\nblockchain\x1a\x0e\x65xternal.proto\"\x17\n\x07\x42lockID\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"!\n\x11\x42lockContentsHash\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xfc\x01\n\x05\x42lock\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.blockchain.BlockID\x12\x0f\n\x07version\x18\x02 \x01(\r\x12&\n\tparent_id\x18\x03 \x01(\x0b\x32\x13.blockchain.BlockID\x12\r\n\x05index\x18\x04 \x01(\x04\x12\x1c\n\x14\x63umulative_txo_count\x18\x05 \x01(\x04\x12\x36\n\x0croot_element\x18\x06 \x01(\x0b\x32 .external.TxOutMembershipElement\x12\x34\n\rcontents_hash\x18\x07 \x01(\x0b\x32\x1d.blockchain.BlockContentsHash\"Y\n\rBlockContents\x12&\n\nkey_images\x18\x01 \x03(\x0b\x32\x12.external.KeyImage\x12 \n\x07outputs\x18\x02 \x03(\x0b\x32\x0f.external.TxOut\"{\n\x0e\x42lockSignature\x12-\n\tsignature\x18\x01 \x01(\x0b\x32\x1a.external.Ed25519Signature\x12\'\n\x06signer\x18\x02 \x01(\x0b\x32\x17.external.Ed25519Public\x12\x11\n\tsigned_at\x18\x03 \x01(\x04\"\x94\x01\n\x0e\x41rchiveBlockV1\x12 \n\x05\x62lock\x18\x01 \x01(\x0b\x32\x11.blockchain.Block\x12\x31\n\x0e\x62lock_contents\x18\x02 \x01(\x0b\x32\x19.blockchain.BlockContents\x12-\n\tsignature\x18\x03 \x01(\x0b\x32\x1a.blockchain.BlockSignature\"A\n\x0c\x41rchiveBlock\x12(\n\x02v1\x18\x01 \x01(\x0b\x32\x1a.blockchain.ArchiveBlockV1H\x00\x42\x07\n\x05\x62lockb\x06proto3'
  ,
  dependencies=[external__pb2.DESCRIPTOR,])




_BLOCKID = _descriptor.Descriptor(
  name='BlockID',
  full_name='blockchain.BlockID',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='blockchain.BlockID.data', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=48,
  serialized_end=71,
)


_BLOCKCONTENTSHASH = _descriptor.Descriptor(
  name='BlockContentsHash',
  full_name='blockchain.BlockContentsHash',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='blockchain.BlockContentsHash.data', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=73,
  serialized_end=106,
)


_BLOCK = _descriptor.Descriptor(
  name='Block',
  full_name='blockchain.Block',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='id', full_name='blockchain.Block.id', 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='version', full_name='blockchain.Block.version', 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),
    _descriptor.FieldDescriptor(
      name='parent_id', full_name='blockchain.Block.parent_id', 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),
    _descriptor.FieldDescriptor(
      name='index', full_name='blockchain.Block.index', index=3,
      number=4, 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='cumulative_txo_count', full_name='blockchain.Block.cumulative_txo_count', index=4,
      number=5, 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='root_element', full_name='blockchain.Block.root_element', index=5,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='contents_hash', full_name='blockchain.Block.contents_hash', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=109,
  serialized_end=361,
)


_BLOCKCONTENTS = _descriptor.Descriptor(
  name='BlockContents',
  full_name='blockchain.BlockContents',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key_images', full_name='blockchain.BlockContents.key_images', 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='outputs', full_name='blockchain.BlockContents.outputs', 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=363,
  serialized_end=452,
)


_BLOCKSIGNATURE = _descriptor.Descriptor(
  name='BlockSignature',
  full_name='blockchain.BlockSignature',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='signature', full_name='blockchain.BlockSignature.signature', 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='signer', full_name='blockchain.BlockSignature.signer', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signed_at', full_name='blockchain.BlockSignature.signed_at', 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=454,
  serialized_end=577,
)


_ARCHIVEBLOCKV1 = _descriptor.Descriptor(
  name='ArchiveBlockV1',
  full_name='blockchain.ArchiveBlockV1',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block', full_name='blockchain.ArchiveBlockV1.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='block_contents', full_name='blockchain.ArchiveBlockV1.block_contents', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signature', full_name='blockchain.ArchiveBlockV1.signature', 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=580,
  serialized_end=728,
)


_ARCHIVEBLOCK = _descriptor.Descriptor(
  name='ArchiveBlock',
  full_name='blockchain.ArchiveBlock',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='v1', full_name='blockchain.ArchiveBlock.v1', 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=[
    _descriptor.OneofDescriptor(
      name='block', full_name='blockchain.ArchiveBlock.block',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=730,
  serialized_end=795,
)

_BLOCK.fields_by_name['id'].message_type = _BLOCKID
_BLOCK.fields_by_name['parent_id'].message_type = _BLOCKID
_BLOCK.fields_by_name['root_element'].message_type = external__pb2._TXOUTMEMBERSHIPELEMENT
_BLOCK.fields_by_name['contents_hash'].message_type = _BLOCKCONTENTSHASH
_BLOCKCONTENTS.fields_by_name['key_images'].message_type = external__pb2._KEYIMAGE
_BLOCKCONTENTS.fields_by_name['outputs'].message_type = external__pb2._TXOUT
_BLOCKSIGNATURE.fields_by_name['signature'].message_type = external__pb2._ED25519SIGNATURE
_BLOCKSIGNATURE.fields_by_name['signer'].message_type = external__pb2._ED25519PUBLIC
_ARCHIVEBLOCKV1.fields_by_name['block'].message_type = _BLOCK
_ARCHIVEBLOCKV1.fields_by_name['block_contents'].message_type = _BLOCKCONTENTS
_ARCHIVEBLOCKV1.fields_by_name['signature'].message_type = _BLOCKSIGNATURE
_ARCHIVEBLOCK.fields_by_name['v1'].message_type = _ARCHIVEBLOCKV1
_ARCHIVEBLOCK.oneofs_by_name['block'].fields.append(
  _ARCHIVEBLOCK.fields_by_name['v1'])
_ARCHIVEBLOCK.fields_by_name['v1'].containing_oneof = _ARCHIVEBLOCK.oneofs_by_name['block']
DESCRIPTOR.message_types_by_name['BlockID'] = _BLOCKID
DESCRIPTOR.message_types_by_name['BlockContentsHash'] = _BLOCKCONTENTSHASH
DESCRIPTOR.message_types_by_name['Block'] = _BLOCK
DESCRIPTOR.message_types_by_name['BlockContents'] = _BLOCKCONTENTS
DESCRIPTOR.message_types_by_name['BlockSignature'] = _BLOCKSIGNATURE
DESCRIPTOR.message_types_by_name['ArchiveBlockV1'] = _ARCHIVEBLOCKV1
DESCRIPTOR.message_types_by_name['ArchiveBlock'] = _ARCHIVEBLOCK
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BlockID = _reflection.GeneratedProtocolMessageType('BlockID', (_message.Message,), {
  'DESCRIPTOR' : _BLOCKID,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.BlockID)
  })
_sym_db.RegisterMessage(BlockID)

BlockContentsHash = _reflection.GeneratedProtocolMessageType('BlockContentsHash', (_message.Message,), {
  'DESCRIPTOR' : _BLOCKCONTENTSHASH,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.BlockContentsHash)
  })
_sym_db.RegisterMessage(BlockContentsHash)

Block = _reflection.GeneratedProtocolMessageType('Block', (_message.Message,), {
  'DESCRIPTOR' : _BLOCK,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.Block)
  })
_sym_db.RegisterMessage(Block)

BlockContents = _reflection.GeneratedProtocolMessageType('BlockContents', (_message.Message,), {
  'DESCRIPTOR' : _BLOCKCONTENTS,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.BlockContents)
  })
_sym_db.RegisterMessage(BlockContents)

BlockSignature = _reflection.GeneratedProtocolMessageType('BlockSignature', (_message.Message,), {
  'DESCRIPTOR' : _BLOCKSIGNATURE,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.BlockSignature)
  })
_sym_db.RegisterMessage(BlockSignature)

ArchiveBlockV1 = _reflection.GeneratedProtocolMessageType('ArchiveBlockV1', (_message.Message,), {
  'DESCRIPTOR' : _ARCHIVEBLOCKV1,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.ArchiveBlockV1)
  })
_sym_db.RegisterMessage(ArchiveBlockV1)

ArchiveBlock = _reflection.GeneratedProtocolMessageType('ArchiveBlock', (_message.Message,), {
  'DESCRIPTOR' : _ARCHIVEBLOCK,
  '__module__' : 'blockchain_pb2'
  # @@protoc_insertion_point(class_scope:blockchain.ArchiveBlock)
  })
_sym_db.RegisterMessage(ArchiveBlock)


# @@protoc_insertion_point(module_scope)
