# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: external.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()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='external.proto',
  package='external',
  syntax='proto3',
  serialized_options=b'\n\022com.mobilecoin.apiB\rMobileCoinAPI',
  serialized_pb=b'\n\x0e\x65xternal.proto\x12\x08\x65xternal\" \n\x10RistrettoPrivate\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"#\n\x13\x43ompressedRistretto\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x1d\n\rEd25519Public\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\" \n\x10\x45\x64\x32\x35\x35\x31\x39Signature\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xcb\x01\n\nAccountKey\x12\x34\n\x10view_private_key\x18\x01 \x01(\x0b\x32\x1a.external.RistrettoPrivate\x12\x35\n\x11spend_private_key\x18\x02 \x01(\x0b\x32\x1a.external.RistrettoPrivate\x12\x16\n\x0e\x66og_report_url\x18\x03 \x01(\t\x12\x15\n\rfog_report_id\x18\x04 \x01(\t\x12!\n\x19\x66og_authority_fingerprint\x18\x05 \x01(\x0c\"\xd6\x01\n\rPublicAddress\x12\x36\n\x0fview_public_key\x18\x01 \x01(\x0b\x32\x1d.external.CompressedRistretto\x12\x37\n\x10spend_public_key\x18\x02 \x01(\x0b\x32\x1d.external.CompressedRistretto\x12\x16\n\x0e\x66og_report_url\x18\x03 \x01(\t\x12\x15\n\rfog_report_id\x18\x04 \x01(\t\x12%\n\x1d\x66og_authority_fingerprint_sig\x18\x05 \x01(\x0c\"\x8d\x01\n\x0cRootIdentity\x12+\n\x0croot_entropy\x18\x01 \x01(\x0b\x32\x15.external.RootEntropy\x12\x16\n\x0e\x66og_report_url\x18\x02 \x01(\t\x12\x15\n\rfog_report_id\x18\x03 \x01(\t\x12!\n\x19\x66og_authority_fingerprint\x18\x05 \x01(\x0c\"\x1b\n\x0bRootEntropy\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"x\n\x07ViewKey\x12\x34\n\x10view_private_key\x18\x01 \x01(\x0b\x32\x1a.external.RistrettoPrivate\x12\x37\n\x10spend_public_key\x18\x02 \x01(\x0b\x32\x1d.external.CompressedRistretto\"\x1b\n\x0b\x43urveScalar\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x18\n\x08KeyImage\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"!\n\x05Range\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x04\x12\n\n\x02to\x18\x02 \x01(\x04\"#\n\x13TxOutMembershipHash\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"e\n\x16TxOutMembershipElement\x12\x1e\n\x05range\x18\x01 \x01(\x0b\x32\x0f.external.Range\x12+\n\x04hash\x18\x02 \x01(\x0b\x32\x1d.external.TxOutMembershipHash\"p\n\x14TxOutMembershipProof\x12\r\n\x05index\x18\x01 \x01(\x04\x12\x15\n\rhighest_index\x18\x02 \x01(\x04\x12\x32\n\x08\x65lements\x18\x03 \x03(\x0b\x32 .external.TxOutMembershipElement\"\'\n\x17TxOutConfirmationNumber\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\"Q\n\x06\x41mount\x12\x31\n\ncommitment\x18\x01 \x01(\x0b\x32\x1d.external.CompressedRistretto\x12\x14\n\x0cmasked_value\x18\x02 \x01(\x06\" \n\x10\x45ncryptedFogHint\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\xbf\x01\n\x05TxOut\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.external.Amount\x12\x31\n\ntarget_key\x18\x02 \x01(\x0b\x32\x1d.external.CompressedRistretto\x12\x31\n\npublic_key\x18\x03 \x01(\x0b\x32\x1d.external.CompressedRistretto\x12.\n\ne_fog_hint\x18\x04 \x01(\x0b\x32\x1a.external.EncryptedFogHint\"U\n\x04TxIn\x12\x1d\n\x04ring\x18\x01 \x03(\x0b\x32\x0f.external.TxOut\x12.\n\x06proofs\x18\x02 \x03(\x0b\x32\x1e.external.TxOutMembershipProof\"r\n\x08TxPrefix\x12\x1e\n\x06inputs\x18\x01 \x03(\x0b\x32\x0e.external.TxIn\x12 \n\x07outputs\x18\x02 \x03(\x0b\x32\x0f.external.TxOut\x12\x0b\n\x03\x66\x65\x65\x18\x03 \x01(\x04\x12\x17\n\x0ftombstone_block\x18\x04 \x01(\x04\"\x83\x01\n\tRingMLSAG\x12%\n\x06\x63_zero\x18\x01 \x01(\x0b\x32\x15.external.CurveScalar\x12(\n\tresponses\x18\x02 \x03(\x0b\x32\x15.external.CurveScalar\x12%\n\tkey_image\x18\x03 \x01(\x0b\x32\x12.external.KeyImage\"\xa0\x01\n\x18SignatureRctBulletproofs\x12,\n\x0fring_signatures\x18\x01 \x03(\x0b\x32\x13.external.RingMLSAG\x12@\n\x19pseudo_output_commitments\x18\x02 \x03(\x0b\x32\x1d.external.CompressedRistretto\x12\x14\n\x0crange_proofs\x18\x03 \x01(\x0c\"_\n\x02Tx\x12\"\n\x06prefix\x18\x01 \x01(\x0b\x32\x12.external.TxPrefix\x12\x35\n\tsignature\x18\x02 \x01(\x0b\x32\".external.SignatureRctBulletproofs\"\x16\n\x06TxHash\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\"\xb0\x01\n\x07Receipt\x12\x31\n\npublic_key\x18\x01 \x01(\x0b\x32\x1d.external.CompressedRistretto\x12\x37\n\x0c\x63onfirmation\x18\x02 \x01(\x0b\x32!.external.TxOutConfirmationNumber\x12\x17\n\x0ftombstone_block\x18\x03 \x01(\x04\x12 \n\x06\x61mount\x18\x04 \x01(\x0b\x32\x10.external.AmountB#\n\x12\x63om.mobilecoin.apiB\rMobileCoinAPIb\x06proto3'
)




