# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: types.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
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
from . import exchange_pb2 as exchange__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='types.proto',
  package='',
  syntax='proto2',
  serialized_pb=_b('\n\x0btypes.proto\x1a google/protobuf/descriptor.proto\x1a\x0e\x65xchange.proto\"\x80\x01\n\nHDNodeType\x12\r\n\x05\x64\x65pth\x18\x01 \x02(\r\x12\x13\n\x0b\x66ingerprint\x18\x02 \x02(\r\x12\x11\n\tchild_num\x18\x03 \x02(\r\x12\x12\n\nchain_code\x18\x04 \x02(\x0c\x12\x13\n\x0bprivate_key\x18\x05 \x01(\x0c\x12\x12\n\npublic_key\x18\x06 \x01(\x0c\">\n\x0eHDNodePathType\x12\x19\n\x04node\x18\x01 \x02(\x0b\x32\x0b.HDNodeType\x12\x11\n\taddress_n\x18\x02 \x03(\r\"\xda\x04\n\x08\x43oinType\x12\x11\n\tcoin_name\x18\x01 \x01(\t\x12\x15\n\rcoin_shortcut\x18\x02 \x01(\t\x12\x17\n\x0c\x61\x64\x64ress_type\x18\x03 \x01(\r:\x01\x30\x12\x11\n\tmaxfee_kb\x18\x04 \x01(\x04\x12\x1c\n\x11\x61\x64\x64ress_type_p2sh\x18\x05 \x01(\r:\x01\x35\x12\x1e\n\x13\x61\x64\x64ress_type_p2wpkh\x18\x06 \x01(\r:\x01\x36\x12\x1e\n\x12\x61\x64\x64ress_type_p2wsh\x18\x07 \x01(\r:\x02\x31\x30\x12\x1d\n\x15signed_message_header\x18\x08 \x01(\t\x12\x1a\n\x12\x62ip44_account_path\x18\t \x01(\r\x12\x0e\n\x06\x66orkid\x18\x0c \x01(\r\x12\x10\n\x08\x64\x65\x63imals\x18\r \x01(\r\x12\x18\n\x10\x63ontract_address\x18\x0e \x01(\x0c\x12\x11\n\tgas_limit\x18\x0f \x01(\x0c\x12\x1c\n\nxpub_magic\x18\x10 \x01(\r:\x08\x37\x36\x30\x36\x37\x33\x35\x38\x12\x1c\n\nxprv_magic\x18\x11 \x01(\r:\x08\x37\x36\x30\x36\x36\x32\x37\x36\x12\x0e\n\x06segwit\x18\x12 \x01(\x08\x12\x14\n\x0c\x66orce_bip143\x18\x13 \x01(\x08\x12\x12\n\ncurve_name\x18\x14 \x01(\t\x12\x17\n\x0f\x63\x61shaddr_prefix\x18\x15 \x01(\t\x12\x15\n\rbech32_prefix\x18\x16 \x01(\t\x12\x0e\n\x06\x64\x65\x63red\x18\x17 \x01(\x08\x12\x18\n\x10version_group_id\x18\x18 \x01(\r\x12\x1e\n\x16xpub_magic_segwit_p2sh\x18\x19 \x01(\r\x12 \n\x18xpub_magic_segwit_native\x18\x1a \x01(\r\"[\n\x18MultisigRedeemScriptType\x12 \n\x07pubkeys\x18\x01 \x03(\x0b\x32\x0f.HDNodePathType\x12\x12\n\nsignatures\x18\x02 \x03(\x0c\x12\t\n\x01m\x18\x03 \x01(\r\"\x9f\x02\n\x0bTxInputType\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x11\n\tprev_hash\x18\x02 \x02(\x0c\x12\x12\n\nprev_index\x18\x03 \x02(\r\x12\x12\n\nscript_sig\x18\x04 \x01(\x0c\x12\x1c\n\x08sequence\x18\x05 \x01(\r:\n4294967295\x12\x33\n\x0bscript_type\x18\x06 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\x12+\n\x08multisig\x18\x07 \x01(\x0b\x32\x19.MultisigRedeemScriptType\x12\x0e\n\x06\x61mount\x18\x08 \x01(\x04\x12\x13\n\x0b\x64\x65\x63red_tree\x18\t \x01(\r\x12\x1d\n\x15\x64\x65\x63red_script_version\x18\n \x01(\r\"\x9e\x02\n\x0cTxOutputType\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\taddress_n\x18\x02 \x03(\r\x12\x0e\n\x06\x61mount\x18\x03 \x02(\x04\x12&\n\x0bscript_type\x18\x04 \x02(\x0e\x32\x11.OutputScriptType\x12+\n\x08multisig\x18\x05 \x01(\x0b\x32\x19.MultisigRedeemScriptType\x12\x16\n\x0eop_return_data\x18\x06 \x01(\x0c\x12(\n\x0c\x61\x64\x64ress_type\x18\x07 \x01(\x0e\x32\x12.OutputAddressType\x12$\n\rexchange_type\x18\x08 \x01(\x0b\x32\r.ExchangeType\x12\x1d\n\x15\x64\x65\x63red_script_version\x18\t \x01(\r\"W\n\x0fTxOutputBinType\x12\x0e\n\x06\x61mount\x18\x01 \x02(\x04\x12\x15\n\rscript_pubkey\x18\x02 \x02(\x0c\x12\x1d\n\x15\x64\x65\x63red_script_version\x18\x03 \x01(\r\"\x95\x02\n\x0fTransactionType\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x1c\n\x06inputs\x18\x02 \x03(\x0b\x32\x0c.TxInputType\x12%\n\x0b\x62in_outputs\x18\x03 \x03(\x0b\x32\x10.TxOutputBinType\x12\x1e\n\x07outputs\x18\x05 \x03(\x0b\x32\r.TxOutputType\x12\x11\n\tlock_time\x18\x04 \x01(\r\x12\x12\n\ninputs_cnt\x18\x06 \x01(\r\x12\x13\n\x0boutputs_cnt\x18\x07 \x01(\r\x12\x12\n\nextra_data\x18\x08 \x01(\x0c\x12\x16\n\x0e\x65xtra_data_len\x18\t \x01(\r\x12\x0e\n\x06\x65xpiry\x18\n \x01(\r\x12\x14\n\x0coverwintered\x18\x0b \x01(\x08\"%\n\x12RawTransactionType\x12\x0f\n\x07payload\x18\x01 \x02(\x0c\"q\n\x14TxRequestDetailsType\x12\x15\n\rrequest_index\x18\x01 \x01(\r\x12\x0f\n\x07tx_hash\x18\x02 \x01(\x0c\x12\x16\n\x0e\x65xtra_data_len\x18\x03 \x01(\r\x12\x19\n\x11\x65xtra_data_offset\x18\x04 \x01(\r\"\\\n\x17TxRequestSerializedType\x12\x17\n\x0fsignature_index\x18\x01 \x01(\r\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x15\n\rserialized_tx\x18\x03 \x01(\x0c\"g\n\x0cIdentityType\x12\r\n\x05proto\x18\x01 \x01(\t\x12\x0c\n\x04user\x18\x02 \x01(\t\x12\x0c\n\x04host\x18\x03 \x01(\t\x12\x0c\n\x04port\x18\x04 \x01(\t\x12\x0c\n\x04path\x18\x05 \x01(\t\x12\x10\n\x05index\x18\x06 \x01(\r:\x01\x30\"2\n\nPolicyType\x12\x13\n\x0bpolicy_name\x18\x01 \x01(\t\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\"\xa8\x01\n\x0c\x45xchangeType\x12\x39\n\x18signed_exchange_response\x18\x01 \x01(\x0b\x32\x17.SignedExchangeResponse\x12%\n\x14withdrawal_coin_name\x18\x02 \x01(\t:\x07\x42itcoin\x12\x1c\n\x14withdrawal_address_n\x18\x03 \x03(\r\x12\x18\n\x10return_address_n\x18\x04 \x03(\r*\xe6\x02\n\x0b\x46\x61ilureType\x12\x1d\n\x19\x46\x61ilure_UnexpectedMessage\x10\x01\x12\x1a\n\x16\x46\x61ilure_ButtonExpected\x10\x02\x12\x17\n\x13\x46\x61ilure_SyntaxError\x10\x03\x12\x1b\n\x17\x46\x61ilure_ActionCancelled\x10\x04\x12\x17\n\x13\x46\x61ilure_PinExpected\x10\x05\x12\x18\n\x14\x46\x61ilure_PinCancelled\x10\x06\x12\x16\n\x12\x46\x61ilure_PinInvalid\x10\x07\x12\x1c\n\x18\x46\x61ilure_InvalidSignature\x10\x08\x12\x11\n\rFailure_Other\x10\t\x12\x1a\n\x16\x46\x61ilure_NotEnoughFunds\x10\n\x12\x1a\n\x16\x46\x61ilure_NotInitialized\x10\x0b\x12\x17\n\x13\x46\x61ilure_PinMismatch\x10\x0c\x12\x19\n\x15\x46\x61ilure_FirmwareError\x10\x63*\x87\x01\n\x10OutputScriptType\x12\x10\n\x0cPAYTOADDRESS\x10\x00\x12\x13\n\x0fPAYTOSCRIPTHASH\x10\x01\x12\x11\n\rPAYTOMULTISIG\x10\x02\x12\x11\n\rPAYTOOPRETURN\x10\x03\x12\x10\n\x0cPAYTOWITNESS\x10\x04\x12\x14\n\x10PAYTOP2SHWITNESS\x10\x05*l\n\x0fInputScriptType\x12\x10\n\x0cSPENDADDRESS\x10\x00\x12\x11\n\rSPENDMULTISIG\x10\x01\x12\x0c\n\x08\x45XTERNAL\x10\x02\x12\x10\n\x0cSPENDWITNESS\x10\x03\x12\x14\n\x10SPENDP2SHWITNESS\x10\x04*U\n\x0bRequestType\x12\x0b\n\x07TXINPUT\x10\x00\x12\x0c\n\x08TXOUTPUT\x10\x01\x12\n\n\x06TXMETA\x10\x02\x12\x0e\n\nTXFINISHED\x10\x03\x12\x0f\n\x0bTXEXTRADATA\x10\x04*F\n\x11OutputAddressType\x12\t\n\x05SPEND\x10\x00\x12\x0c\n\x08TRANSFER\x10\x01\x12\n\n\x06\x43HANGE\x10\x02\x12\x0c\n\x08\x45XCHANGE\x10\x03*\x94\t\n\x11\x42uttonRequestType\x12\x17\n\x13\x42uttonRequest_Other\x10\x01\x12\"\n\x1e\x42uttonRequest_FeeOverThreshold\x10\x02\x12\x1f\n\x1b\x42uttonRequest_ConfirmOutput\x10\x03\x12\x1d\n\x19\x42uttonRequest_ResetDevice\x10\x04\x12\x1d\n\x19\x42uttonRequest_ConfirmWord\x10\x05\x12\x1c\n\x18\x42uttonRequest_WipeDevice\x10\x06\x12\x1d\n\x19\x42uttonRequest_ProtectCall\x10\x07\x12\x18\n\x14\x42uttonRequest_SignTx\x10\x08\x12\x1f\n\x1b\x42uttonRequest_FirmwareCheck\x10\t\x12\x19\n\x15\x42uttonRequest_Address\x10\n\x12\x1f\n\x1b\x42uttonRequest_FirmwareErase\x10\x0b\x12*\n&ButtonRequest_ConfirmTransferToAccount\x10\x0c\x12+\n\'ButtonRequest_ConfirmTransferToNodePath\x10\r\x12\x1d\n\x19\x42uttonRequest_ChangeLabel\x10\x0e\x12 \n\x1c\x42uttonRequest_ChangeLanguage\x10\x0f\x12\"\n\x1e\x42uttonRequest_EnablePassphrase\x10\x10\x12#\n\x1f\x42uttonRequest_DisablePassphrase\x10\x11\x12\'\n#ButtonRequest_EncryptAndSignMessage\x10\x12\x12 \n\x1c\x42uttonRequest_EncryptMessage\x10\x13\x12\"\n\x1e\x42uttonRequest_ImportPrivateKey\x10\x14\x12(\n$ButtonRequest_ImportRecoverySentence\x10\x15\x12\x1e\n\x1a\x42uttonRequest_SignIdentity\x10\x16\x12\x16\n\x12\x42uttonRequest_Ping\x10\x17\x12\x1b\n\x17\x42uttonRequest_RemovePin\x10\x18\x12\x1b\n\x17\x42uttonRequest_ChangePin\x10\x19\x12\x1b\n\x17\x42uttonRequest_CreatePin\x10\x1a\x12\x1c\n\x18\x42uttonRequest_GetEntropy\x10\x1b\x12\x1d\n\x19\x42uttonRequest_SignMessage\x10\x1c\x12\x1f\n\x1b\x42uttonRequest_ApplyPolicies\x10\x1d\x12\x1e\n\x1a\x42uttonRequest_SignExchange\x10\x1e\x12!\n\x1d\x42uttonRequest_AutoLockDelayMs\x10\x1f\x12\x1c\n\x18\x42uttonRequest_U2FCounter\x10 \x12\"\n\x1e\x42uttonRequest_ConfirmEosAction\x10!\x12\"\n\x1e\x42uttonRequest_ConfirmEosBudget\x10\"\x12\x1d\n\x19\x42uttonRequest_ConfirmMemo\x10#*\x7f\n\x14PinMatrixRequestType\x12 \n\x1cPinMatrixRequestType_Current\x10\x01\x12!\n\x1dPinMatrixRequestType_NewFirst\x10\x02\x12\"\n\x1ePinMatrixRequestType_NewSecond\x10\x03:4\n\x07wire_in\x12!.google.protobuf.EnumValueOptions\x18\xd2\x86\x03 \x01(\x08:5\n\x08wire_out\x12!.google.protobuf.EnumValueOptions\x18\xd3\x86\x03 \x01(\x08::\n\rwire_debug_in\x12!.google.protobuf.EnumValueOptions\x18\xd4\x86\x03 \x01(\x08:;\n\x0ewire_debug_out\x12!.google.protobuf.EnumValueOptions\x18\xd5\x86\x03 \x01(\x08\x42)\n\x1a\x63om.keepkey.deviceprotocolB\x0bKeepKeyType')
  ,
  dependencies=[google_dot_protobuf_dot_descriptor__pb2.DESCRIPTOR,exchange__pb2.DESCRIPTOR,])