_RISTRETTOPRIVATE = _descriptor.Descriptor(
  name='RistrettoPrivate',
  full_name='external.RistrettoPrivate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.RistrettoPrivate.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=28,
  serialized_end=60,
)


_COMPRESSEDRISTRETTO = _descriptor.Descriptor(
  name='CompressedRistretto',
  full_name='external.CompressedRistretto',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.CompressedRistretto.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=62,
  serialized_end=97,
)


_ED25519PUBLIC = _descriptor.Descriptor(
  name='Ed25519Public',
  full_name='external.Ed25519Public',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.Ed25519Public.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=99,
  serialized_end=128,
)


_ED25519SIGNATURE = _descriptor.Descriptor(
  name='Ed25519Signature',
  full_name='external.Ed25519Signature',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.Ed25519Signature.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=130,
  serialized_end=162,
)


_ACCOUNTKEY = _descriptor.Descriptor(
  name='AccountKey',
  full_name='external.AccountKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='view_private_key', full_name='external.AccountKey.view_private_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='spend_private_key', full_name='external.AccountKey.spend_private_key', 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='fog_report_url', full_name='external.AccountKey.fog_report_url', 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='fog_report_id', full_name='external.AccountKey.fog_report_id', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fog_authority_fingerprint', full_name='external.AccountKey.fog_authority_fingerprint', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=165,
  serialized_end=368,
)


_PUBLICADDRESS = _descriptor.Descriptor(
  name='PublicAddress',
  full_name='external.PublicAddress',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='view_public_key', full_name='external.PublicAddress.view_public_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='spend_public_key', full_name='external.PublicAddress.spend_public_key', 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='fog_report_url', full_name='external.PublicAddress.fog_report_url', 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='fog_report_id', full_name='external.PublicAddress.fog_report_id', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fog_authority_fingerprint_sig', full_name='external.PublicAddress.fog_authority_fingerprint_sig', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=371,
  serialized_end=585,
)


_ROOTIDENTITY = _descriptor.Descriptor(
  name='RootIdentity',
  full_name='external.RootIdentity',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='root_entropy', full_name='external.RootIdentity.root_entropy', 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='fog_report_url', full_name='external.RootIdentity.fog_report_url', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fog_report_id', full_name='external.RootIdentity.fog_report_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='fog_authority_fingerprint', full_name='external.RootIdentity.fog_authority_fingerprint', index=3,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=588,
  serialized_end=729,
)


_ROOTENTROPY = _descriptor.Descriptor(
  name='RootEntropy',
  full_name='external.RootEntropy',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.RootEntropy.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=731,
  serialized_end=758,
)