_FAILURETYPE = _descriptor.EnumDescriptor(
  name='FailureType',
  full_name='FailureType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='Failure_UnexpectedMessage', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_ButtonExpected', index=1, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_SyntaxError', index=2, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_ActionCancelled', index=3, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_PinExpected', index=4, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_PinCancelled', index=5, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_PinInvalid', index=6, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_InvalidSignature', index=7, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_Other', index=8, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_NotEnoughFunds', index=9, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_NotInitialized', index=10, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_PinMismatch', index=11, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='Failure_FirmwareError', index=12, number=99,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2483,
  serialized_end=2841,
)
_sym_db.RegisterEnumDescriptor(_FAILURETYPE)

FailureType = enum_type_wrapper.EnumTypeWrapper(_FAILURETYPE)
_OUTPUTSCRIPTTYPE = _descriptor.EnumDescriptor(
  name='OutputScriptType',
  full_name='OutputScriptType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PAYTOADDRESS', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PAYTOSCRIPTHASH', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PAYTOMULTISIG', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PAYTOOPRETURN', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PAYTOWITNESS', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PAYTOP2SHWITNESS', index=5, number=5,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2844,
  serialized_end=2979,
)
_sym_db.RegisterEnumDescriptor(_OUTPUTSCRIPTTYPE)