_VIEWKEY = _descriptor.Descriptor(
  name='ViewKey',
  full_name='external.ViewKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='view_private_key', full_name='external.ViewKey.view_private_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='spend_public_key', full_name='external.ViewKey.spend_public_key', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=760,
  serialized_end=880,
)


_CURVESCALAR = _descriptor.Descriptor(
  name='CurveScalar',
  full_name='external.CurveScalar',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.CurveScalar.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=882,
  serialized_end=909,
)


_KEYIMAGE = _descriptor.Descriptor(
  name='KeyImage',
  full_name='external.KeyImage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.KeyImage.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=911,
  serialized_end=935,
)


_RANGE = _descriptor.Descriptor(
  name='Range',
  full_name='external.Range',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='from', full_name='external.Range.from', 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),
    _descriptor.FieldDescriptor(
      name='to', full_name='external.Range.to', 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=937,
  serialized_end=970,
)


_TXOUTMEMBERSHIPHASH = _descriptor.Descriptor(
  name='TxOutMembershipHash',
  full_name='external.TxOutMembershipHash',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.TxOutMembershipHash.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=972,
  serialized_end=1007,
)


_TXOUTMEMBERSHIPELEMENT = _descriptor.Descriptor(
  name='TxOutMembershipElement',
  full_name='external.TxOutMembershipElement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='range', full_name='external.TxOutMembershipElement.range', 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='hash', full_name='external.TxOutMembershipElement.hash', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1009,
  serialized_end=1110,
)


_TXOUTMEMBERSHIPPROOF = _descriptor.Descriptor(
  name='TxOutMembershipProof',
  full_name='external.TxOutMembershipProof',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='index', full_name='external.TxOutMembershipProof.index', 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),
    _descriptor.FieldDescriptor(
      name='highest_index', full_name='external.TxOutMembershipProof.highest_index', 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='elements', full_name='external.TxOutMembershipProof.elements', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1112,
  serialized_end=1224,
)


_TXOUTCONFIRMATIONNUMBER = _descriptor.Descriptor(
  name='TxOutConfirmationNumber',
  full_name='external.TxOutConfirmationNumber',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='external.TxOutConfirmationNumber.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=1226,
  serialized_end=1265,
)


_AMOUNT = _descriptor.Descriptor(
  name='Amount',
  full_name='external.Amount',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='commitment', full_name='external.Amount.commitment', 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='masked_value', full_name='external.Amount.masked_value', index=1,
      number=2, type=6, 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=1267,
  serialized_end=1348,
)


_ENCRYPTEDFOGHINT = _descriptor.Descriptor(
  name='EncryptedFogHint',
  full_name='external.EncryptedFogHint',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='external.EncryptedFogHint.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=1350,
  serialized_end=1382,
)


_TXOUT = _descriptor.Descriptor(
  name='TxOut',
  full_name='external.TxOut',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='amount', full_name='external.TxOut.amount', 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='target_key', full_name='external.TxOut.target_key', 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='public_key', full_name='external.TxOut.public_key', 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='e_fog_hint', full_name='external.TxOut.e_fog_hint', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1385,
  serialized_end=1576,
)


_TXIN = _descriptor.Descriptor(
  name='TxIn',
  full_name='external.TxIn',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ring', full_name='external.TxIn.ring', 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='proofs', full_name='external.TxIn.proofs', 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=1578,
  serialized_end=1663,
)