OutputScriptType = enum_type_wrapper.EnumTypeWrapper(_OUTPUTSCRIPTTYPE)
_INPUTSCRIPTTYPE = _descriptor.EnumDescriptor(
  name='InputScriptType',
  full_name='InputScriptType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SPENDADDRESS', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SPENDMULTISIG', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXTERNAL', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SPENDWITNESS', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SPENDP2SHWITNESS', index=4, number=4,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2981,
  serialized_end=3089,
)
_sym_db.RegisterEnumDescriptor(_INPUTSCRIPTTYPE)

InputScriptType = enum_type_wrapper.EnumTypeWrapper(_INPUTSCRIPTTYPE)
_REQUESTTYPE = _descriptor.EnumDescriptor(
  name='RequestType',
  full_name='RequestType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TXINPUT', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TXOUTPUT', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TXMETA', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TXFINISHED', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TXEXTRADATA', index=4, number=4,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3091,
  serialized_end=3176,
)
_sym_db.RegisterEnumDescriptor(_REQUESTTYPE)

RequestType = enum_type_wrapper.EnumTypeWrapper(_REQUESTTYPE)
_OUTPUTADDRESSTYPE = _descriptor.EnumDescriptor(
  name='OutputAddressType',
  full_name='OutputAddressType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SPEND', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRANSFER', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHANGE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3178,
  serialized_end=3248,
)
_sym_db.RegisterEnumDescriptor(_OUTPUTADDRESSTYPE)

OutputAddressType = enum_type_wrapper.EnumTypeWrapper(_OUTPUTADDRESSTYPE)
_BUTTONREQUESTTYPE = _descriptor.EnumDescriptor(
  name='ButtonRequestType',
  full_name='ButtonRequestType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_Other', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_FeeOverThreshold', index=1, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmOutput', index=2, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ResetDevice', index=3, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmWord', index=4, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_WipeDevice', index=5, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ProtectCall', index=6, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_SignTx', index=7, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_FirmwareCheck', index=8, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_Address', index=9, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_FirmwareErase', index=10, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmTransferToAccount', index=11, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmTransferToNodePath', index=12, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ChangeLabel', index=13, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ChangeLanguage', index=14, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_EnablePassphrase', index=15, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_DisablePassphrase', index=16, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_EncryptAndSignMessage', index=17, number=18,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_EncryptMessage', index=18, number=19,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ImportPrivateKey', index=19, number=20,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ImportRecoverySentence', index=20, number=21,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_SignIdentity', index=21, number=22,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_Ping', index=22, number=23,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_RemovePin', index=23, number=24,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ChangePin', index=24, number=25,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_CreatePin', index=25, number=26,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_GetEntropy', index=26, number=27,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_SignMessage', index=27, number=28,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ApplyPolicies', index=28, number=29,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_SignExchange', index=29, number=30,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_AutoLockDelayMs', index=30, number=31,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_U2FCounter', index=31, number=32,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmEosAction', index=32, number=33,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmEosBudget', index=33, number=34,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ButtonRequest_ConfirmMemo', index=34, number=35,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3251,
  serialized_end=4423,
)
_sym_db.RegisterEnumDescriptor(_BUTTONREQUESTTYPE)

ButtonRequestType = enum_type_wrapper.EnumTypeWrapper(_BUTTONREQUESTTYPE)
_PINMATRIXREQUESTTYPE = _descriptor.EnumDescriptor(
  name='PinMatrixRequestType',
  full_name='PinMatrixRequestType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PinMatrixRequestType_Current', index=0, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PinMatrixRequestType_NewFirst', index=1, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PinMatrixRequestType_NewSecond', index=2, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4425,
  serialized_end=4552,
)
_sym_db.RegisterEnumDescriptor(_PINMATRIXREQUESTTYPE)