_TXPREFIX = _descriptor.Descriptor(
  name='TxPrefix',
  full_name='external.TxPrefix',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='inputs', full_name='external.TxPrefix.inputs', 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='external.TxPrefix.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),
    _descriptor.FieldDescriptor(
      name='fee', full_name='external.TxPrefix.fee', 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='tombstone_block', full_name='external.TxPrefix.tombstone_block', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1665,
  serialized_end=1779,
)


_RINGMLSAG = _descriptor.Descriptor(
  name='RingMLSAG',
  full_name='external.RingMLSAG',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='c_zero', full_name='external.RingMLSAG.c_zero', 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='responses', full_name='external.RingMLSAG.responses', 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='key_image', full_name='external.RingMLSAG.key_image', 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=1782,
  serialized_end=1913,
)


_SIGNATURERCTBULLETPROOFS = _descriptor.Descriptor(
  name='SignatureRctBulletproofs',
  full_name='external.SignatureRctBulletproofs',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ring_signatures', full_name='external.SignatureRctBulletproofs.ring_signatures', 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='pseudo_output_commitments', full_name='external.SignatureRctBulletproofs.pseudo_output_commitments', 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='range_proofs', full_name='external.SignatureRctBulletproofs.range_proofs', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1916,
  serialized_end=2076,
)


_TX = _descriptor.Descriptor(
  name='Tx',
  full_name='external.Tx',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='prefix', full_name='external.Tx.prefix', 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='signature', full_name='external.Tx.signature', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2078,
  serialized_end=2173,
)


_TXHASH = _descriptor.Descriptor(
  name='TxHash',
  full_name='external.TxHash',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash', full_name='external.TxHash.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=2175,
  serialized_end=2197,
)


_RECEIPT = _descriptor.Descriptor(
  name='Receipt',
  full_name='external.Receipt',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='public_key', full_name='external.Receipt.public_key', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='confirmation', full_name='external.Receipt.confirmation', 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='tombstone_block', full_name='external.Receipt.tombstone_block', 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='amount', full_name='external.Receipt.amount', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2200,
  serialized_end=2376,
)

_ACCOUNTKEY.fields_by_name['view_private_key'].message_type = _RISTRETTOPRIVATE
_ACCOUNTKEY.fields_by_name['spend_private_key'].message_type = _RISTRETTOPRIVATE
_PUBLICADDRESS.fields_by_name['view_public_key'].message_type = _COMPRESSEDRISTRETTO
_PUBLICADDRESS.fields_by_name['spend_public_key'].message_type = _COMPRESSEDRISTRETTO
_ROOTIDENTITY.fields_by_name['root_entropy'].message_type = _ROOTENTROPY
_VIEWKEY.fields_by_name['view_private_key'].message_type = _RISTRETTOPRIVATE
_VIEWKEY.fields_by_name['spend_public_key'].message_type = _COMPRESSEDRISTRETTO
_TXOUTMEMBERSHIPELEMENT.fields_by_name['range'].message_type = _RANGE
_TXOUTMEMBERSHIPELEMENT.fields_by_name['hash'].message_type = _TXOUTMEMBERSHIPHASH
_TXOUTMEMBERSHIPPROOF.fields_by_name['elements'].message_type = _TXOUTMEMBERSHIPELEMENT
_AMOUNT.fields_by_name['commitment'].message_type = _COMPRESSEDRISTRETTO
_TXOUT.fields_by_name['amount'].message_type = _AMOUNT
_TXOUT.fields_by_name['target_key'].message_type = _COMPRESSEDRISTRETTO
_TXOUT.fields_by_name['public_key'].message_type = _COMPRESSEDRISTRETTO
_TXOUT.fields_by_name['e_fog_hint'].message_type = _ENCRYPTEDFOGHINT
_TXIN.fields_by_name['ring'].message_type = _TXOUT
_TXIN.fields_by_name['proofs'].message_type = _TXOUTMEMBERSHIPPROOF
_TXPREFIX.fields_by_name['inputs'].message_type = _TXIN
_TXPREFIX.fields_by_name['outputs'].message_type = _TXOUT
_RINGMLSAG.fields_by_name['c_zero'].message_type = _CURVESCALAR
_RINGMLSAG.fields_by_name['responses'].message_type = _CURVESCALAR
_RINGMLSAG.fields_by_name['key_image'].message_type = _KEYIMAGE
_SIGNATURERCTBULLETPROOFS.fields_by_name['ring_signatures'].message_type = _RINGMLSAG
_SIGNATURERCTBULLETPROOFS.fields_by_name['pseudo_output_commitments'].message_type = _COMPRESSEDRISTRETTO
_TX.fields_by_name['prefix'].message_type = _TXPREFIX
_TX.fields_by_name['signature'].message_type = _SIGNATURERCTBULLETPROOFS
_RECEIPT.fields_by_name['public_key'].message_type = _COMPRESSEDRISTRETTO
_RECEIPT.fields_by_name['confirmation'].message_type = _TXOUTCONFIRMATIONNUMBER
_RECEIPT.fields_by_name['amount'].message_type = _AMOUNT
DESCRIPTOR.message_types_by_name['RistrettoPrivate'] = _RISTRETTOPRIVATE
DESCRIPTOR.message_types_by_name['CompressedRistretto'] = _COMPRESSEDRISTRETTO
DESCRIPTOR.message_types_by_name['Ed25519Public'] = _ED25519PUBLIC
DESCRIPTOR.message_types_by_name['Ed25519Signature'] = _ED25519SIGNATURE
DESCRIPTOR.message_types_by_name['AccountKey'] = _ACCOUNTKEY
DESCRIPTOR.message_types_by_name['PublicAddress'] = _PUBLICADDRESS
DESCRIPTOR.message_types_by_name['RootIdentity'] = _ROOTIDENTITY
DESCRIPTOR.message_types_by_name['RootEntropy'] = _ROOTENTROPY
DESCRIPTOR.message_types_by_name['ViewKey'] = _VIEWKEY
DESCRIPTOR.message_types_by_name['CurveScalar'] = _CURVESCALAR
DESCRIPTOR.message_types_by_name['KeyImage'] = _KEYIMAGE
DESCRIPTOR.message_types_by_name['Range'] = _RANGE
DESCRIPTOR.message_types_by_name['TxOutMembershipHash'] = _TXOUTMEMBERSHIPHASH
DESCRIPTOR.message_types_by_name['TxOutMembershipElement'] = _TXOUTMEMBERSHIPELEMENT
DESCRIPTOR.message_types_by_name['TxOutMembershipProof'] = _TXOUTMEMBERSHIPPROOF
DESCRIPTOR.message_types_by_name['TxOutConfirmationNumber'] = _TXOUTCONFIRMATIONNUMBER
DESCRIPTOR.message_types_by_name['Amount'] = _AMOUNT
DESCRIPTOR.message_types_by_name['EncryptedFogHint'] = _ENCRYPTEDFOGHINT
DESCRIPTOR.message_types_by_name['TxOut'] = _TXOUT
DESCRIPTOR.message_types_by_name['TxIn'] = _TXIN
DESCRIPTOR.message_types_by_name['TxPrefix'] = _TXPREFIX
DESCRIPTOR.message_types_by_name['RingMLSAG'] = _RINGMLSAG
DESCRIPTOR.message_types_by_name['SignatureRctBulletproofs'] = _SIGNATURERCTBULLETPROOFS
DESCRIPTOR.message_types_by_name['Tx'] = _TX
DESCRIPTOR.message_types_by_name['TxHash'] = _TXHASH
DESCRIPTOR.message_types_by_name['Receipt'] = _RECEIPT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

RistrettoPrivate = _reflection.GeneratedProtocolMessageType('RistrettoPrivate', (_message.Message,), {
  'DESCRIPTOR' : _RISTRETTOPRIVATE,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.RistrettoPrivate)
  })