PinMatrixRequestType = enum_type_wrapper.EnumTypeWrapper(_PINMATRIXREQUESTTYPE)
Failure_UnexpectedMessage = 1
Failure_ButtonExpected = 2
Failure_SyntaxError = 3
Failure_ActionCancelled = 4
Failure_PinExpected = 5
Failure_PinCancelled = 6
Failure_PinInvalid = 7
Failure_InvalidSignature = 8
Failure_Other = 9
Failure_NotEnoughFunds = 10
Failure_NotInitialized = 11
Failure_PinMismatch = 12
Failure_FirmwareError = 99
PAYTOADDRESS = 0
PAYTOSCRIPTHASH = 1
PAYTOMULTISIG = 2
PAYTOOPRETURN = 3
PAYTOWITNESS = 4
PAYTOP2SHWITNESS = 5
SPENDADDRESS = 0
SPENDMULTISIG = 1
EXTERNAL = 2
SPENDWITNESS = 3
SPENDP2SHWITNESS = 4
TXINPUT = 0
TXOUTPUT = 1
TXMETA = 2
TXFINISHED = 3
TXEXTRADATA = 4
SPEND = 0
TRANSFER = 1
CHANGE = 2
EXCHANGE = 3
ButtonRequest_Other = 1
ButtonRequest_FeeOverThreshold = 2
ButtonRequest_ConfirmOutput = 3
ButtonRequest_ResetDevice = 4
ButtonRequest_ConfirmWord = 5
ButtonRequest_WipeDevice = 6
ButtonRequest_ProtectCall = 7
ButtonRequest_SignTx = 8
ButtonRequest_FirmwareCheck = 9
ButtonRequest_Address = 10
ButtonRequest_FirmwareErase = 11
ButtonRequest_ConfirmTransferToAccount = 12
ButtonRequest_ConfirmTransferToNodePath = 13
ButtonRequest_ChangeLabel = 14
ButtonRequest_ChangeLanguage = 15
ButtonRequest_EnablePassphrase = 16
ButtonRequest_DisablePassphrase = 17
ButtonRequest_EncryptAndSignMessage = 18
ButtonRequest_EncryptMessage = 19
ButtonRequest_ImportPrivateKey = 20
ButtonRequest_ImportRecoverySentence = 21
ButtonRequest_SignIdentity = 22
ButtonRequest_Ping = 23
ButtonRequest_RemovePin = 24
ButtonRequest_ChangePin = 25
ButtonRequest_CreatePin = 26
ButtonRequest_GetEntropy = 27
ButtonRequest_SignMessage = 28
ButtonRequest_ApplyPolicies = 29
ButtonRequest_SignExchange = 30
ButtonRequest_AutoLockDelayMs = 31
ButtonRequest_U2FCounter = 32
ButtonRequest_ConfirmEosAction = 33
ButtonRequest_ConfirmEosBudget = 34
ButtonRequest_ConfirmMemo = 35
PinMatrixRequestType_Current = 1
PinMatrixRequestType_NewFirst = 2
PinMatrixRequestType_NewSecond = 3

WIRE_IN_FIELD_NUMBER = 60002
wire_in = _descriptor.FieldDescriptor(
  name='wire_in', full_name='wire_in', index=0,
  number=60002, 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=True, extension_scope=None,
  options=None, file=DESCRIPTOR)
WIRE_OUT_FIELD_NUMBER = 60003
wire_out = _descriptor.FieldDescriptor(
  name='wire_out', full_name='wire_out', index=1,
  number=60003, 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=True, extension_scope=None,
  options=None, file=DESCRIPTOR)
WIRE_DEBUG_IN_FIELD_NUMBER = 60004
wire_debug_in = _descriptor.FieldDescriptor(
  name='wire_debug_in', full_name='wire_debug_in', index=2,
  number=60004, 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=True, extension_scope=None,
  options=None, file=DESCRIPTOR)
WIRE_DEBUG_OUT_FIELD_NUMBER = 60005
wire_debug_out = _descriptor.FieldDescriptor(
  name='wire_debug_out', full_name='wire_debug_out', index=3,
  number=60005, 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=True, extension_scope=None,
  options=None, file=DESCRIPTOR)


_HDNODETYPE = _descriptor.Descriptor(
  name='HDNodeType',
  full_name='HDNodeType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='depth', full_name='HDNodeType.depth', index=0,
      number=1, type=13, cpp_type=3, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fingerprint', full_name='HDNodeType.fingerprint', index=1,
      number=2, type=13, cpp_type=3, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='child_num', full_name='HDNodeType.child_num', index=2,
      number=3, type=13, cpp_type=3, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='chain_code', full_name='HDNodeType.chain_code', index=3,
      number=4, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='private_key', full_name='HDNodeType.private_key', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='public_key', full_name='HDNodeType.public_key', 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,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=66,
  serialized_end=194,
)


_HDNODEPATHTYPE = _descriptor.Descriptor(
  name='HDNodePathType',
  full_name='HDNodePathType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='node', full_name='HDNodePathType.node', index=0,
      number=1, type=11, cpp_type=10, label=2,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_n', full_name='HDNodePathType.address_n', index=1,
      number=2, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=196,
  serialized_end=258,
)


_COINTYPE = _descriptor.Descriptor(
  name='CoinType',
  full_name='CoinType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='coin_name', full_name='CoinType.coin_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='coin_shortcut', full_name='CoinType.coin_shortcut', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_type', full_name='CoinType.address_type', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='maxfee_kb', full_name='CoinType.maxfee_kb', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_type_p2sh', full_name='CoinType.address_type_p2sh', index=4,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=5,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_type_p2wpkh', full_name='CoinType.address_type_p2wpkh', index=5,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=6,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_type_p2wsh', full_name='CoinType.address_type_p2wsh', index=6,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=10,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signed_message_header', full_name='CoinType.signed_message_header', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='bip44_account_path', full_name='CoinType.bip44_account_path', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='forkid', full_name='CoinType.forkid', index=9,
      number=12, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decimals', full_name='CoinType.decimals', index=10,
      number=13, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='contract_address', full_name='CoinType.contract_address', index=11,
      number=14, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='gas_limit', full_name='CoinType.gas_limit', index=12,
      number=15, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xpub_magic', full_name='CoinType.xpub_magic', index=13,
      number=16, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=76067358,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xprv_magic', full_name='CoinType.xprv_magic', index=14,
      number=17, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=76066276,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='segwit', full_name='CoinType.segwit', index=15,
      number=18, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='force_bip143', full_name='CoinType.force_bip143', index=16,
      number=19, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='curve_name', full_name='CoinType.curve_name', index=17,
      number=20, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cashaddr_prefix', full_name='CoinType.cashaddr_prefix', index=18,
      number=21, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='bech32_prefix', full_name='CoinType.bech32_prefix', index=19,
      number=22, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decred', full_name='CoinType.decred', index=20,
      number=23, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version_group_id', full_name='CoinType.version_group_id', index=21,
      number=24, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xpub_magic_segwit_p2sh', full_name='CoinType.xpub_magic_segwit_p2sh', index=22,
      number=25, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xpub_magic_segwit_native', full_name='CoinType.xpub_magic_segwit_native', index=23,
      number=26, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=261,
  serialized_end=863,
)


_MULTISIGREDEEMSCRIPTTYPE = _descriptor.Descriptor(
  name='MultisigRedeemScriptType',
  full_name='MultisigRedeemScriptType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pubkeys', full_name='MultisigRedeemScriptType.pubkeys', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signatures', full_name='MultisigRedeemScriptType.signatures', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='m', full_name='MultisigRedeemScriptType.m', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=865,
  serialized_end=956,
)


_TXINPUTTYPE = _descriptor.Descriptor(
  name='TxInputType',
  full_name='TxInputType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address_n', full_name='TxInputType.address_n', index=0,
      number=1, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='prev_hash', full_name='TxInputType.prev_hash', index=1,
      number=2, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='prev_index', full_name='TxInputType.prev_index', index=2,
      number=3, type=13, cpp_type=3, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='script_sig', full_name='TxInputType.script_sig', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sequence', full_name='TxInputType.sequence', index=4,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=4294967295,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='script_type', full_name='TxInputType.script_type', index=5,
      number=6, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='multisig', full_name='TxInputType.multisig', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='amount', full_name='TxInputType.amount', index=7,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decred_tree', full_name='TxInputType.decred_tree', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decred_script_version', full_name='TxInputType.decred_script_version', index=9,
      number=10, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=959,
  serialized_end=1246,
)


_TXOUTPUTTYPE = _descriptor.Descriptor(
  name='TxOutputType',
  full_name='TxOutputType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='TxOutputType.address', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_n', full_name='TxOutputType.address_n', index=1,
      number=2, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='amount', full_name='TxOutputType.amount', index=2,
      number=3, type=4, cpp_type=4, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='script_type', full_name='TxOutputType.script_type', index=3,
      number=4, type=14, cpp_type=8, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='multisig', full_name='TxOutputType.multisig', index=4,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='op_return_data', full_name='TxOutputType.op_return_data', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='address_type', full_name='TxOutputType.address_type', index=6,
      number=7, 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange_type', full_name='TxOutputType.exchange_type', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decred_script_version', full_name='TxOutputType.decred_script_version', 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,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1249,
  serialized_end=1535,
)


_TXOUTPUTBINTYPE = _descriptor.Descriptor(
  name='TxOutputBinType',
  full_name='TxOutputBinType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='amount', full_name='TxOutputBinType.amount', index=0,
      number=1, type=4, cpp_type=4, label=2,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='script_pubkey', full_name='TxOutputBinType.script_pubkey', index=1,
      number=2, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decred_script_version', full_name='TxOutputBinType.decred_script_version', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1537,
  serialized_end=1624,
)


_TRANSACTIONTYPE = _descriptor.Descriptor(
  name='TransactionType',
  full_name='TransactionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='TransactionType.version', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inputs', full_name='TransactionType.inputs', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='bin_outputs', full_name='TransactionType.bin_outputs', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='outputs', full_name='TransactionType.outputs', index=3,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='lock_time', full_name='TransactionType.lock_time', index=4,
      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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='inputs_cnt', full_name='TransactionType.inputs_cnt', index=5,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='outputs_cnt', full_name='TransactionType.outputs_cnt', index=6,
      number=7, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='extra_data', full_name='TransactionType.extra_data', index=7,
      number=8, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='extra_data_len', full_name='TransactionType.extra_data_len', 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,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='expiry', full_name='TransactionType.expiry', index=9,
      number=10, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='overwintered', full_name='TransactionType.overwintered', index=10,
      number=11, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1627,
  serialized_end=1904,
)


_RAWTRANSACTIONTYPE = _descriptor.Descriptor(
  name='RawTransactionType',
  full_name='RawTransactionType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='payload', full_name='RawTransactionType.payload', index=0,
      number=1, type=12, cpp_type=9, label=2,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1906,
  serialized_end=1943,
)