_sym_db.RegisterMessage(RistrettoPrivate)

CompressedRistretto = _reflection.GeneratedProtocolMessageType('CompressedRistretto', (_message.Message,), {
  'DESCRIPTOR' : _COMPRESSEDRISTRETTO,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.CompressedRistretto)
  })
_sym_db.RegisterMessage(CompressedRistretto)

Ed25519Public = _reflection.GeneratedProtocolMessageType('Ed25519Public', (_message.Message,), {
  'DESCRIPTOR' : _ED25519PUBLIC,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.Ed25519Public)
  })
_sym_db.RegisterMessage(Ed25519Public)

Ed25519Signature = _reflection.GeneratedProtocolMessageType('Ed25519Signature', (_message.Message,), {
  'DESCRIPTOR' : _ED25519SIGNATURE,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.Ed25519Signature)
  })
_sym_db.RegisterMessage(Ed25519Signature)

AccountKey = _reflection.GeneratedProtocolMessageType('AccountKey', (_message.Message,), {
  'DESCRIPTOR' : _ACCOUNTKEY,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.AccountKey)
  })
_sym_db.RegisterMessage(AccountKey)

PublicAddress = _reflection.GeneratedProtocolMessageType('PublicAddress', (_message.Message,), {
  'DESCRIPTOR' : _PUBLICADDRESS,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.PublicAddress)
  })
_sym_db.RegisterMessage(PublicAddress)

RootIdentity = _reflection.GeneratedProtocolMessageType('RootIdentity', (_message.Message,), {
  'DESCRIPTOR' : _ROOTIDENTITY,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.RootIdentity)
  })
_sym_db.RegisterMessage(RootIdentity)

RootEntropy = _reflection.GeneratedProtocolMessageType('RootEntropy', (_message.Message,), {
  'DESCRIPTOR' : _ROOTENTROPY,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.RootEntropy)
  })
_sym_db.RegisterMessage(RootEntropy)

ViewKey = _reflection.GeneratedProtocolMessageType('ViewKey', (_message.Message,), {
  'DESCRIPTOR' : _VIEWKEY,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.ViewKey)
  })
_sym_db.RegisterMessage(ViewKey)