_TXREQUESTDETAILSTYPE = _descriptor.Descriptor(
  name='TxRequestDetailsType',
  full_name='TxRequestDetailsType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='request_index', full_name='TxRequestDetailsType.request_index', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tx_hash', full_name='TxRequestDetailsType.tx_hash', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='extra_data_len', full_name='TxRequestDetailsType.extra_data_len', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='extra_data_offset', full_name='TxRequestDetailsType.extra_data_offset', 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,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1945,
  serialized_end=2058,
)


_TXREQUESTSERIALIZEDTYPE = _descriptor.Descriptor(
  name='TxRequestSerializedType',
  full_name='TxRequestSerializedType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='signature_index', full_name='TxRequestSerializedType.signature_index', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signature', full_name='TxRequestSerializedType.signature', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='serialized_tx', full_name='TxRequestSerializedType.serialized_tx', 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,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2060,
  serialized_end=2152,
)


_IDENTITYTYPE = _descriptor.Descriptor(
  name='IdentityType',
  full_name='IdentityType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='proto', full_name='IdentityType.proto', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='user', full_name='IdentityType.user', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='host', full_name='IdentityType.host', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='port', full_name='IdentityType.port', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='path', full_name='IdentityType.path', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='index', full_name='IdentityType.index', index=5,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2154,
  serialized_end=2257,
)


_POLICYTYPE = _descriptor.Descriptor(
  name='PolicyType',
  full_name='PolicyType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='policy_name', full_name='PolicyType.policy_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='enabled', full_name='PolicyType.enabled', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2259,
  serialized_end=2309,
)


_EXCHANGETYPE = _descriptor.Descriptor(
  name='ExchangeType',
  full_name='ExchangeType',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='signed_exchange_response', full_name='ExchangeType.signed_exchange_response', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='withdrawal_coin_name', full_name='ExchangeType.withdrawal_coin_name', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=True, default_value=_b("Bitcoin").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='withdrawal_address_n', full_name='ExchangeType.withdrawal_address_n', index=2,
      number=3, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='return_address_n', full_name='ExchangeType.return_address_n', index=3,
      number=4, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2312,
  serialized_end=2480,
)

_HDNODEPATHTYPE.fields_by_name['node'].message_type = _HDNODETYPE
_MULTISIGREDEEMSCRIPTTYPE.fields_by_name['pubkeys'].message_type = _HDNODEPATHTYPE
_TXINPUTTYPE.fields_by_name['script_type'].enum_type = _INPUTSCRIPTTYPE
_TXINPUTTYPE.fields_by_name['multisig'].message_type = _MULTISIGREDEEMSCRIPTTYPE
_TXOUTPUTTYPE.fields_by_name['script_type'].enum_type = _OUTPUTSCRIPTTYPE
_TXOUTPUTTYPE.fields_by_name['multisig'].message_type = _MULTISIGREDEEMSCRIPTTYPE
_TXOUTPUTTYPE.fields_by_name['address_type'].enum_type = _OUTPUTADDRESSTYPE
_TXOUTPUTTYPE.fields_by_name['exchange_type'].message_type = _EXCHANGETYPE
_TRANSACTIONTYPE.fields_by_name['inputs'].message_type = _TXINPUTTYPE
_TRANSACTIONTYPE.fields_by_name['bin_outputs'].message_type = _TXOUTPUTBINTYPE
_TRANSACTIONTYPE.fields_by_name['outputs'].message_type = _TXOUTPUTTYPE
_EXCHANGETYPE.fields_by_name['signed_exchange_response'].message_type = exchange__pb2._SIGNEDEXCHANGERESPONSE
DESCRIPTOR.message_types_by_name['HDNodeType'] = _HDNODETYPE
DESCRIPTOR.message_types_by_name['HDNodePathType'] = _HDNODEPATHTYPE
DESCRIPTOR.message_types_by_name['CoinType'] = _COINTYPE
DESCRIPTOR.message_types_by_name['MultisigRedeemScriptType'] = _MULTISIGREDEEMSCRIPTTYPE
DESCRIPTOR.message_types_by_name['TxInputType'] = _TXINPUTTYPE
DESCRIPTOR.message_types_by_name['TxOutputType'] = _TXOUTPUTTYPE
DESCRIPTOR.message_types_by_name['TxOutputBinType'] = _TXOUTPUTBINTYPE
DESCRIPTOR.message_types_by_name['TransactionType'] = _TRANSACTIONTYPE
DESCRIPTOR.message_types_by_name['RawTransactionType'] = _RAWTRANSACTIONTYPE
DESCRIPTOR.message_types_by_name['TxRequestDetailsType'] = _TXREQUESTDETAILSTYPE
DESCRIPTOR.message_types_by_name['TxRequestSerializedType'] = _TXREQUESTSERIALIZEDTYPE
DESCRIPTOR.message_types_by_name['IdentityType'] = _IDENTITYTYPE
DESCRIPTOR.message_types_by_name['PolicyType'] = _POLICYTYPE
DESCRIPTOR.message_types_by_name['ExchangeType'] = _EXCHANGETYPE
DESCRIPTOR.enum_types_by_name['FailureType'] = _FAILURETYPE
DESCRIPTOR.enum_types_by_name['OutputScriptType'] = _OUTPUTSCRIPTTYPE
DESCRIPTOR.enum_types_by_name['InputScriptType'] = _INPUTSCRIPTTYPE
DESCRIPTOR.enum_types_by_name['RequestType'] = _REQUESTTYPE
DESCRIPTOR.enum_types_by_name['OutputAddressType'] = _OUTPUTADDRESSTYPE
DESCRIPTOR.enum_types_by_name['ButtonRequestType'] = _BUTTONREQUESTTYPE
DESCRIPTOR.enum_types_by_name['PinMatrixRequestType'] = _PINMATRIXREQUESTTYPE
DESCRIPTOR.extensions_by_name['wire_in'] = wire_in
DESCRIPTOR.extensions_by_name['wire_out'] = wire_out
DESCRIPTOR.extensions_by_name['wire_debug_in'] = wire_debug_in
DESCRIPTOR.extensions_by_name['wire_debug_out'] = wire_debug_out
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

HDNodeType = _reflection.GeneratedProtocolMessageType('HDNodeType', (_message.Message,), dict(
  DESCRIPTOR = _HDNODETYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:HDNodeType)
  ))
_sym_db.RegisterMessage(HDNodeType)

HDNodePathType = _reflection.GeneratedProtocolMessageType('HDNodePathType', (_message.Message,), dict(
  DESCRIPTOR = _HDNODEPATHTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:HDNodePathType)
  ))
_sym_db.RegisterMessage(HDNodePathType)

CoinType = _reflection.GeneratedProtocolMessageType('CoinType', (_message.Message,), dict(
  DESCRIPTOR = _COINTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:CoinType)
  ))
_sym_db.RegisterMessage(CoinType)

MultisigRedeemScriptType = _reflection.GeneratedProtocolMessageType('MultisigRedeemScriptType', (_message.Message,), dict(
  DESCRIPTOR = _MULTISIGREDEEMSCRIPTTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:MultisigRedeemScriptType)
  ))
_sym_db.RegisterMessage(MultisigRedeemScriptType)

TxInputType = _reflection.GeneratedProtocolMessageType('TxInputType', (_message.Message,), dict(
  DESCRIPTOR = _TXINPUTTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:TxInputType)
  ))
_sym_db.RegisterMessage(TxInputType)

TxOutputType = _reflection.GeneratedProtocolMessageType('TxOutputType', (_message.Message,), dict(
  DESCRIPTOR = _TXOUTPUTTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:TxOutputType)
  ))
_sym_db.RegisterMessage(TxOutputType)

TxOutputBinType = _reflection.GeneratedProtocolMessageType('TxOutputBinType', (_message.Message,), dict(
  DESCRIPTOR = _TXOUTPUTBINTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:TxOutputBinType)
  ))
_sym_db.RegisterMessage(TxOutputBinType)

TransactionType = _reflection.GeneratedProtocolMessageType('TransactionType', (_message.Message,), dict(
  DESCRIPTOR = _TRANSACTIONTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:TransactionType)
  ))
_sym_db.RegisterMessage(TransactionType)

RawTransactionType = _reflection.GeneratedProtocolMessageType('RawTransactionType', (_message.Message,), dict(
  DESCRIPTOR = _RAWTRANSACTIONTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:RawTransactionType)
  ))
_sym_db.RegisterMessage(RawTransactionType)

TxRequestDetailsType = _reflection.GeneratedProtocolMessageType('TxRequestDetailsType', (_message.Message,), dict(
  DESCRIPTOR = _TXREQUESTDETAILSTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:TxRequestDetailsType)
  ))
_sym_db.RegisterMessage(TxRequestDetailsType)

TxRequestSerializedType = _reflection.GeneratedProtocolMessageType('TxRequestSerializedType', (_message.Message,), dict(
  DESCRIPTOR = _TXREQUESTSERIALIZEDTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:TxRequestSerializedType)
  ))
_sym_db.RegisterMessage(TxRequestSerializedType)

IdentityType = _reflection.GeneratedProtocolMessageType('IdentityType', (_message.Message,), dict(
  DESCRIPTOR = _IDENTITYTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:IdentityType)
  ))
_sym_db.RegisterMessage(IdentityType)

PolicyType = _reflection.GeneratedProtocolMessageType('PolicyType', (_message.Message,), dict(
  DESCRIPTOR = _POLICYTYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:PolicyType)
  ))
_sym_db.RegisterMessage(PolicyType)

ExchangeType = _reflection.GeneratedProtocolMessageType('ExchangeType', (_message.Message,), dict(
  DESCRIPTOR = _EXCHANGETYPE,
  __module__ = 'types_pb2'
  # @@protoc_insertion_point(class_scope:ExchangeType)
  ))
_sym_db.RegisterMessage(ExchangeType)

google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(wire_in)
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(wire_out)
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(wire_debug_in)
google_dot_protobuf_dot_descriptor__pb2.EnumValueOptions.RegisterExtension(wire_debug_out)

DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\032com.keepkey.deviceprotocolB\013KeepKeyType'))
# @@protoc_insertion_point(module_scope)