CurveScalar = _reflection.GeneratedProtocolMessageType('CurveScalar', (_message.Message,), {
  'DESCRIPTOR' : _CURVESCALAR,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.CurveScalar)
  })
_sym_db.RegisterMessage(CurveScalar)

KeyImage = _reflection.GeneratedProtocolMessageType('KeyImage', (_message.Message,), {
  'DESCRIPTOR' : _KEYIMAGE,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.KeyImage)
  })
_sym_db.RegisterMessage(KeyImage)

Range = _reflection.GeneratedProtocolMessageType('Range', (_message.Message,), {
  'DESCRIPTOR' : _RANGE,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.Range)
  })
_sym_db.RegisterMessage(Range)

TxOutMembershipHash = _reflection.GeneratedProtocolMessageType('TxOutMembershipHash', (_message.Message,), {
  'DESCRIPTOR' : _TXOUTMEMBERSHIPHASH,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxOutMembershipHash)
  })
_sym_db.RegisterMessage(TxOutMembershipHash)

TxOutMembershipElement = _reflection.GeneratedProtocolMessageType('TxOutMembershipElement', (_message.Message,), {
  'DESCRIPTOR' : _TXOUTMEMBERSHIPELEMENT,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxOutMembershipElement)
  })
_sym_db.RegisterMessage(TxOutMembershipElement)

TxOutMembershipProof = _reflection.GeneratedProtocolMessageType('TxOutMembershipProof', (_message.Message,), {
  'DESCRIPTOR' : _TXOUTMEMBERSHIPPROOF,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxOutMembershipProof)
  })
_sym_db.RegisterMessage(TxOutMembershipProof)

TxOutConfirmationNumber = _reflection.GeneratedProtocolMessageType('TxOutConfirmationNumber', (_message.Message,), {
  'DESCRIPTOR' : _TXOUTCONFIRMATIONNUMBER,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxOutConfirmationNumber)
  })
_sym_db.RegisterMessage(TxOutConfirmationNumber)

Amount = _reflection.GeneratedProtocolMessageType('Amount', (_message.Message,), {
  'DESCRIPTOR' : _AMOUNT,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.Amount)
  })
_sym_db.RegisterMessage(Amount)

EncryptedFogHint = _reflection.GeneratedProtocolMessageType('EncryptedFogHint', (_message.Message,), {
  'DESCRIPTOR' : _ENCRYPTEDFOGHINT,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.EncryptedFogHint)
  })
_sym_db.RegisterMessage(EncryptedFogHint)

TxOut = _reflection.GeneratedProtocolMessageType('TxOut', (_message.Message,), {
  'DESCRIPTOR' : _TXOUT,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxOut)
  })
_sym_db.RegisterMessage(TxOut)

TxIn = _reflection.GeneratedProtocolMessageType('TxIn', (_message.Message,), {
  'DESCRIPTOR' : _TXIN,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxIn)
  })
_sym_db.RegisterMessage(TxIn)

TxPrefix = _reflection.GeneratedProtocolMessageType('TxPrefix', (_message.Message,), {
  'DESCRIPTOR' : _TXPREFIX,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxPrefix)
  })
_sym_db.RegisterMessage(TxPrefix)

RingMLSAG = _reflection.GeneratedProtocolMessageType('RingMLSAG', (_message.Message,), {
  'DESCRIPTOR' : _RINGMLSAG,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.RingMLSAG)
  })
_sym_db.RegisterMessage(RingMLSAG)

SignatureRctBulletproofs = _reflection.GeneratedProtocolMessageType('SignatureRctBulletproofs', (_message.Message,), {
  'DESCRIPTOR' : _SIGNATURERCTBULLETPROOFS,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.SignatureRctBulletproofs)
  })
_sym_db.RegisterMessage(SignatureRctBulletproofs)

Tx = _reflection.GeneratedProtocolMessageType('Tx', (_message.Message,), {
  'DESCRIPTOR' : _TX,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.Tx)
  })
_sym_db.RegisterMessage(Tx)

TxHash = _reflection.GeneratedProtocolMessageType('TxHash', (_message.Message,), {
  'DESCRIPTOR' : _TXHASH,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.TxHash)
  })
_sym_db.RegisterMessage(TxHash)

Receipt = _reflection.GeneratedProtocolMessageType('Receipt', (_message.Message,), {
  'DESCRIPTOR' : _RECEIPT,
  '__module__' : 'external_pb2'
  # @@protoc_insertion_point(class_scope:external.Receipt)
  })
_sym_db.RegisterMessage(Receipt)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
