From c25cdeb69c2c8347f17236b09b4338ddd4ed9464 Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 01:30:05 -0600 Subject: [PATCH 1/9] feat: add TRON signing integration tests Tests for structured TRX transfer, legacy raw_data blind-sign, TRC-20 USDT transfer, and missing field rejection. Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/test_msg_tron_signtx.py | 139 ++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 tests/test_msg_tron_signtx.py diff --git a/tests/test_msg_tron_signtx.py b/tests/test_msg_tron_signtx.py new file mode 100644 index 00000000..0fc89f8c --- /dev/null +++ b/tests/test_msg_tron_signtx.py @@ -0,0 +1,139 @@ +# This file is part of the KeepKey project. +# +# Copyright (C) 2025 KeepKey +# +# This library is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# as published by the Free Software Foundation. + +import pytest +import unittest +import common +import binascii +import struct + +from keepkeylib import messages_pb2 as messages +from keepkeylib import types_pb2 as types +from keepkeylib.client import CallException +from keepkeylib.tools import parse_path + + +class TestMsgTronSignTx(common.KeepKeyTest): + + def test_tron_get_address(self): + """Test TRON address derivation from device.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + msg = messages.TronGetAddress( + address_n=parse_path("m/44'/195'/0'/0/0"), + show_display=False, + ) + resp = self.client.call(msg) + + # Address should start with 'T' + self.assertTrue(resp.address.startswith('T')) + self.assertEqual(len(resp.address), 34) + + def test_tron_sign_transfer_structured(self): + """Test TRX transfer using structured fields (reconstruct-then-sign).""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + msg = messages.TronSignTx( + address_n=parse_path("m/44'/195'/0'/0/0"), + ref_block_bytes=b'\xab\xcd', + ref_block_hash=b'\x42' * 8, + expiration=1700000000000, + timestamp=1699999990000, + transfer=messages.TronTransferContract( + to_address="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + amount=1000000, # 1 TRX + ), + ) + resp = self.client.call(msg) + + # Should have a 65-byte signature (r + s + v) + self.assertEqual(len(resp.signature), 65) + + # Should return the reconstructed serialized_tx + self.assertGreater(len(resp.serialized_tx), 0) + + # Verify signature is not all zeros + self.assertFalse(all(b == 0 for b in resp.signature)) + + def test_tron_sign_transfer_legacy_raw_data(self): + """Test legacy blind-sign with raw_data field.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + # Provide raw_data (pre-serialized transaction) + # This is a minimal valid protobuf for a TransferContract + raw_data = binascii.unhexlify( + '0a02abcd2208424242424242424240' # ref_block + expiration (simplified) + '80e8ded785315a67' # dummy contract data + ) + + msg = messages.TronSignTx( + address_n=parse_path("m/44'/195'/0'/0/0"), + raw_data=raw_data, + ) + resp = self.client.call(msg) + + # Should have a 65-byte signature + self.assertEqual(len(resp.signature), 65) + + def test_tron_sign_missing_fields_rejected(self): + """Test that missing required fields are rejected.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + # No raw_data and no transfer/trigger_smart + msg = messages.TronSignTx( + address_n=parse_path("m/44'/195'/0'/0/0"), + ref_block_bytes=b'\xab\xcd', + ref_block_hash=b'\x42' * 8, + expiration=1700000000000, + ) + + with pytest.raises(CallException) as exc: + self.client.call(msg) + + def test_tron_sign_trc20_transfer(self): + """Test TRC-20 USDT transfer using trigger_smart.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + # ABI-encode transfer(address,uint256) for USDT + # Selector: 0xa9059cbb + # Address: padded 32 bytes (0x41 prefix at byte 11) + # Amount: 1000000 USDT (6 decimals) = 0xF4240 + abi_data = bytearray(68) + abi_data[0:4] = b'\xa9\x05\x9c\xbb' # selector + # Recipient address (padded) + abi_data[15] = 0x41 + for i in range(20): + abi_data[16 + i] = 0x10 + i + # Amount + struct.pack_into('>Q', abi_data, 60, 1000000) + + msg = messages.TronSignTx( + address_n=parse_path("m/44'/195'/0'/0/0"), + ref_block_bytes=b'\xab\xcd', + ref_block_hash=b'\x42' * 8, + expiration=1700000000000, + timestamp=1699999990000, + trigger_smart=messages.TronTriggerSmartContract( + contract_address="TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t", + data=bytes(abi_data), + ), + fee_limit=10000000, # 10 TRX + ) + resp = self.client.call(msg) + + self.assertEqual(len(resp.signature), 65) + self.assertGreater(len(resp.serialized_tx), 0) + + +if __name__ == '__main__': + unittest.main() From e6c799426967314d1ee73c1406e5d20a45545e49 Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 01:36:03 -0600 Subject: [PATCH 2/9] feat: add TON signing integration tests Tests for structured transfer, transfer with comment, legacy raw_tx blind-sign, deterministic cell hash, and missing field rejection. Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/test_msg_ton_signtx.py | 181 +++++++++++++++++++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 tests/test_msg_ton_signtx.py diff --git a/tests/test_msg_ton_signtx.py b/tests/test_msg_ton_signtx.py new file mode 100644 index 00000000..f9dce441 --- /dev/null +++ b/tests/test_msg_ton_signtx.py @@ -0,0 +1,181 @@ +# This file is part of the KeepKey project. +# +# Copyright (C) 2025 KeepKey +# +# This library is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# as published by the Free Software Foundation. + +import pytest +import unittest +import common +import binascii +import struct +import hashlib +import base64 + +from keepkeylib import messages_pb2 as messages +from keepkeylib import types_pb2 as types +from keepkeylib.client import CallException +from keepkeylib.tools import parse_path + + +def make_ton_address(workchain=0, hash_bytes=None, bounceable=True, testnet=False): + """Construct a TON user-friendly address (48-char base64).""" + if hash_bytes is None: + hash_bytes = b'\xBB' * 32 + + if bounceable: + flags = 0x11 + else: + flags = 0x51 + + if testnet: + flags |= 0x80 + + raw = bytes([flags, workchain & 0xFF]) + hash_bytes + + # CRC16-XMODEM + crc = 0 + for byte in raw: + crc ^= byte << 8 + for _ in range(8): + if crc & 0x8000: + crc = (crc << 1) ^ 0x1021 + else: + crc <<= 1 + crc &= 0xFFFF + + raw += struct.pack('>H', crc) + return base64.b64encode(raw).decode('ascii') + + +class TestMsgTonSignTx(common.KeepKeyTest): + + def test_ton_get_address(self): + """Test TON address derivation from device.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + msg = messages.TonGetAddress( + address_n=parse_path("m/44'/607'/0'/0/0"), + show_display=False, + ) + resp = self.client.call(msg) + + # Should return a raw address + self.assertTrue(resp.raw_address is not None or resp.address is not None) + + def test_ton_sign_structured(self): + """Test TON transfer using structured fields (reconstruct-then-sign).""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + dest_addr = make_ton_address( + workchain=0, + hash_bytes=b'\xCC' * 32, + bounceable=True + ) + + msg = messages.TonSignTx( + address_n=parse_path("m/44'/607'/0'/0/0"), + destination=dest_addr, + ton_amount=1000000000, # 1 TON + seqno=1, + expire_at=1700000000, + bounce=True, + mode=3, + ) + resp = self.client.call(msg) + + # Should have a 64-byte Ed25519 signature + self.assertEqual(len(resp.signature), 64) + + # Should return the cell hash + self.assertEqual(len(resp.cell_hash), 32) + + # Verify signature is not all zeros + self.assertFalse(all(b == 0 for b in resp.signature)) + + def test_ton_sign_with_comment(self): + """Test TON transfer with a text comment.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + dest_addr = make_ton_address() + + msg = messages.TonSignTx( + address_n=parse_path("m/44'/607'/0'/0/0"), + destination=dest_addr, + ton_amount=500000000, # 0.5 TON + seqno=2, + expire_at=1700000000, + comment="Hello TON!", + ) + resp = self.client.call(msg) + + self.assertEqual(len(resp.signature), 64) + self.assertEqual(len(resp.cell_hash), 32) + + def test_ton_sign_legacy_raw_tx(self): + """Test legacy blind-sign with raw_tx field.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + # Provide arbitrary raw_tx bytes (simulating a pre-built signing message) + raw_tx = b'\x00' * 64 # dummy signing message + + msg = messages.TonSignTx( + address_n=parse_path("m/44'/607'/0'/0/0"), + raw_tx=raw_tx, + ) + resp = self.client.call(msg) + + # Should have a 64-byte Ed25519 signature + self.assertEqual(len(resp.signature), 64) + + def test_ton_sign_missing_fields_rejected(self): + """Test that incomplete structured fields are rejected.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + # Has destination but no amount or seqno + msg = messages.TonSignTx( + address_n=parse_path("m/44'/607'/0'/0/0"), + destination=make_ton_address(), + ) + + with pytest.raises(CallException): + self.client.call(msg) + + def test_ton_sign_deterministic(self): + """Test that signing the same message produces same cell hash.""" + self.requires_fullFeature() + self.setup_mnemonic_allallall() + + dest_addr = make_ton_address() + + msg1 = messages.TonSignTx( + address_n=parse_path("m/44'/607'/0'/0/0"), + destination=dest_addr, + ton_amount=1000000000, + seqno=1, + expire_at=1700000000, + ) + resp1 = self.client.call(msg1) + + msg2 = messages.TonSignTx( + address_n=parse_path("m/44'/607'/0'/0/0"), + destination=dest_addr, + ton_amount=1000000000, + seqno=1, + expire_at=1700000000, + ) + resp2 = self.client.call(msg2) + + # Cell hash should be identical for same inputs + self.assertEqual(resp1.cell_hash, resp2.cell_hash) + + +if __name__ == '__main__': + unittest.main() From ac5b87f978f061066a3181f909dd40be27818a86 Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 01:40:18 -0600 Subject: [PATCH 3/9] feat: add Solana signing integration tests Tests for system transfer, token info metadata, message signing, deterministic signatures, and empty tx rejection. Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/test_msg_solana_signtx.py | 183 ++++++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 tests/test_msg_solana_signtx.py diff --git a/tests/test_msg_solana_signtx.py b/tests/test_msg_solana_signtx.py new file mode 100644 index 00000000..c21bce49 --- /dev/null +++ b/tests/test_msg_solana_signtx.py @@ -0,0 +1,183 @@ +# This file is part of the KeepKey project. +# +# Copyright (C) 2025 KeepKey +# +# This library is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# as published by the Free Software Foundation. + +import pytest +import unittest +import common +import binascii +import struct + +from keepkeylib import messages_pb2 as messages +from keepkeylib import types_pb2 as types +from keepkeylib.client import CallException +from keepkeylib.tools import parse_path + + +def build_system_transfer_tx(from_pubkey, to_pubkey, lamports, blockhash=None): + """Build a minimal Solana system transfer transaction.""" + if blockhash is None: + blockhash = b'\xBB' * 32 + + system_program = b'\x00' * 32 + + tx = bytearray() + + # Header + tx.append(1) # num_required_sigs + tx.append(0) # num_readonly_signed + tx.append(1) # num_readonly_unsigned + + # 3 accounts (compact-u16) + tx.append(3) + + # Account keys + tx.extend(from_pubkey) + tx.extend(to_pubkey) + tx.extend(system_program) + + # Recent blockhash + tx.extend(blockhash) + + # 1 instruction (compact-u16) + tx.append(1) + + # Instruction: system transfer + tx.append(2) # program_id index (system program at index 2) + tx.append(2) # 2 account indices + tx.append(0) # from + tx.append(1) # to + tx.append(12) # data length + + # Transfer instruction: type=2 (LE u32) + lamports (LE u64) + tx.extend(struct.pack(' Date: Tue, 17 Mar 2026 19:34:30 -0600 Subject: [PATCH 4/9] feat(solana): wire python bindings and tests --- build_pb.sh | 2 +- device-protocol | 2 +- keepkeylib/client.py | 29 + keepkeylib/mapping.py | 3 + keepkeylib/messages_pb2.py | 4935 +++-------------------------- keepkeylib/messages_solana_pb2.py | 49 + tests/test_msg_solana_signtx.py | 2 +- 7 files changed, 543 insertions(+), 4479 deletions(-) create mode 100644 keepkeylib/messages_solana_pb2.py diff --git a/build_pb.sh b/build_pb.sh index 4de4a02c..11aa16cb 100755 --- a/build_pb.sh +++ b/build_pb.sh @@ -3,7 +3,7 @@ CURDIR=$(pwd) cd "device-protocol" echo "Building with protoc version: $(protoc --version)" -for i in messages messages-ethereum messages-eos messages-nano messages-cosmos messages-ripple messages-binance messages-tendermint messages-thorchain messages-osmosis messages-mayachain types ; do +for i in messages messages-ethereum messages-eos messages-nano messages-cosmos messages-ripple messages-binance messages-tendermint messages-thorchain messages-osmosis messages-mayachain messages-solana types ; do protoc --python_out=$CURDIR/keepkeylib/ -I/usr/include -I. $i.proto i=${i/-/_} sed -i -Ee 's/^import ([^.]+_pb2)/from . import \1/' $CURDIR/keepkeylib/"$i"_pb2.py diff --git a/device-protocol b/device-protocol index ce10ea79..22ca1d98 160000 --- a/device-protocol +++ b/device-protocol @@ -1 +1 @@ -Subproject commit ce10ea79a000f2e20e87fbbab3a0c4f7a07f6f0e +Subproject commit 22ca1d983c3f513f338e2a0ba997427659646523 diff --git a/keepkeylib/client.py b/keepkeylib/client.py index ecf837fb..f2192b6b 100644 --- a/keepkeylib/client.py +++ b/keepkeylib/client.py @@ -45,6 +45,7 @@ from . import messages_tendermint_pb2 as tendermint_proto from . import messages_thorchain_pb2 as thorchain_proto from . import messages_mayachain_pb2 as mayachain_proto +from . import messages_solana_pb2 as solana_proto from . import types_pb2 as types from . import eos from . import nano @@ -823,6 +824,34 @@ def nano_sign_tx( ) return self.call(msg) + @expect(solana_proto.SolanaAddress) + def solana_get_address(self, address_n, show_display=False, coin_name='Solana'): + msg = solana_proto.SolanaGetAddress( + coin_name=coin_name, + address_n=address_n, + show_display=show_display) + return self.call(msg) + + @expect(solana_proto.SolanaSignedTx) + def solana_sign_tx(self, address_n, raw_tx, token_info=None, coin_name='Solana'): + msg = solana_proto.SolanaSignTx( + coin_name=coin_name, + address_n=address_n, + raw_tx=raw_tx, + token_info=token_info or [], + ) + return self.call(msg) + + @expect(solana_proto.SolanaMessageSignature) + def solana_sign_message(self, address_n, message, show_display=False, coin_name='Solana'): + msg = solana_proto.SolanaSignMessage( + coin_name=coin_name, + address_n=address_n, + message=message, + show_display=show_display, + ) + return self.call(msg) + @field('address') diff --git a/keepkeylib/mapping.py b/keepkeylib/mapping.py index 44338646..25c13691 100644 --- a/keepkeylib/mapping.py +++ b/keepkeylib/mapping.py @@ -9,6 +9,7 @@ from . import messages_tendermint_pb2 as tendermint_proto from . import messages_thorchain_pb2 as thorchain_proto from . import messages_mayachain_pb2 as mayachain_proto +from . import messages_solana_pb2 as solana_proto map_type_to_class = {} map_class_to_type = {} @@ -36,6 +37,8 @@ def build_map(): msg_class = getattr(thorchain_proto, msg_name) elif msg_type.startswith('MessageType_Mayachain'): msg_class = getattr(mayachain_proto, msg_name) + elif msg_type.startswith('MessageType_Solana'): + msg_class = getattr(solana_proto, msg_name) else: msg_class = getattr(proto, msg_name) diff --git a/keepkeylib/messages_pb2.py b/keepkeylib/messages_pb2.py index 65e0fcf1..fdd1dbdd 100644 --- a/keepkeylib/messages_pb2.py +++ b/keepkeylib/messages_pb2.py @@ -1,14 +1,22 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE # source: messages.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 +# Protobuf Python Version: 6.33.0 +"""Generated protocol buffer code.""" 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 descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 0, + '', + 'messages.proto' +) # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -17,4473 +25,448 @@ from . import types_pb2 as types__pb2 -DESCRIPTOR = _descriptor.FileDescriptor( - name='messages.proto', - package='', - syntax='proto2', - serialized_pb=_b('\n\x0emessages.proto\x1a\x0btypes.proto\"\x0c\n\nInitialize\"\r\n\x0bGetFeatures\"\xaa\x04\n\x08\x46\x65\x61tures\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x15\n\rmajor_version\x18\x02 \x01(\r\x12\x15\n\rminor_version\x18\x03 \x01(\r\x12\x15\n\rpatch_version\x18\x04 \x01(\r\x12\x17\n\x0f\x62ootloader_mode\x18\x05 \x01(\x08\x12\x11\n\tdevice_id\x18\x06 \x01(\t\x12\x16\n\x0epin_protection\x18\x07 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x08 \x01(\x08\x12\x10\n\x08language\x18\t \x01(\t\x12\r\n\x05label\x18\n \x01(\t\x12\x18\n\x05\x63oins\x18\x0b \x03(\x0b\x32\t.CoinType\x12\x13\n\x0binitialized\x18\x0c \x01(\x08\x12\x10\n\x08revision\x18\r \x01(\x0c\x12\x17\n\x0f\x62ootloader_hash\x18\x0e \x01(\x0c\x12\x10\n\x08imported\x18\x0f \x01(\x08\x12\x12\n\npin_cached\x18\x10 \x01(\x08\x12\x19\n\x11passphrase_cached\x18\x11 \x01(\x08\x12\x1d\n\x08policies\x18\x12 \x03(\x0b\x32\x0b.PolicyType\x12\r\n\x05model\x18\x15 \x01(\t\x12\x18\n\x10\x66irmware_variant\x18\x16 \x01(\t\x12\x15\n\rfirmware_hash\x18\x17 \x01(\x0c\x12\x11\n\tno_backup\x18\x18 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x19 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x1a \x01(\r\"*\n\x0cGetCoinTable\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"L\n\tCoinTable\x12\x18\n\x05table\x18\x01 \x03(\x0b\x32\t.CoinType\x12\x11\n\tnum_coins\x18\x02 \x01(\r\x12\x12\n\nchunk_size\x18\x03 \x01(\r\"\x0e\n\x0c\x43learSession\"y\n\rApplySettings\x12\x10\n\x08language\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x16\n\x0euse_passphrase\x18\x03 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x04 \x01(\r\x12\x13\n\x0bu2f_counter\x18\x05 \x01(\r\"\x1b\n\tChangePin\x12\x0e\n\x06remove\x18\x01 \x01(\x08\"\x87\x01\n\x04Ping\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x19\n\x11\x62utton_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x05 \x01(\x08\"\x1a\n\x07Success\x12\x0f\n\x07message\x18\x01 \x01(\t\"6\n\x07\x46\x61ilure\x12\x1a\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x0c.FailureType\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\rButtonRequest\x12 \n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.ButtonRequestType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\x0b\n\tButtonAck\"7\n\x10PinMatrixRequest\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.PinMatrixRequestType\"\x1b\n\x0cPinMatrixAck\x12\x0b\n\x03pin\x18\x01 \x02(\t\"\x08\n\x06\x43\x61ncel\"\x13\n\x11PassphraseRequest\"#\n\rPassphraseAck\x12\x12\n\npassphrase\x18\x01 \x02(\t\"\x1a\n\nGetEntropy\x12\x0c\n\x04size\x18\x01 \x02(\r\"\x1a\n\x07\x45ntropy\x12\x0f\n\x07\x65ntropy\x18\x01 \x02(\x0c\"\xa2\x01\n\x0cGetPublicKey\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x02 \x01(\t\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"4\n\tPublicKey\x12\x19\n\x04node\x18\x01 \x02(\x0b\x32\x0b.HDNodeType\x12\x0c\n\x04xpub\x18\x02 \x01(\t\"\xb3\x01\n\nGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x1a\n\tcoin_name\x18\x02 \x01(\t:\x07\x42itcoin\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12+\n\x08multisig\x18\x04 \x01(\x0b\x32\x19.MultisigRedeemScriptType\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"\x1a\n\x07\x41\x64\x64ress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x02(\t\"\x0c\n\nWipeDevice\"\xbb\x01\n\nLoadDevice\x12\x10\n\x08mnemonic\x18\x01 \x01(\t\x12\x19\n\x04node\x18\x02 \x01(\x0b\x32\x0b.HDNodeType\x12\x0b\n\x03pin\x18\x03 \x01(\t\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x15\n\rskip_checksum\x18\x07 \x01(\x08\x12\x13\n\x0bu2f_counter\x18\x08 \x01(\r\"\xe1\x01\n\x0bResetDevice\x12\x16\n\x0e\x64isplay_random\x18\x01 \x01(\x08\x12\x15\n\x08strength\x18\x02 \x01(\r:\x03\x32\x35\x36\x12\x1d\n\x15passphrase_protection\x18\x03 \x01(\x08\x12\x16\n\x0epin_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x11\n\tno_backup\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\"\x10\n\x0e\x45ntropyRequest\"\x1d\n\nEntropyAck\x12\x0f\n\x07\x65ntropy\x18\x01 \x01(\x0c\"\xff\x01\n\x0eRecoveryDevice\x12\x12\n\nword_count\x18\x01 \x01(\r\x12\x1d\n\x15passphrase_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x19\n\x08language\x18\x04 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x05 \x01(\t\x12\x18\n\x10\x65nforce_wordlist\x18\x06 \x01(\x08\x12\x1c\n\x14use_character_cipher\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\x12\x0f\n\x07\x64ry_run\x18\n \x01(\x08\"\r\n\x0bWordRequest\"\x17\n\x07WordAck\x12\x0c\n\x04word\x18\x01 \x02(\t\";\n\x10\x43haracterRequest\x12\x10\n\x08word_pos\x18\x01 \x02(\r\x12\x15\n\rcharacter_pos\x18\x02 \x02(\r\"?\n\x0c\x43haracterAck\x12\x11\n\tcharacter\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65lete\x18\x02 \x01(\x08\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\"\x82\x01\n\x0bSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0f\n\x07message\x18\x02 \x02(\x0c\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x04 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"`\n\rVerifyMessage\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\"6\n\x10MessageSignature\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\"v\n\x0e\x45ncryptMessage\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64isplay_only\x18\x03 \x01(\x08\x12\x11\n\taddress_n\x18\x04 \x03(\r\x12\x1a\n\tcoin_name\x18\x05 \x01(\t:\x07\x42itcoin\"@\n\x10\x45ncryptedMessage\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x0c\n\x04hmac\x18\x03 \x01(\x0c\"Q\n\x0e\x44\x65\x63ryptMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x0c\n\x04hmac\x18\x04 \x01(\x0c\"4\n\x10\x44\x65\x63ryptedMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x8c\x01\n\x0e\x43ipherKeyValue\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x0c\x12\x0f\n\x07\x65ncrypt\x18\x04 \x01(\x08\x12\x16\n\x0e\x61sk_on_encrypt\x18\x05 \x01(\x08\x12\x16\n\x0e\x61sk_on_decrypt\x18\x06 \x01(\x08\x12\n\n\x02iv\x18\x07 \x01(\x0c\"!\n\x10\x43ipheredKeyValue\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xce\x01\n\x06SignTx\x12\x15\n\routputs_count\x18\x01 \x02(\r\x12\x14\n\x0cinputs_count\x18\x02 \x02(\r\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x12\n\x07version\x18\x04 \x01(\r:\x01\x31\x12\x14\n\tlock_time\x18\x05 \x01(\r:\x01\x30\x12\x0e\n\x06\x65xpiry\x18\x06 \x01(\r\x12\x14\n\x0coverwintered\x18\x07 \x01(\x08\x12\x18\n\x10version_group_id\x18\x08 \x01(\r\x12\x11\n\tbranch_id\x18\n \x01(\r\"\x85\x01\n\tTxRequest\x12\"\n\x0crequest_type\x18\x01 \x01(\x0e\x32\x0c.RequestType\x12&\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x15.TxRequestDetailsType\x12,\n\nserialized\x18\x03 \x01(\x0b\x32\x18.TxRequestSerializedType\"%\n\x05TxAck\x12\x1c\n\x02tx\x18\x01 \x01(\x0b\x32\x10.TransactionType\"+\n\x08RawTxAck\x12\x1f\n\x02tx\x18\x01 \x01(\x0b\x32\x13.RawTransactionType\"}\n\x0cSignIdentity\x12\x1f\n\x08identity\x18\x01 \x01(\x0b\x32\r.IdentityType\x12\x18\n\x10\x63hallenge_hidden\x18\x02 \x01(\x0c\x12\x18\n\x10\x63hallenge_visual\x18\x03 \x01(\t\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x04 \x01(\t\"H\n\x0eSignedIdentity\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x12\n\npublic_key\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\",\n\rApplyPolicies\x12\x1b\n\x06policy\x18\x01 \x03(\x0b\x32\x0b.PolicyType\"?\n\tFlashHash\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x11\n\tchallenge\x18\x03 \x01(\x0c\":\n\nFlashWrite\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x65rase\x18\x03 \x01(\x08\"!\n\x11\x46lashHashResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"5\n\x12\x44\x65\x62ugLinkFlashDump\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\"*\n\x1a\x44\x65\x62ugLinkFlashDumpResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x0b\n\tSoftReset\"\x0f\n\rFirmwareErase\"7\n\x0e\x46irmwareUpload\x12\x14\n\x0cpayload_hash\x18\x01 \x02(\x0c\x12\x0f\n\x07payload\x18\x02 \x02(\x0c\"#\n\x11\x44\x65\x62ugLinkDecision\x12\x0e\n\x06yes_no\x18\x01 \x02(\x08\"\x13\n\x11\x44\x65\x62ugLinkGetState\"\xd7\x02\n\x0e\x44\x65\x62ugLinkState\x12\x0e\n\x06layout\x18\x01 \x01(\x0c\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x0e\n\x06matrix\x18\x03 \x01(\t\x12\x10\n\x08mnemonic\x18\x04 \x01(\t\x12\x19\n\x04node\x18\x05 \x01(\x0b\x32\x0b.HDNodeType\x12\x1d\n\x15passphrase_protection\x18\x06 \x01(\x08\x12\x12\n\nreset_word\x18\x07 \x01(\t\x12\x15\n\rreset_entropy\x18\x08 \x01(\x0c\x12\x1a\n\x12recovery_fake_word\x18\t \x01(\t\x12\x19\n\x11recovery_word_pos\x18\n \x01(\r\x12\x17\n\x0frecovery_cipher\x18\x0b \x01(\t\x12$\n\x1crecovery_auto_completed_word\x18\x0c \x01(\t\x12\x15\n\rfirmware_hash\x18\r \x01(\x0c\x12\x14\n\x0cstorage_hash\x18\x0e \x01(\x0c\"\x0f\n\rDebugLinkStop\";\n\x0c\x44\x65\x62ugLinkLog\x12\r\n\x05level\x18\x01 \x01(\r\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\"\x15\n\x13\x44\x65\x62ugLinkFillConfig\" \n\x0e\x43hangeWipeCode\x12\x0e\n\x06remove\x18\x01 \x01(\x08*\xc5.\n\x0bMessageType\x12 \n\x16MessageType_Initialize\x10\x00\x1a\x04\x90\xb5\x18\x01\x12\x1a\n\x10MessageType_Ping\x10\x01\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Success\x10\x02\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_Failure\x10\x03\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ChangePin\x10\x04\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_WipeDevice\x10\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_FirmwareErase\x10\x06\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_FirmwareUpload\x10\x07\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetEntropy\x10\t\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Entropy\x10\n\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_GetPublicKey\x10\x0b\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_PublicKey\x10\x0c\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_LoadDevice\x10\r\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_ResetDevice\x10\x0e\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_SignTx\x10\x0f\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_Features\x10\x11\x1a\x04\x98\xb5\x18\x01\x12&\n\x1cMessageType_PinMatrixRequest\x10\x12\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_PinMatrixAck\x10\x13\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_Cancel\x10\x14\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_TxRequest\x10\x15\x1a\x04\x98\xb5\x18\x01\x12\x1b\n\x11MessageType_TxAck\x10\x16\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_CipherKeyValue\x10\x17\x1a\x04\x90\xb5\x18\x01\x12\"\n\x18MessageType_ClearSession\x10\x18\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplySettings\x10\x19\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ButtonRequest\x10\x1a\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ButtonAck\x10\x1b\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetAddress\x10\x1d\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Address\x10\x1e\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EntropyRequest\x10#\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_EntropyAck\x10$\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_SignMessage\x10&\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_VerifyMessage\x10\'\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_MessageSignature\x10(\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1dMessageType_PassphraseRequest\x10)\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_PassphraseAck\x10*\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_RecoveryDevice\x10-\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_WordRequest\x10.\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_WordAck\x10/\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CipheredKeyValue\x10\x30\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EncryptMessage\x10\x31\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_EncryptedMessage\x10\x32\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_DecryptMessage\x10\x33\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_DecryptedMessage\x10\x34\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_SignIdentity\x10\x35\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_SignedIdentity\x10\x36\x1a\x04\x98\xb5\x18\x01\x12!\n\x17MessageType_GetFeatures\x10\x37\x1a\x04\x90\xb5\x18\x01\x12(\n\x1eMessageType_EthereumGetAddress\x10\x38\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x10\x39\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignTx\x10:\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_EthereumTxRequest\x10;\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_EthereumTxAck\x10<\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CharacterRequest\x10P\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_CharacterAck\x10Q\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_RawTxAck\x10R\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplyPolicies\x10S\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_FlashHash\x10T\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_FlashWrite\x10U\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_FlashHashResponse\x10V\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_DebugLinkFlashDump\x10W\x1a\x04\xa0\xb5\x18\x01\x12\x30\n&MessageType_DebugLinkFlashDumpResponse\x10X\x1a\x04\xa8\xb5\x18\x01\x12\x1f\n\x15MessageType_SoftReset\x10Y\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkDecision\x10\x64\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkGetState\x10\x65\x1a\x04\xa0\xb5\x18\x01\x12$\n\x1aMessageType_DebugLinkState\x10\x66\x1a\x04\xa8\xb5\x18\x01\x12#\n\x19MessageType_DebugLinkStop\x10g\x1a\x04\xa0\xb5\x18\x01\x12\"\n\x18MessageType_DebugLinkLog\x10h\x1a\x04\xa8\xb5\x18\x01\x12)\n\x1fMessageType_DebugLinkFillConfig\x10i\x1a\x04\xa8\xb5\x18\x01\x12\"\n\x18MessageType_GetCoinTable\x10j\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_CoinTable\x10k\x1a\x04\x98\xb5\x18\x01\x12)\n\x1fMessageType_EthereumSignMessage\x10l\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumVerifyMessage\x10m\x1a\x04\x90\xb5\x18\x01\x12.\n$MessageType_EthereumMessageSignature\x10n\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_ChangeWipeCode\x10o\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumSignTypedHash\x10p\x1a\x04\x90\xb5\x18\x01\x12\x30\n&MessageType_EthereumTypedDataSignature\x10q\x1a\x04\x98\xb5\x18\x01\x12,\n\"MessageType_Ethereum712TypesValues\x10r\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainGetAddress\x10\xf4\x03\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_ThorchainAddress\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainSignTx\x10\xf6\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainMsgRequest\x10\xf7\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainMsgAck\x10\xf8\x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_ThorchainSignedTx\x10\xf9\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12 \n\x15MessageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_NanoGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_NanoAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12!\n\x16MessageType_NanoSignTx\x10\xbe\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_NanoSignedTx\x10\xbf\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_BinanceGetAddress\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_BinanceAddress\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_BinanceGetPublicKey\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinancePublicKey\x10\xa3\x06\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xa4\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceTxRequest\x10\xa5\x06\x1a\x04\x98\xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xa6\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xa7\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceCancelMsg\x10\xa8\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\xa9\x06\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosGetAddress\x10\x84\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_CosmosAddress\x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosSignTx\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRequest\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosMsgAck\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CosmosSignedTx\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CosmosMsgDelegate\x10\x8a\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgUndelegate\x10\x8b\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgRedelegate\x10\x8c\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRewards\x10\x8d\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_CosmosMsgIBCTransfer\x10\x8e\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintGetAddress\x10\xe8\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintAddress\x10\xe9\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintSignTx\x10\xea\x07\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_TendermintMsgRequest\x10\xeb\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintMsgAck\x10\xec\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintMsgSend\x10\xed\x07\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_TendermintSignedTx\x10\xee\x07\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_TendermintMsgDelegate\x10\xef\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgUndelegate\x10\xf0\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgRedelegate\x10\xf1\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintMsgRewards\x10\xf2\x07\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_TendermintMsgIBCTransfer\x10\xf3\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisGetAddress\x10\xcc\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisAddress\x10\xcd\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisSignTx\x10\xce\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRequest\x10\xcf\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisMsgAck\x10\xd0\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSend\x10\xd1\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgDelegate\x10\xd2\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgUndelegate\x10\xd3\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgRedelegate\x10\xd4\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRewards\x10\xd5\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisMsgLPAdd\x10\xd6\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgLPRemove\x10\xd7\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgLPStake\x10\xd8\x08\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_OsmosisMsgLPUnstake\x10\xd9\x08\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_OsmosisMsgIBCTransfer\x10\xda\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSwap\x10\xdb\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisSignedTx\x10\xdc\x08\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_MayachainGetAddress\x10\xb0\t\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_MayachainAddress\x10\xb1\t\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_MayachainSignTx\x10\xb2\t\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_MayachainMsgRequest\x10\xb3\t\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_MayachainMsgAck\x10\xb4\t\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_MayachainSignedTx\x10\xb5\t\x1a\x04\x98\xb5\x18\x01\x42,\n\x1a\x63om.keepkey.deviceprotocolB\x0eKeepKeyMessage') - , - dependencies=[types__pb2.DESCRIPTOR,]) - -_MESSAGETYPE = _descriptor.EnumDescriptor( - name='MessageType', - full_name='MessageType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='MessageType_Initialize', index=0, number=0, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Ping', index=1, number=1, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Success', index=2, number=2, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Failure', index=3, number=3, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ChangePin', index=4, number=4, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_WipeDevice', index=5, number=5, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_FirmwareErase', index=6, number=6, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_FirmwareUpload', index=7, number=7, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_GetEntropy', index=8, number=9, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Entropy', index=9, number=10, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_GetPublicKey', index=10, number=11, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_PublicKey', index=11, number=12, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_LoadDevice', index=12, number=13, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ResetDevice', index=13, number=14, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_SignTx', index=14, number=15, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Features', index=15, number=17, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_PinMatrixRequest', index=16, number=18, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_PinMatrixAck', index=17, number=19, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Cancel', index=18, number=20, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TxRequest', index=19, number=21, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TxAck', index=20, number=22, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CipherKeyValue', index=21, number=23, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ClearSession', index=22, number=24, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ApplySettings', index=23, number=25, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ButtonRequest', index=24, number=26, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ButtonAck', index=25, number=27, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_GetAddress', index=26, number=29, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Address', index=27, number=30, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EntropyRequest', index=28, number=35, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EntropyAck', index=29, number=36, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_SignMessage', index=30, number=38, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_VerifyMessage', index=31, number=39, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MessageSignature', index=32, number=40, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_PassphraseRequest', index=33, number=41, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_PassphraseAck', index=34, number=42, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_RecoveryDevice', index=35, number=45, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_WordRequest', index=36, number=46, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_WordAck', index=37, number=47, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CipheredKeyValue', index=38, number=48, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EncryptMessage', index=39, number=49, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EncryptedMessage', index=40, number=50, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DecryptMessage', index=41, number=51, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DecryptedMessage', index=42, number=52, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_SignIdentity', index=43, number=53, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_SignedIdentity', index=44, number=54, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_GetFeatures', index=45, number=55, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumGetAddress', index=46, number=56, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumAddress', index=47, number=57, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumSignTx', index=48, number=58, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumTxRequest', index=49, number=59, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumTxAck', index=50, number=60, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CharacterRequest', index=51, number=80, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CharacterAck', index=52, number=81, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_RawTxAck', index=53, number=82, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ApplyPolicies', index=54, number=83, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_FlashHash', index=55, number=84, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_FlashWrite', index=56, number=85, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_FlashHashResponse', index=57, number=86, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkFlashDump', index=58, number=87, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkFlashDumpResponse', index=59, number=88, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_SoftReset', index=60, number=89, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkDecision', index=61, number=100, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkGetState', index=62, number=101, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkState', index=63, number=102, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkStop', index=64, number=103, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkLog', index=65, number=104, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_DebugLinkFillConfig', index=66, number=105, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_GetCoinTable', index=67, number=106, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CoinTable', index=68, number=107, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumSignMessage', index=69, number=108, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumVerifyMessage', index=70, number=109, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumMessageSignature', index=71, number=110, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ChangeWipeCode', index=72, number=111, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumSignTypedHash', index=73, number=112, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EthereumTypedDataSignature', index=74, number=113, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_Ethereum712TypesValues', index=75, number=114, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_RippleGetAddress', index=76, number=400, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_RippleAddress', index=77, number=401, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_RippleSignTx', index=78, number=402, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_RippleSignedTx', index=79, number=403, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ThorchainGetAddress', index=80, number=500, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ThorchainAddress', index=81, number=501, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ThorchainSignTx', index=82, number=502, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ThorchainMsgRequest', index=83, number=503, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ThorchainMsgAck', index=84, number=504, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_ThorchainSignedTx', index=85, number=505, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EosGetPublicKey', index=86, number=600, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EosPublicKey', index=87, number=601, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EosSignTx', index=88, number=602, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EosTxActionRequest', index=89, number=603, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EosTxActionAck', index=90, number=604, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_EosSignedTx', index=91, number=605, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_NanoGetAddress', index=92, number=700, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_NanoAddress', index=93, number=701, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_NanoSignTx', index=94, number=702, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_NanoSignedTx', index=95, number=703, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceGetAddress', index=96, number=800, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceAddress', index=97, number=801, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceGetPublicKey', index=98, number=802, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinancePublicKey', index=99, number=803, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceSignTx', index=100, number=804, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceTxRequest', index=101, number=805, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceTransferMsg', index=102, number=806, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceOrderMsg', index=103, number=807, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceCancelMsg', index=104, number=808, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_BinanceSignedTx', index=105, number=809, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosGetAddress', index=106, number=900, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosAddress', index=107, number=901, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosSignTx', index=108, number=902, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgRequest', index=109, number=903, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgAck', index=110, number=904, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosSignedTx', index=111, number=905, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgDelegate', index=112, number=906, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgUndelegate', index=113, number=907, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgRedelegate', index=114, number=908, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgRewards', index=115, number=909, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_CosmosMsgIBCTransfer', index=116, number=910, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintGetAddress', index=117, number=1000, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintAddress', index=118, number=1001, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintSignTx', index=119, number=1002, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgRequest', index=120, number=1003, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgAck', index=121, number=1004, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgSend', index=122, number=1005, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintSignedTx', index=123, number=1006, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgDelegate', index=124, number=1007, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgUndelegate', index=125, number=1008, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgRedelegate', index=126, number=1009, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgRewards', index=127, number=1010, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_TendermintMsgIBCTransfer', index=128, number=1011, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisGetAddress', index=129, number=1100, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisAddress', index=130, number=1101, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisSignTx', index=131, number=1102, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgRequest', index=132, number=1103, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgAck', index=133, number=1104, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgSend', index=134, number=1105, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgDelegate', index=135, number=1106, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgUndelegate', index=136, number=1107, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgRedelegate', index=137, number=1108, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgRewards', index=138, number=1109, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgLPAdd', index=139, number=1110, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgLPRemove', index=140, number=1111, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgLPStake', index=141, number=1112, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgLPUnstake', index=142, number=1113, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgIBCTransfer', index=143, number=1114, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisMsgSwap', index=144, number=1115, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_OsmosisSignedTx', index=145, number=1116, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MayachainGetAddress', index=146, number=1200, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MayachainAddress', index=147, number=1201, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MayachainSignTx', index=148, number=1202, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MayachainMsgRequest', index=149, number=1203, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MayachainMsgAck', index=150, number=1204, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), - type=None), - _descriptor.EnumValueDescriptor( - name='MessageType_MayachainSignedTx', index=151, number=1205, - options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), - type=None), - ], - containing_type=None, - options=None, - serialized_start=5101, - serialized_end=11058, -) -_sym_db.RegisterEnumDescriptor(_MESSAGETYPE) - -MessageType = enum_type_wrapper.EnumTypeWrapper(_MESSAGETYPE) -MessageType_Initialize = 0 -MessageType_Ping = 1 -MessageType_Success = 2 -MessageType_Failure = 3 -MessageType_ChangePin = 4 -MessageType_WipeDevice = 5 -MessageType_FirmwareErase = 6 -MessageType_FirmwareUpload = 7 -MessageType_GetEntropy = 9 -MessageType_Entropy = 10 -MessageType_GetPublicKey = 11 -MessageType_PublicKey = 12 -MessageType_LoadDevice = 13 -MessageType_ResetDevice = 14 -MessageType_SignTx = 15 -MessageType_Features = 17 -MessageType_PinMatrixRequest = 18 -MessageType_PinMatrixAck = 19 -MessageType_Cancel = 20 -MessageType_TxRequest = 21 -MessageType_TxAck = 22 -MessageType_CipherKeyValue = 23 -MessageType_ClearSession = 24 -MessageType_ApplySettings = 25 -MessageType_ButtonRequest = 26 -MessageType_ButtonAck = 27 -MessageType_GetAddress = 29 -MessageType_Address = 30 -MessageType_EntropyRequest = 35 -MessageType_EntropyAck = 36 -MessageType_SignMessage = 38 -MessageType_VerifyMessage = 39 -MessageType_MessageSignature = 40 -MessageType_PassphraseRequest = 41 -MessageType_PassphraseAck = 42 -MessageType_RecoveryDevice = 45 -MessageType_WordRequest = 46 -MessageType_WordAck = 47 -MessageType_CipheredKeyValue = 48 -MessageType_EncryptMessage = 49 -MessageType_EncryptedMessage = 50 -MessageType_DecryptMessage = 51 -MessageType_DecryptedMessage = 52 -MessageType_SignIdentity = 53 -MessageType_SignedIdentity = 54 -MessageType_GetFeatures = 55 -MessageType_EthereumGetAddress = 56 -MessageType_EthereumAddress = 57 -MessageType_EthereumSignTx = 58 -MessageType_EthereumTxRequest = 59 -MessageType_EthereumTxAck = 60 -MessageType_CharacterRequest = 80 -MessageType_CharacterAck = 81 -MessageType_RawTxAck = 82 -MessageType_ApplyPolicies = 83 -MessageType_FlashHash = 84 -MessageType_FlashWrite = 85 -MessageType_FlashHashResponse = 86 -MessageType_DebugLinkFlashDump = 87 -MessageType_DebugLinkFlashDumpResponse = 88 -MessageType_SoftReset = 89 -MessageType_DebugLinkDecision = 100 -MessageType_DebugLinkGetState = 101 -MessageType_DebugLinkState = 102 -MessageType_DebugLinkStop = 103 -MessageType_DebugLinkLog = 104 -MessageType_DebugLinkFillConfig = 105 -MessageType_GetCoinTable = 106 -MessageType_CoinTable = 107 -MessageType_EthereumSignMessage = 108 -MessageType_EthereumVerifyMessage = 109 -MessageType_EthereumMessageSignature = 110 -MessageType_ChangeWipeCode = 111 -MessageType_EthereumSignTypedHash = 112 -MessageType_EthereumTypedDataSignature = 113 -MessageType_Ethereum712TypesValues = 114 -MessageType_RippleGetAddress = 400 -MessageType_RippleAddress = 401 -MessageType_RippleSignTx = 402 -MessageType_RippleSignedTx = 403 -MessageType_ThorchainGetAddress = 500 -MessageType_ThorchainAddress = 501 -MessageType_ThorchainSignTx = 502 -MessageType_ThorchainMsgRequest = 503 -MessageType_ThorchainMsgAck = 504 -MessageType_ThorchainSignedTx = 505 -MessageType_EosGetPublicKey = 600 -MessageType_EosPublicKey = 601 -MessageType_EosSignTx = 602 -MessageType_EosTxActionRequest = 603 -MessageType_EosTxActionAck = 604 -MessageType_EosSignedTx = 605 -MessageType_NanoGetAddress = 700 -MessageType_NanoAddress = 701 -MessageType_NanoSignTx = 702 -MessageType_NanoSignedTx = 703 -MessageType_BinanceGetAddress = 800 -MessageType_BinanceAddress = 801 -MessageType_BinanceGetPublicKey = 802 -MessageType_BinancePublicKey = 803 -MessageType_BinanceSignTx = 804 -MessageType_BinanceTxRequest = 805 -MessageType_BinanceTransferMsg = 806 -MessageType_BinanceOrderMsg = 807 -MessageType_BinanceCancelMsg = 808 -MessageType_BinanceSignedTx = 809 -MessageType_CosmosGetAddress = 900 -MessageType_CosmosAddress = 901 -MessageType_CosmosSignTx = 902 -MessageType_CosmosMsgRequest = 903 -MessageType_CosmosMsgAck = 904 -MessageType_CosmosSignedTx = 905 -MessageType_CosmosMsgDelegate = 906 -MessageType_CosmosMsgUndelegate = 907 -MessageType_CosmosMsgRedelegate = 908 -MessageType_CosmosMsgRewards = 909 -MessageType_CosmosMsgIBCTransfer = 910 -MessageType_TendermintGetAddress = 1000 -MessageType_TendermintAddress = 1001 -MessageType_TendermintSignTx = 1002 -MessageType_TendermintMsgRequest = 1003 -MessageType_TendermintMsgAck = 1004 -MessageType_TendermintMsgSend = 1005 -MessageType_TendermintSignedTx = 1006 -MessageType_TendermintMsgDelegate = 1007 -MessageType_TendermintMsgUndelegate = 1008 -MessageType_TendermintMsgRedelegate = 1009 -MessageType_TendermintMsgRewards = 1010 -MessageType_TendermintMsgIBCTransfer = 1011 -MessageType_OsmosisGetAddress = 1100 -MessageType_OsmosisAddress = 1101 -MessageType_OsmosisSignTx = 1102 -MessageType_OsmosisMsgRequest = 1103 -MessageType_OsmosisMsgAck = 1104 -MessageType_OsmosisMsgSend = 1105 -MessageType_OsmosisMsgDelegate = 1106 -MessageType_OsmosisMsgUndelegate = 1107 -MessageType_OsmosisMsgRedelegate = 1108 -MessageType_OsmosisMsgRewards = 1109 -MessageType_OsmosisMsgLPAdd = 1110 -MessageType_OsmosisMsgLPRemove = 1111 -MessageType_OsmosisMsgLPStake = 1112 -MessageType_OsmosisMsgLPUnstake = 1113 -MessageType_OsmosisMsgIBCTransfer = 1114 -MessageType_OsmosisMsgSwap = 1115 -MessageType_OsmosisSignedTx = 1116 -MessageType_MayachainGetAddress = 1200 -MessageType_MayachainAddress = 1201 -MessageType_MayachainSignTx = 1202 -MessageType_MayachainMsgRequest = 1203 -MessageType_MayachainMsgAck = 1204 -MessageType_MayachainSignedTx = 1205 - - - -_INITIALIZE = _descriptor.Descriptor( - name='Initialize', - full_name='Initialize', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=31, - serialized_end=43, -) - - -_GETFEATURES = _descriptor.Descriptor( - name='GetFeatures', - full_name='GetFeatures', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=45, - serialized_end=58, -) - - -_FEATURES = _descriptor.Descriptor( - name='Features', - full_name='Features', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='vendor', full_name='Features.vendor', 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='major_version', full_name='Features.major_version', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='minor_version', full_name='Features.minor_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), - _descriptor.FieldDescriptor( - name='patch_version', full_name='Features.patch_version', 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), - _descriptor.FieldDescriptor( - name='bootloader_mode', full_name='Features.bootloader_mode', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='device_id', full_name='Features.device_id', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pin_protection', full_name='Features.pin_protection', index=6, - number=7, 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='passphrase_protection', full_name='Features.passphrase_protection', index=7, - number=8, 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='language', full_name='Features.language', index=8, - number=9, 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='label', full_name='Features.label', index=9, - number=10, 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='coins', full_name='Features.coins', index=10, - number=11, 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='initialized', full_name='Features.initialized', index=11, - number=12, 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='revision', full_name='Features.revision', index=12, - number=13, 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='bootloader_hash', full_name='Features.bootloader_hash', index=13, - 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='imported', full_name='Features.imported', index=14, - number=15, 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='pin_cached', full_name='Features.pin_cached', index=15, - number=16, 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='passphrase_cached', full_name='Features.passphrase_cached', index=16, - number=17, 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='policies', full_name='Features.policies', index=17, - number=18, 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='model', full_name='Features.model', 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='firmware_variant', full_name='Features.firmware_variant', 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='firmware_hash', full_name='Features.firmware_hash', index=20, - number=23, 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='no_backup', full_name='Features.no_backup', index=21, - number=24, 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='wipe_code_protection', full_name='Features.wipe_code_protection', index=22, - number=25, 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='auto_lock_delay_ms', full_name='Features.auto_lock_delay_ms', 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=61, - serialized_end=615, -) - - -_GETCOINTABLE = _descriptor.Descriptor( - name='GetCoinTable', - full_name='GetCoinTable', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='start', full_name='GetCoinTable.start', 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='end', full_name='GetCoinTable.end', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=617, - serialized_end=659, -) - - -_COINTABLE = _descriptor.Descriptor( - name='CoinTable', - full_name='CoinTable', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='table', full_name='CoinTable.table', 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='num_coins', full_name='CoinTable.num_coins', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chunk_size', full_name='CoinTable.chunk_size', 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=661, - serialized_end=737, -) - - -_CLEARSESSION = _descriptor.Descriptor( - name='ClearSession', - full_name='ClearSession', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=739, - serialized_end=753, -) - - -_APPLYSETTINGS = _descriptor.Descriptor( - name='ApplySettings', - full_name='ApplySettings', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='language', full_name='ApplySettings.language', 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='label', full_name='ApplySettings.label', 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='use_passphrase', full_name='ApplySettings.use_passphrase', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='auto_lock_delay_ms', full_name='ApplySettings.auto_lock_delay_ms', 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), - _descriptor.FieldDescriptor( - name='u2f_counter', full_name='ApplySettings.u2f_counter', index=4, - number=5, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=755, - serialized_end=876, -) - - -_CHANGEPIN = _descriptor.Descriptor( - name='ChangePin', - full_name='ChangePin', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='remove', full_name='ChangePin.remove', index=0, - number=1, 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=878, - serialized_end=905, -) - - -_PING = _descriptor.Descriptor( - name='Ping', - full_name='Ping', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='message', full_name='Ping.message', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='button_protection', full_name='Ping.button_protection', 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), - _descriptor.FieldDescriptor( - name='pin_protection', full_name='Ping.pin_protection', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='passphrase_protection', full_name='Ping.passphrase_protection', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='wipe_code_protection', full_name='Ping.wipe_code_protection', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=908, - serialized_end=1043, -) - - -_SUCCESS = _descriptor.Descriptor( - name='Success', - full_name='Success', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='message', full_name='Success.message', index=0, - number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1045, - serialized_end=1071, -) - - -_FAILURE = _descriptor.Descriptor( - name='Failure', - full_name='Failure', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='code', full_name='Failure.code', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='message', full_name='Failure.message', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1073, - serialized_end=1127, -) - - -_BUTTONREQUEST = _descriptor.Descriptor( - name='ButtonRequest', - full_name='ButtonRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='code', full_name='ButtonRequest.code', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='data', full_name='ButtonRequest.data', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1129, - serialized_end=1192, -) - - -_BUTTONACK = _descriptor.Descriptor( - name='ButtonAck', - full_name='ButtonAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1194, - serialized_end=1205, -) - - -_PINMATRIXREQUEST = _descriptor.Descriptor( - name='PinMatrixRequest', - full_name='PinMatrixRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='type', full_name='PinMatrixRequest.type', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=1, - 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=1207, - serialized_end=1262, -) - - -_PINMATRIXACK = _descriptor.Descriptor( - name='PinMatrixAck', - full_name='PinMatrixAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pin', full_name='PinMatrixAck.pin', index=0, - number=1, type=9, cpp_type=9, label=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1264, - serialized_end=1291, -) - - -_CANCEL = _descriptor.Descriptor( - name='Cancel', - full_name='Cancel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1293, - serialized_end=1301, -) - - -_PASSPHRASEREQUEST = _descriptor.Descriptor( - name='PassphraseRequest', - full_name='PassphraseRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1303, - serialized_end=1322, -) - - -_PASSPHRASEACK = _descriptor.Descriptor( - name='PassphraseAck', - full_name='PassphraseAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='passphrase', full_name='PassphraseAck.passphrase', index=0, - number=1, type=9, cpp_type=9, label=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1324, - serialized_end=1359, -) - - -_GETENTROPY = _descriptor.Descriptor( - name='GetEntropy', - full_name='GetEntropy', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='size', full_name='GetEntropy.size', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1361, - serialized_end=1387, -) - - -_ENTROPY = _descriptor.Descriptor( - name='Entropy', - full_name='Entropy', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='entropy', full_name='Entropy.entropy', 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=1389, - serialized_end=1415, -) - - -_GETPUBLICKEY = _descriptor.Descriptor( - name='GetPublicKey', - full_name='GetPublicKey', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address_n', full_name='GetPublicKey.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='ecdsa_curve_name', full_name='GetPublicKey.ecdsa_curve_name', 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='show_display', full_name='GetPublicKey.show_display', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='coin_name', full_name='GetPublicKey.coin_name', index=3, - number=4, 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='script_type', full_name='GetPublicKey.script_type', index=4, - number=5, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1418, - serialized_end=1580, -) - - -_PUBLICKEY = _descriptor.Descriptor( - name='PublicKey', - full_name='PublicKey', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='node', full_name='PublicKey.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='xpub', full_name='PublicKey.xpub', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1582, - serialized_end=1634, -) - - -_GETADDRESS = _descriptor.Descriptor( - name='GetAddress', - full_name='GetAddress', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address_n', full_name='GetAddress.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='coin_name', full_name='GetAddress.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='show_display', full_name='GetAddress.show_display', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='multisig', full_name='GetAddress.multisig', 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, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='script_type', full_name='GetAddress.script_type', index=4, - number=5, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1637, - serialized_end=1816, -) - - -_ADDRESS = _descriptor.Descriptor( - name='Address', - full_name='Address', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='Address.address', index=0, - number=1, type=9, cpp_type=9, label=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1818, - serialized_end=1844, -) - - -_WIPEDEVICE = _descriptor.Descriptor( - name='WipeDevice', - full_name='WipeDevice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1846, - serialized_end=1858, -) - - -_LOADDEVICE = _descriptor.Descriptor( - name='LoadDevice', - full_name='LoadDevice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='mnemonic', full_name='LoadDevice.mnemonic', 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='node', full_name='LoadDevice.node', 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, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pin', full_name='LoadDevice.pin', 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='passphrase_protection', full_name='LoadDevice.passphrase_protection', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='language', full_name='LoadDevice.language', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("english").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='label', full_name='LoadDevice.label', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='skip_checksum', full_name='LoadDevice.skip_checksum', index=6, - number=7, 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='u2f_counter', full_name='LoadDevice.u2f_counter', index=7, - number=8, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1861, - serialized_end=2048, -) - - -_RESETDEVICE = _descriptor.Descriptor( - name='ResetDevice', - full_name='ResetDevice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='display_random', full_name='ResetDevice.display_random', index=0, - number=1, 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='strength', full_name='ResetDevice.strength', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=True, default_value=256, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='passphrase_protection', full_name='ResetDevice.passphrase_protection', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pin_protection', full_name='ResetDevice.pin_protection', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='language', full_name='ResetDevice.language', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("english").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='label', full_name='ResetDevice.label', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='no_backup', full_name='ResetDevice.no_backup', index=6, - number=7, 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='auto_lock_delay_ms', full_name='ResetDevice.auto_lock_delay_ms', index=7, - number=8, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='u2f_counter', full_name='ResetDevice.u2f_counter', 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=2051, - serialized_end=2276, -) - - -_ENTROPYREQUEST = _descriptor.Descriptor( - name='EntropyRequest', - full_name='EntropyRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2278, - serialized_end=2294, -) - - -_ENTROPYACK = _descriptor.Descriptor( - name='EntropyAck', - full_name='EntropyAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='entropy', full_name='EntropyAck.entropy', 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, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2296, - serialized_end=2325, -) - - -_RECOVERYDEVICE = _descriptor.Descriptor( - name='RecoveryDevice', - full_name='RecoveryDevice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='word_count', full_name='RecoveryDevice.word_count', 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='passphrase_protection', full_name='RecoveryDevice.passphrase_protection', 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), - _descriptor.FieldDescriptor( - name='pin_protection', full_name='RecoveryDevice.pin_protection', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='language', full_name='RecoveryDevice.language', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("english").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='label', full_name='RecoveryDevice.label', 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='enforce_wordlist', full_name='RecoveryDevice.enforce_wordlist', index=5, - number=6, 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='use_character_cipher', full_name='RecoveryDevice.use_character_cipher', index=6, - number=7, 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='auto_lock_delay_ms', full_name='RecoveryDevice.auto_lock_delay_ms', index=7, - number=8, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='u2f_counter', full_name='RecoveryDevice.u2f_counter', 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='dry_run', full_name='RecoveryDevice.dry_run', index=9, - number=10, 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=2328, - serialized_end=2583, -) - - -_WORDREQUEST = _descriptor.Descriptor( - name='WordRequest', - full_name='WordRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2585, - serialized_end=2598, -) - - -_WORDACK = _descriptor.Descriptor( - name='WordAck', - full_name='WordAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='word', full_name='WordAck.word', index=0, - number=1, type=9, cpp_type=9, label=2, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2600, - serialized_end=2623, -) - - -_CHARACTERREQUEST = _descriptor.Descriptor( - name='CharacterRequest', - full_name='CharacterRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='word_pos', full_name='CharacterRequest.word_pos', 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='character_pos', full_name='CharacterRequest.character_pos', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2625, - serialized_end=2684, -) - - -_CHARACTERACK = _descriptor.Descriptor( - name='CharacterAck', - full_name='CharacterAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='character', full_name='CharacterAck.character', 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='delete', full_name='CharacterAck.delete', 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), - _descriptor.FieldDescriptor( - name='done', full_name='CharacterAck.done', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2686, - serialized_end=2749, -) - - -_SIGNMESSAGE = _descriptor.Descriptor( - name='SignMessage', - full_name='SignMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address_n', full_name='SignMessage.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='message', full_name='SignMessage.message', 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='coin_name', full_name='SignMessage.coin_name', index=2, - number=3, 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='script_type', full_name='SignMessage.script_type', index=3, - number=4, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2752, - serialized_end=2882, -) - - -_VERIFYMESSAGE = _descriptor.Descriptor( - name='VerifyMessage', - full_name='VerifyMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='VerifyMessage.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='signature', full_name='VerifyMessage.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='message', full_name='VerifyMessage.message', 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), - _descriptor.FieldDescriptor( - name='coin_name', full_name='VerifyMessage.coin_name', index=3, - number=4, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2884, - serialized_end=2980, -) - - -_MESSAGESIGNATURE = _descriptor.Descriptor( - name='MessageSignature', - full_name='MessageSignature', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='MessageSignature.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='signature', full_name='MessageSignature.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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2982, - serialized_end=3036, -) - - -_ENCRYPTMESSAGE = _descriptor.Descriptor( - name='EncryptMessage', - full_name='EncryptMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pubkey', full_name='EncryptMessage.pubkey', 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, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='message', full_name='EncryptMessage.message', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='display_only', full_name='EncryptMessage.display_only', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='address_n', full_name='EncryptMessage.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), - _descriptor.FieldDescriptor( - name='coin_name', full_name='EncryptMessage.coin_name', index=4, - number=5, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3038, - serialized_end=3156, -) - - -_ENCRYPTEDMESSAGE = _descriptor.Descriptor( - name='EncryptedMessage', - full_name='EncryptedMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='nonce', full_name='EncryptedMessage.nonce', 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, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='message', full_name='EncryptedMessage.message', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='hmac', full_name='EncryptedMessage.hmac', 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=3158, - serialized_end=3222, -) - - -_DECRYPTMESSAGE = _descriptor.Descriptor( - name='DecryptMessage', - full_name='DecryptMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address_n', full_name='DecryptMessage.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='nonce', full_name='DecryptMessage.nonce', 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='message', full_name='DecryptMessage.message', 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), - _descriptor.FieldDescriptor( - name='hmac', full_name='DecryptMessage.hmac', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3224, - serialized_end=3305, -) - - -_DECRYPTEDMESSAGE = _descriptor.Descriptor( - name='DecryptedMessage', - full_name='DecryptedMessage', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='message', full_name='DecryptedMessage.message', index=0, - number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='address', full_name='DecryptedMessage.address', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3307, - serialized_end=3359, -) - - -_CIPHERKEYVALUE = _descriptor.Descriptor( - name='CipherKeyValue', - full_name='CipherKeyValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address_n', full_name='CipherKeyValue.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='key', full_name='CipherKeyValue.key', 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='value', full_name='CipherKeyValue.value', 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), - _descriptor.FieldDescriptor( - name='encrypt', full_name='CipherKeyValue.encrypt', index=3, - number=4, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='ask_on_encrypt', full_name='CipherKeyValue.ask_on_encrypt', index=4, - number=5, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='ask_on_decrypt', full_name='CipherKeyValue.ask_on_decrypt', index=5, - number=6, 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='iv', full_name='CipherKeyValue.iv', index=6, - number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3362, - serialized_end=3502, -) - - -_CIPHEREDKEYVALUE = _descriptor.Descriptor( - name='CipheredKeyValue', - full_name='CipheredKeyValue', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='value', full_name='CipheredKeyValue.value', 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, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3504, - serialized_end=3537, -) - - -_SIGNTX = _descriptor.Descriptor( - name='SignTx', - full_name='SignTx', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='outputs_count', full_name='SignTx.outputs_count', 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='inputs_count', full_name='SignTx.inputs_count', 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='coin_name', full_name='SignTx.coin_name', index=2, - number=3, 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='version', full_name='SignTx.version', index=3, - number=4, type=13, cpp_type=3, label=1, - has_default_value=True, default_value=1, - 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='SignTx.lock_time', index=4, - number=5, 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='expiry', full_name='SignTx.expiry', 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='overwintered', full_name='SignTx.overwintered', index=6, - number=7, 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='SignTx.version_group_id', index=7, - number=8, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='branch_id', full_name='SignTx.branch_id', index=8, - 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=3540, - serialized_end=3746, -) - - -_TXREQUEST = _descriptor.Descriptor( - name='TxRequest', - full_name='TxRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='request_type', full_name='TxRequest.request_type', index=0, - number=1, type=14, cpp_type=8, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='details', full_name='TxRequest.details', 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, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='serialized', full_name='TxRequest.serialized', 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, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3749, - serialized_end=3882, -) - - -_TXACK = _descriptor.Descriptor( - name='TxAck', - full_name='TxAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='tx', full_name='TxAck.tx', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3884, - serialized_end=3921, -) - - -_RAWTXACK = _descriptor.Descriptor( - name='RawTxAck', - full_name='RawTxAck', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='tx', full_name='RawTxAck.tx', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3923, - serialized_end=3966, -) - - -_SIGNIDENTITY = _descriptor.Descriptor( - name='SignIdentity', - full_name='SignIdentity', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='identity', full_name='SignIdentity.identity', 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='challenge_hidden', full_name='SignIdentity.challenge_hidden', 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='challenge_visual', full_name='SignIdentity.challenge_visual', 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='ecdsa_curve_name', full_name='SignIdentity.ecdsa_curve_name', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3968, - serialized_end=4093, -) - - -_SIGNEDIDENTITY = _descriptor.Descriptor( - name='SignedIdentity', - full_name='SignedIdentity', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='SignedIdentity.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='public_key', full_name='SignedIdentity.public_key', 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='signature', full_name='SignedIdentity.signature', 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=4095, - serialized_end=4167, -) - - -_APPLYPOLICIES = _descriptor.Descriptor( - name='ApplyPolicies', - full_name='ApplyPolicies', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='policy', full_name='ApplyPolicies.policy', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4169, - serialized_end=4213, -) - - -_FLASHHASH = _descriptor.Descriptor( - name='FlashHash', - full_name='FlashHash', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='FlashHash.address', 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='length', full_name='FlashHash.length', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='challenge', full_name='FlashHash.challenge', 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=4215, - serialized_end=4278, -) - - -_FLASHWRITE = _descriptor.Descriptor( - name='FlashWrite', - full_name='FlashWrite', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='FlashWrite.address', 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='data', full_name='FlashWrite.data', index=1, - number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='erase', full_name='FlashWrite.erase', index=2, - number=3, type=8, cpp_type=7, label=1, - has_default_value=False, default_value=False, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4280, - serialized_end=4338, -) - - -_FLASHHASHRESPONSE = _descriptor.Descriptor( - name='FlashHashResponse', - full_name='FlashHashResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='data', full_name='FlashHashResponse.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, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4340, - serialized_end=4373, -) - - -_DEBUGLINKFLASHDUMP = _descriptor.Descriptor( - name='DebugLinkFlashDump', - full_name='DebugLinkFlashDump', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='DebugLinkFlashDump.address', 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='length', full_name='DebugLinkFlashDump.length', index=1, - number=2, type=13, cpp_type=3, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4375, - serialized_end=4428, -) - - -_DEBUGLINKFLASHDUMPRESPONSE = _descriptor.Descriptor( - name='DebugLinkFlashDumpResponse', - full_name='DebugLinkFlashDumpResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='data', full_name='DebugLinkFlashDumpResponse.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, - options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4430, - serialized_end=4472, -) - - -_SOFTRESET = _descriptor.Descriptor( - name='SoftReset', - full_name='SoftReset', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4474, - serialized_end=4485, -) - - -_FIRMWAREERASE = _descriptor.Descriptor( - name='FirmwareErase', - full_name='FirmwareErase', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4487, - serialized_end=4502, -) - - -_FIRMWAREUPLOAD = _descriptor.Descriptor( - name='FirmwareUpload', - full_name='FirmwareUpload', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='payload_hash', full_name='FirmwareUpload.payload_hash', 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), - _descriptor.FieldDescriptor( - name='payload', full_name='FirmwareUpload.payload', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4504, - serialized_end=4559, -) - - -_DEBUGLINKDECISION = _descriptor.Descriptor( - name='DebugLinkDecision', - full_name='DebugLinkDecision', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='yes_no', full_name='DebugLinkDecision.yes_no', index=0, - number=1, type=8, cpp_type=7, label=2, - 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=4561, - serialized_end=4596, -) - - -_DEBUGLINKGETSTATE = _descriptor.Descriptor( - name='DebugLinkGetState', - full_name='DebugLinkGetState', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4598, - serialized_end=4617, -) - - -_DEBUGLINKSTATE = _descriptor.Descriptor( - name='DebugLinkState', - full_name='DebugLinkState', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='layout', full_name='DebugLinkState.layout', 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, - options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pin', full_name='DebugLinkState.pin', 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='matrix', full_name='DebugLinkState.matrix', 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='mnemonic', full_name='DebugLinkState.mnemonic', 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='node', full_name='DebugLinkState.node', 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='passphrase_protection', full_name='DebugLinkState.passphrase_protection', index=5, - number=6, 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='reset_word', full_name='DebugLinkState.reset_word', index=6, - number=7, 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='reset_entropy', full_name='DebugLinkState.reset_entropy', 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='recovery_fake_word', full_name='DebugLinkState.recovery_fake_word', index=8, - number=9, 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='recovery_word_pos', full_name='DebugLinkState.recovery_word_pos', 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='recovery_cipher', full_name='DebugLinkState.recovery_cipher', index=10, - number=11, 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='recovery_auto_completed_word', full_name='DebugLinkState.recovery_auto_completed_word', index=11, - number=12, 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='firmware_hash', full_name='DebugLinkState.firmware_hash', index=12, - number=13, 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='storage_hash', full_name='DebugLinkState.storage_hash', index=13, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4620, - serialized_end=4963, -) - - -_DEBUGLINKSTOP = _descriptor.Descriptor( - name='DebugLinkStop', - full_name='DebugLinkStop', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4965, - serialized_end=4980, -) - - -_DEBUGLINKLOG = _descriptor.Descriptor( - name='DebugLinkLog', - full_name='DebugLinkLog', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='level', full_name='DebugLinkLog.level', 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='bucket', full_name='DebugLinkLog.bucket', 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='text', full_name='DebugLinkLog.text', 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4982, - serialized_end=5041, -) - - -_DEBUGLINKFILLCONFIG = _descriptor.Descriptor( - name='DebugLinkFillConfig', - full_name='DebugLinkFillConfig', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5043, - serialized_end=5064, -) - - -_CHANGEWIPECODE = _descriptor.Descriptor( - name='ChangeWipeCode', - full_name='ChangeWipeCode', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='remove', full_name='ChangeWipeCode.remove', index=0, - number=1, 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=5066, - serialized_end=5098, -) - -_FEATURES.fields_by_name['coins'].message_type = types__pb2._COINTYPE -_FEATURES.fields_by_name['policies'].message_type = types__pb2._POLICYTYPE -_COINTABLE.fields_by_name['table'].message_type = types__pb2._COINTYPE -_FAILURE.fields_by_name['code'].enum_type = types__pb2._FAILURETYPE -_BUTTONREQUEST.fields_by_name['code'].enum_type = types__pb2._BUTTONREQUESTTYPE -_PINMATRIXREQUEST.fields_by_name['type'].enum_type = types__pb2._PINMATRIXREQUESTTYPE -_GETPUBLICKEY.fields_by_name['script_type'].enum_type = types__pb2._INPUTSCRIPTTYPE -_PUBLICKEY.fields_by_name['node'].message_type = types__pb2._HDNODETYPE -_GETADDRESS.fields_by_name['multisig'].message_type = types__pb2._MULTISIGREDEEMSCRIPTTYPE -_GETADDRESS.fields_by_name['script_type'].enum_type = types__pb2._INPUTSCRIPTTYPE -_LOADDEVICE.fields_by_name['node'].message_type = types__pb2._HDNODETYPE -_SIGNMESSAGE.fields_by_name['script_type'].enum_type = types__pb2._INPUTSCRIPTTYPE -_TXREQUEST.fields_by_name['request_type'].enum_type = types__pb2._REQUESTTYPE -_TXREQUEST.fields_by_name['details'].message_type = types__pb2._TXREQUESTDETAILSTYPE -_TXREQUEST.fields_by_name['serialized'].message_type = types__pb2._TXREQUESTSERIALIZEDTYPE -_TXACK.fields_by_name['tx'].message_type = types__pb2._TRANSACTIONTYPE -_RAWTXACK.fields_by_name['tx'].message_type = types__pb2._RAWTRANSACTIONTYPE -_SIGNIDENTITY.fields_by_name['identity'].message_type = types__pb2._IDENTITYTYPE -_APPLYPOLICIES.fields_by_name['policy'].message_type = types__pb2._POLICYTYPE -_DEBUGLINKSTATE.fields_by_name['node'].message_type = types__pb2._HDNODETYPE -DESCRIPTOR.message_types_by_name['Initialize'] = _INITIALIZE -DESCRIPTOR.message_types_by_name['GetFeatures'] = _GETFEATURES -DESCRIPTOR.message_types_by_name['Features'] = _FEATURES -DESCRIPTOR.message_types_by_name['GetCoinTable'] = _GETCOINTABLE -DESCRIPTOR.message_types_by_name['CoinTable'] = _COINTABLE -DESCRIPTOR.message_types_by_name['ClearSession'] = _CLEARSESSION -DESCRIPTOR.message_types_by_name['ApplySettings'] = _APPLYSETTINGS -DESCRIPTOR.message_types_by_name['ChangePin'] = _CHANGEPIN -DESCRIPTOR.message_types_by_name['Ping'] = _PING -DESCRIPTOR.message_types_by_name['Success'] = _SUCCESS -DESCRIPTOR.message_types_by_name['Failure'] = _FAILURE -DESCRIPTOR.message_types_by_name['ButtonRequest'] = _BUTTONREQUEST -DESCRIPTOR.message_types_by_name['ButtonAck'] = _BUTTONACK -DESCRIPTOR.message_types_by_name['PinMatrixRequest'] = _PINMATRIXREQUEST -DESCRIPTOR.message_types_by_name['PinMatrixAck'] = _PINMATRIXACK -DESCRIPTOR.message_types_by_name['Cancel'] = _CANCEL -DESCRIPTOR.message_types_by_name['PassphraseRequest'] = _PASSPHRASEREQUEST -DESCRIPTOR.message_types_by_name['PassphraseAck'] = _PASSPHRASEACK -DESCRIPTOR.message_types_by_name['GetEntropy'] = _GETENTROPY -DESCRIPTOR.message_types_by_name['Entropy'] = _ENTROPY -DESCRIPTOR.message_types_by_name['GetPublicKey'] = _GETPUBLICKEY -DESCRIPTOR.message_types_by_name['PublicKey'] = _PUBLICKEY -DESCRIPTOR.message_types_by_name['GetAddress'] = _GETADDRESS -DESCRIPTOR.message_types_by_name['Address'] = _ADDRESS -DESCRIPTOR.message_types_by_name['WipeDevice'] = _WIPEDEVICE -DESCRIPTOR.message_types_by_name['LoadDevice'] = _LOADDEVICE -DESCRIPTOR.message_types_by_name['ResetDevice'] = _RESETDEVICE -DESCRIPTOR.message_types_by_name['EntropyRequest'] = _ENTROPYREQUEST -DESCRIPTOR.message_types_by_name['EntropyAck'] = _ENTROPYACK -DESCRIPTOR.message_types_by_name['RecoveryDevice'] = _RECOVERYDEVICE -DESCRIPTOR.message_types_by_name['WordRequest'] = _WORDREQUEST -DESCRIPTOR.message_types_by_name['WordAck'] = _WORDACK -DESCRIPTOR.message_types_by_name['CharacterRequest'] = _CHARACTERREQUEST -DESCRIPTOR.message_types_by_name['CharacterAck'] = _CHARACTERACK -DESCRIPTOR.message_types_by_name['SignMessage'] = _SIGNMESSAGE -DESCRIPTOR.message_types_by_name['VerifyMessage'] = _VERIFYMESSAGE -DESCRIPTOR.message_types_by_name['MessageSignature'] = _MESSAGESIGNATURE -DESCRIPTOR.message_types_by_name['EncryptMessage'] = _ENCRYPTMESSAGE -DESCRIPTOR.message_types_by_name['EncryptedMessage'] = _ENCRYPTEDMESSAGE -DESCRIPTOR.message_types_by_name['DecryptMessage'] = _DECRYPTMESSAGE -DESCRIPTOR.message_types_by_name['DecryptedMessage'] = _DECRYPTEDMESSAGE -DESCRIPTOR.message_types_by_name['CipherKeyValue'] = _CIPHERKEYVALUE -DESCRIPTOR.message_types_by_name['CipheredKeyValue'] = _CIPHEREDKEYVALUE -DESCRIPTOR.message_types_by_name['SignTx'] = _SIGNTX -DESCRIPTOR.message_types_by_name['TxRequest'] = _TXREQUEST -DESCRIPTOR.message_types_by_name['TxAck'] = _TXACK -DESCRIPTOR.message_types_by_name['RawTxAck'] = _RAWTXACK -DESCRIPTOR.message_types_by_name['SignIdentity'] = _SIGNIDENTITY -DESCRIPTOR.message_types_by_name['SignedIdentity'] = _SIGNEDIDENTITY -DESCRIPTOR.message_types_by_name['ApplyPolicies'] = _APPLYPOLICIES -DESCRIPTOR.message_types_by_name['FlashHash'] = _FLASHHASH -DESCRIPTOR.message_types_by_name['FlashWrite'] = _FLASHWRITE -DESCRIPTOR.message_types_by_name['FlashHashResponse'] = _FLASHHASHRESPONSE -DESCRIPTOR.message_types_by_name['DebugLinkFlashDump'] = _DEBUGLINKFLASHDUMP -DESCRIPTOR.message_types_by_name['DebugLinkFlashDumpResponse'] = _DEBUGLINKFLASHDUMPRESPONSE -DESCRIPTOR.message_types_by_name['SoftReset'] = _SOFTRESET -DESCRIPTOR.message_types_by_name['FirmwareErase'] = _FIRMWAREERASE -DESCRIPTOR.message_types_by_name['FirmwareUpload'] = _FIRMWAREUPLOAD -DESCRIPTOR.message_types_by_name['DebugLinkDecision'] = _DEBUGLINKDECISION -DESCRIPTOR.message_types_by_name['DebugLinkGetState'] = _DEBUGLINKGETSTATE -DESCRIPTOR.message_types_by_name['DebugLinkState'] = _DEBUGLINKSTATE -DESCRIPTOR.message_types_by_name['DebugLinkStop'] = _DEBUGLINKSTOP -DESCRIPTOR.message_types_by_name['DebugLinkLog'] = _DEBUGLINKLOG -DESCRIPTOR.message_types_by_name['DebugLinkFillConfig'] = _DEBUGLINKFILLCONFIG -DESCRIPTOR.message_types_by_name['ChangeWipeCode'] = _CHANGEWIPECODE -DESCRIPTOR.enum_types_by_name['MessageType'] = _MESSAGETYPE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -Initialize = _reflection.GeneratedProtocolMessageType('Initialize', (_message.Message,), dict( - DESCRIPTOR = _INITIALIZE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Initialize) - )) -_sym_db.RegisterMessage(Initialize) - -GetFeatures = _reflection.GeneratedProtocolMessageType('GetFeatures', (_message.Message,), dict( - DESCRIPTOR = _GETFEATURES, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:GetFeatures) - )) -_sym_db.RegisterMessage(GetFeatures) - -Features = _reflection.GeneratedProtocolMessageType('Features', (_message.Message,), dict( - DESCRIPTOR = _FEATURES, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Features) - )) -_sym_db.RegisterMessage(Features) - -GetCoinTable = _reflection.GeneratedProtocolMessageType('GetCoinTable', (_message.Message,), dict( - DESCRIPTOR = _GETCOINTABLE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:GetCoinTable) - )) -_sym_db.RegisterMessage(GetCoinTable) - -CoinTable = _reflection.GeneratedProtocolMessageType('CoinTable', (_message.Message,), dict( - DESCRIPTOR = _COINTABLE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:CoinTable) - )) -_sym_db.RegisterMessage(CoinTable) - -ClearSession = _reflection.GeneratedProtocolMessageType('ClearSession', (_message.Message,), dict( - DESCRIPTOR = _CLEARSESSION, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ClearSession) - )) -_sym_db.RegisterMessage(ClearSession) - -ApplySettings = _reflection.GeneratedProtocolMessageType('ApplySettings', (_message.Message,), dict( - DESCRIPTOR = _APPLYSETTINGS, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ApplySettings) - )) -_sym_db.RegisterMessage(ApplySettings) - -ChangePin = _reflection.GeneratedProtocolMessageType('ChangePin', (_message.Message,), dict( - DESCRIPTOR = _CHANGEPIN, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ChangePin) - )) -_sym_db.RegisterMessage(ChangePin) - -Ping = _reflection.GeneratedProtocolMessageType('Ping', (_message.Message,), dict( - DESCRIPTOR = _PING, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Ping) - )) -_sym_db.RegisterMessage(Ping) - -Success = _reflection.GeneratedProtocolMessageType('Success', (_message.Message,), dict( - DESCRIPTOR = _SUCCESS, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Success) - )) -_sym_db.RegisterMessage(Success) - -Failure = _reflection.GeneratedProtocolMessageType('Failure', (_message.Message,), dict( - DESCRIPTOR = _FAILURE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Failure) - )) -_sym_db.RegisterMessage(Failure) - -ButtonRequest = _reflection.GeneratedProtocolMessageType('ButtonRequest', (_message.Message,), dict( - DESCRIPTOR = _BUTTONREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ButtonRequest) - )) -_sym_db.RegisterMessage(ButtonRequest) - -ButtonAck = _reflection.GeneratedProtocolMessageType('ButtonAck', (_message.Message,), dict( - DESCRIPTOR = _BUTTONACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ButtonAck) - )) -_sym_db.RegisterMessage(ButtonAck) - -PinMatrixRequest = _reflection.GeneratedProtocolMessageType('PinMatrixRequest', (_message.Message,), dict( - DESCRIPTOR = _PINMATRIXREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:PinMatrixRequest) - )) -_sym_db.RegisterMessage(PinMatrixRequest) - -PinMatrixAck = _reflection.GeneratedProtocolMessageType('PinMatrixAck', (_message.Message,), dict( - DESCRIPTOR = _PINMATRIXACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:PinMatrixAck) - )) -_sym_db.RegisterMessage(PinMatrixAck) - -Cancel = _reflection.GeneratedProtocolMessageType('Cancel', (_message.Message,), dict( - DESCRIPTOR = _CANCEL, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Cancel) - )) -_sym_db.RegisterMessage(Cancel) - -PassphraseRequest = _reflection.GeneratedProtocolMessageType('PassphraseRequest', (_message.Message,), dict( - DESCRIPTOR = _PASSPHRASEREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:PassphraseRequest) - )) -_sym_db.RegisterMessage(PassphraseRequest) - -PassphraseAck = _reflection.GeneratedProtocolMessageType('PassphraseAck', (_message.Message,), dict( - DESCRIPTOR = _PASSPHRASEACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:PassphraseAck) - )) -_sym_db.RegisterMessage(PassphraseAck) - -GetEntropy = _reflection.GeneratedProtocolMessageType('GetEntropy', (_message.Message,), dict( - DESCRIPTOR = _GETENTROPY, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:GetEntropy) - )) -_sym_db.RegisterMessage(GetEntropy) - -Entropy = _reflection.GeneratedProtocolMessageType('Entropy', (_message.Message,), dict( - DESCRIPTOR = _ENTROPY, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Entropy) - )) -_sym_db.RegisterMessage(Entropy) - -GetPublicKey = _reflection.GeneratedProtocolMessageType('GetPublicKey', (_message.Message,), dict( - DESCRIPTOR = _GETPUBLICKEY, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:GetPublicKey) - )) -_sym_db.RegisterMessage(GetPublicKey) - -PublicKey = _reflection.GeneratedProtocolMessageType('PublicKey', (_message.Message,), dict( - DESCRIPTOR = _PUBLICKEY, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:PublicKey) - )) -_sym_db.RegisterMessage(PublicKey) - -GetAddress = _reflection.GeneratedProtocolMessageType('GetAddress', (_message.Message,), dict( - DESCRIPTOR = _GETADDRESS, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:GetAddress) - )) -_sym_db.RegisterMessage(GetAddress) - -Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict( - DESCRIPTOR = _ADDRESS, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:Address) - )) -_sym_db.RegisterMessage(Address) - -WipeDevice = _reflection.GeneratedProtocolMessageType('WipeDevice', (_message.Message,), dict( - DESCRIPTOR = _WIPEDEVICE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:WipeDevice) - )) -_sym_db.RegisterMessage(WipeDevice) - -LoadDevice = _reflection.GeneratedProtocolMessageType('LoadDevice', (_message.Message,), dict( - DESCRIPTOR = _LOADDEVICE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:LoadDevice) - )) -_sym_db.RegisterMessage(LoadDevice) - -ResetDevice = _reflection.GeneratedProtocolMessageType('ResetDevice', (_message.Message,), dict( - DESCRIPTOR = _RESETDEVICE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ResetDevice) - )) -_sym_db.RegisterMessage(ResetDevice) - -EntropyRequest = _reflection.GeneratedProtocolMessageType('EntropyRequest', (_message.Message,), dict( - DESCRIPTOR = _ENTROPYREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:EntropyRequest) - )) -_sym_db.RegisterMessage(EntropyRequest) - -EntropyAck = _reflection.GeneratedProtocolMessageType('EntropyAck', (_message.Message,), dict( - DESCRIPTOR = _ENTROPYACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:EntropyAck) - )) -_sym_db.RegisterMessage(EntropyAck) - -RecoveryDevice = _reflection.GeneratedProtocolMessageType('RecoveryDevice', (_message.Message,), dict( - DESCRIPTOR = _RECOVERYDEVICE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:RecoveryDevice) - )) -_sym_db.RegisterMessage(RecoveryDevice) - -WordRequest = _reflection.GeneratedProtocolMessageType('WordRequest', (_message.Message,), dict( - DESCRIPTOR = _WORDREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:WordRequest) - )) -_sym_db.RegisterMessage(WordRequest) - -WordAck = _reflection.GeneratedProtocolMessageType('WordAck', (_message.Message,), dict( - DESCRIPTOR = _WORDACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:WordAck) - )) -_sym_db.RegisterMessage(WordAck) - -CharacterRequest = _reflection.GeneratedProtocolMessageType('CharacterRequest', (_message.Message,), dict( - DESCRIPTOR = _CHARACTERREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:CharacterRequest) - )) -_sym_db.RegisterMessage(CharacterRequest) - -CharacterAck = _reflection.GeneratedProtocolMessageType('CharacterAck', (_message.Message,), dict( - DESCRIPTOR = _CHARACTERACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:CharacterAck) - )) -_sym_db.RegisterMessage(CharacterAck) - -SignMessage = _reflection.GeneratedProtocolMessageType('SignMessage', (_message.Message,), dict( - DESCRIPTOR = _SIGNMESSAGE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:SignMessage) - )) -_sym_db.RegisterMessage(SignMessage) - -VerifyMessage = _reflection.GeneratedProtocolMessageType('VerifyMessage', (_message.Message,), dict( - DESCRIPTOR = _VERIFYMESSAGE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:VerifyMessage) - )) -_sym_db.RegisterMessage(VerifyMessage) - -MessageSignature = _reflection.GeneratedProtocolMessageType('MessageSignature', (_message.Message,), dict( - DESCRIPTOR = _MESSAGESIGNATURE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:MessageSignature) - )) -_sym_db.RegisterMessage(MessageSignature) - -EncryptMessage = _reflection.GeneratedProtocolMessageType('EncryptMessage', (_message.Message,), dict( - DESCRIPTOR = _ENCRYPTMESSAGE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:EncryptMessage) - )) -_sym_db.RegisterMessage(EncryptMessage) - -EncryptedMessage = _reflection.GeneratedProtocolMessageType('EncryptedMessage', (_message.Message,), dict( - DESCRIPTOR = _ENCRYPTEDMESSAGE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:EncryptedMessage) - )) -_sym_db.RegisterMessage(EncryptedMessage) - -DecryptMessage = _reflection.GeneratedProtocolMessageType('DecryptMessage', (_message.Message,), dict( - DESCRIPTOR = _DECRYPTMESSAGE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DecryptMessage) - )) -_sym_db.RegisterMessage(DecryptMessage) - -DecryptedMessage = _reflection.GeneratedProtocolMessageType('DecryptedMessage', (_message.Message,), dict( - DESCRIPTOR = _DECRYPTEDMESSAGE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DecryptedMessage) - )) -_sym_db.RegisterMessage(DecryptedMessage) - -CipherKeyValue = _reflection.GeneratedProtocolMessageType('CipherKeyValue', (_message.Message,), dict( - DESCRIPTOR = _CIPHERKEYVALUE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:CipherKeyValue) - )) -_sym_db.RegisterMessage(CipherKeyValue) - -CipheredKeyValue = _reflection.GeneratedProtocolMessageType('CipheredKeyValue', (_message.Message,), dict( - DESCRIPTOR = _CIPHEREDKEYVALUE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:CipheredKeyValue) - )) -_sym_db.RegisterMessage(CipheredKeyValue) - -SignTx = _reflection.GeneratedProtocolMessageType('SignTx', (_message.Message,), dict( - DESCRIPTOR = _SIGNTX, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:SignTx) - )) -_sym_db.RegisterMessage(SignTx) - -TxRequest = _reflection.GeneratedProtocolMessageType('TxRequest', (_message.Message,), dict( - DESCRIPTOR = _TXREQUEST, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:TxRequest) - )) -_sym_db.RegisterMessage(TxRequest) - -TxAck = _reflection.GeneratedProtocolMessageType('TxAck', (_message.Message,), dict( - DESCRIPTOR = _TXACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:TxAck) - )) -_sym_db.RegisterMessage(TxAck) - -RawTxAck = _reflection.GeneratedProtocolMessageType('RawTxAck', (_message.Message,), dict( - DESCRIPTOR = _RAWTXACK, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:RawTxAck) - )) -_sym_db.RegisterMessage(RawTxAck) - -SignIdentity = _reflection.GeneratedProtocolMessageType('SignIdentity', (_message.Message,), dict( - DESCRIPTOR = _SIGNIDENTITY, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:SignIdentity) - )) -_sym_db.RegisterMessage(SignIdentity) - -SignedIdentity = _reflection.GeneratedProtocolMessageType('SignedIdentity', (_message.Message,), dict( - DESCRIPTOR = _SIGNEDIDENTITY, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:SignedIdentity) - )) -_sym_db.RegisterMessage(SignedIdentity) - -ApplyPolicies = _reflection.GeneratedProtocolMessageType('ApplyPolicies', (_message.Message,), dict( - DESCRIPTOR = _APPLYPOLICIES, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ApplyPolicies) - )) -_sym_db.RegisterMessage(ApplyPolicies) - -FlashHash = _reflection.GeneratedProtocolMessageType('FlashHash', (_message.Message,), dict( - DESCRIPTOR = _FLASHHASH, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:FlashHash) - )) -_sym_db.RegisterMessage(FlashHash) - -FlashWrite = _reflection.GeneratedProtocolMessageType('FlashWrite', (_message.Message,), dict( - DESCRIPTOR = _FLASHWRITE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:FlashWrite) - )) -_sym_db.RegisterMessage(FlashWrite) - -FlashHashResponse = _reflection.GeneratedProtocolMessageType('FlashHashResponse', (_message.Message,), dict( - DESCRIPTOR = _FLASHHASHRESPONSE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:FlashHashResponse) - )) -_sym_db.RegisterMessage(FlashHashResponse) - -DebugLinkFlashDump = _reflection.GeneratedProtocolMessageType('DebugLinkFlashDump', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKFLASHDUMP, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkFlashDump) - )) -_sym_db.RegisterMessage(DebugLinkFlashDump) - -DebugLinkFlashDumpResponse = _reflection.GeneratedProtocolMessageType('DebugLinkFlashDumpResponse', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKFLASHDUMPRESPONSE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkFlashDumpResponse) - )) -_sym_db.RegisterMessage(DebugLinkFlashDumpResponse) - -SoftReset = _reflection.GeneratedProtocolMessageType('SoftReset', (_message.Message,), dict( - DESCRIPTOR = _SOFTRESET, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:SoftReset) - )) -_sym_db.RegisterMessage(SoftReset) - -FirmwareErase = _reflection.GeneratedProtocolMessageType('FirmwareErase', (_message.Message,), dict( - DESCRIPTOR = _FIRMWAREERASE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:FirmwareErase) - )) -_sym_db.RegisterMessage(FirmwareErase) - -FirmwareUpload = _reflection.GeneratedProtocolMessageType('FirmwareUpload', (_message.Message,), dict( - DESCRIPTOR = _FIRMWAREUPLOAD, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:FirmwareUpload) - )) -_sym_db.RegisterMessage(FirmwareUpload) - -DebugLinkDecision = _reflection.GeneratedProtocolMessageType('DebugLinkDecision', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKDECISION, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkDecision) - )) -_sym_db.RegisterMessage(DebugLinkDecision) - -DebugLinkGetState = _reflection.GeneratedProtocolMessageType('DebugLinkGetState', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKGETSTATE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkGetState) - )) -_sym_db.RegisterMessage(DebugLinkGetState) - -DebugLinkState = _reflection.GeneratedProtocolMessageType('DebugLinkState', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKSTATE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkState) - )) -_sym_db.RegisterMessage(DebugLinkState) - -DebugLinkStop = _reflection.GeneratedProtocolMessageType('DebugLinkStop', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKSTOP, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkStop) - )) -_sym_db.RegisterMessage(DebugLinkStop) - -DebugLinkLog = _reflection.GeneratedProtocolMessageType('DebugLinkLog', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKLOG, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkLog) - )) -_sym_db.RegisterMessage(DebugLinkLog) - -DebugLinkFillConfig = _reflection.GeneratedProtocolMessageType('DebugLinkFillConfig', (_message.Message,), dict( - DESCRIPTOR = _DEBUGLINKFILLCONFIG, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:DebugLinkFillConfig) - )) -_sym_db.RegisterMessage(DebugLinkFillConfig) - -ChangeWipeCode = _reflection.GeneratedProtocolMessageType('ChangeWipeCode', (_message.Message,), dict( - DESCRIPTOR = _CHANGEWIPECODE, - __module__ = 'messages_pb2' - # @@protoc_insertion_point(class_scope:ChangeWipeCode) - )) -_sym_db.RegisterMessage(ChangeWipeCode) - - -DESCRIPTOR.has_options = True -DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\032com.keepkey.deviceprotocolB\016KeepKeyMessage')) -_MESSAGETYPE.values_by_name["MessageType_Initialize"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Initialize"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Ping"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Ping"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Success"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Success"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Failure"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Failure"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ChangePin"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ChangePin"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_WipeDevice"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_WipeDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_FirmwareErase"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_FirmwareErase"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_FirmwareUpload"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_FirmwareUpload"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_GetEntropy"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_GetEntropy"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Entropy"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Entropy"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_GetPublicKey"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_GetPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_PublicKey"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_PublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_LoadDevice"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_LoadDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ResetDevice"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ResetDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_SignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_SignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Features"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Features"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_PinMatrixRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_PinMatrixRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_PinMatrixAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_PinMatrixAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Cancel"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Cancel"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TxRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TxRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TxAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TxAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CipherKeyValue"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CipherKeyValue"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ClearSession"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ClearSession"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ApplySettings"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ApplySettings"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ButtonRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ButtonRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ButtonAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ButtonAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_GetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_GetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Address"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Address"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EntropyRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EntropyRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EntropyAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EntropyAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_SignMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_SignMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_VerifyMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_VerifyMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MessageSignature"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MessageSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_PassphraseRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_PassphraseRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_PassphraseAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_PassphraseAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_RecoveryDevice"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_RecoveryDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_WordRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_WordRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_WordAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_WordAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CipheredKeyValue"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CipheredKeyValue"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EncryptMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EncryptMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EncryptedMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EncryptedMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DecryptMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DecryptMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DecryptedMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DecryptedMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_SignIdentity"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_SignIdentity"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_SignedIdentity"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_SignedIdentity"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_GetFeatures"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_GetFeatures"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumTxRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumTxRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumTxAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumTxAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CharacterRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CharacterRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CharacterAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CharacterAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_RawTxAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_RawTxAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ApplyPolicies"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ApplyPolicies"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_FlashHash"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_FlashHash"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_FlashWrite"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_FlashWrite"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_FlashHashResponse"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_FlashHashResponse"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDump"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDump"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDumpResponse"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDumpResponse"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_SoftReset"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_SoftReset"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkDecision"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkDecision"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkGetState"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkGetState"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkState"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkState"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkStop"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkStop"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkLog"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkLog"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_DebugLinkFillConfig"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_DebugLinkFillConfig"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_GetCoinTable"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_GetCoinTable"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CoinTable"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CoinTable"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumSignMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumSignMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumVerifyMessage"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumVerifyMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumMessageSignature"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumMessageSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ChangeWipeCode"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ChangeWipeCode"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumSignTypedHash"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumSignTypedHash"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EthereumTypedDataSignature"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EthereumTypedDataSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_Ethereum712TypesValues"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_Ethereum712TypesValues"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_RippleGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_RippleGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_RippleAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_RippleAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_RippleSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_RippleSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_RippleSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_RippleSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ThorchainGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ThorchainGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ThorchainAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ThorchainAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ThorchainSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ThorchainSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_ThorchainSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_ThorchainSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EosGetPublicKey"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EosGetPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EosPublicKey"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EosPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EosSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EosSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EosTxActionRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EosTxActionRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EosTxActionAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EosTxActionAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_EosSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_EosSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_NanoGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_NanoGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_NanoAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_NanoAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_NanoSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_NanoSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_NanoSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_NanoSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceGetPublicKey"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceGetPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinancePublicKey"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinancePublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceTxRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceTxRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceTransferMsg"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceTransferMsg"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceOrderMsg"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceOrderMsg"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceCancelMsg"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceCancelMsg"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_BinanceSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_BinanceSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgDelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgDelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgUndelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgUndelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRedelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRedelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRewards"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRewards"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgIBCTransfer"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_CosmosMsgIBCTransfer"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgSend"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgSend"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgDelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgDelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgUndelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgUndelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRedelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRedelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRewards"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRewards"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgIBCTransfer"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_TendermintMsgIBCTransfer"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSend"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSend"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgDelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgDelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgUndelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgUndelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRedelegate"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRedelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRewards"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRewards"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPAdd"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPAdd"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPRemove"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPRemove"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPStake"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPStake"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPUnstake"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPUnstake"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgIBCTransfer"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgIBCTransfer"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSwap"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSwap"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_OsmosisSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_OsmosisSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MayachainGetAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MayachainGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MayachainAddress"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MayachainAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MayachainSignTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MayachainSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MayachainMsgRequest"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MayachainMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MayachainMsgAck"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MayachainMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) -_MESSAGETYPE.values_by_name["MessageType_MayachainSignedTx"].has_options = True -_MESSAGETYPE.values_by_name["MessageType_MayachainSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0emessages.proto\x1a\x0btypes.proto\"\x0c\n\nInitialize\"\r\n\x0bGetFeatures\"\xaa\x04\n\x08\x46\x65\x61tures\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x15\n\rmajor_version\x18\x02 \x01(\r\x12\x15\n\rminor_version\x18\x03 \x01(\r\x12\x15\n\rpatch_version\x18\x04 \x01(\r\x12\x17\n\x0f\x62ootloader_mode\x18\x05 \x01(\x08\x12\x11\n\tdevice_id\x18\x06 \x01(\t\x12\x16\n\x0epin_protection\x18\x07 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x08 \x01(\x08\x12\x10\n\x08language\x18\t \x01(\t\x12\r\n\x05label\x18\n \x01(\t\x12\x18\n\x05\x63oins\x18\x0b \x03(\x0b\x32\t.CoinType\x12\x13\n\x0binitialized\x18\x0c \x01(\x08\x12\x10\n\x08revision\x18\r \x01(\x0c\x12\x17\n\x0f\x62ootloader_hash\x18\x0e \x01(\x0c\x12\x10\n\x08imported\x18\x0f \x01(\x08\x12\x12\n\npin_cached\x18\x10 \x01(\x08\x12\x19\n\x11passphrase_cached\x18\x11 \x01(\x08\x12\x1d\n\x08policies\x18\x12 \x03(\x0b\x32\x0b.PolicyType\x12\r\n\x05model\x18\x15 \x01(\t\x12\x18\n\x10\x66irmware_variant\x18\x16 \x01(\t\x12\x15\n\rfirmware_hash\x18\x17 \x01(\x0c\x12\x11\n\tno_backup\x18\x18 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x19 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x1a \x01(\r\"*\n\x0cGetCoinTable\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"L\n\tCoinTable\x12\x18\n\x05table\x18\x01 \x03(\x0b\x32\t.CoinType\x12\x11\n\tnum_coins\x18\x02 \x01(\r\x12\x12\n\nchunk_size\x18\x03 \x01(\r\"\x0e\n\x0c\x43learSession\"y\n\rApplySettings\x12\x10\n\x08language\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x16\n\x0euse_passphrase\x18\x03 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x04 \x01(\r\x12\x13\n\x0bu2f_counter\x18\x05 \x01(\r\"\x1b\n\tChangePin\x12\x0e\n\x06remove\x18\x01 \x01(\x08\"\x87\x01\n\x04Ping\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x19\n\x11\x62utton_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x05 \x01(\x08\"\x1a\n\x07Success\x12\x0f\n\x07message\x18\x01 \x01(\t\"6\n\x07\x46\x61ilure\x12\x1a\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x0c.FailureType\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\rButtonRequest\x12 \n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.ButtonRequestType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\x0b\n\tButtonAck\"7\n\x10PinMatrixRequest\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.PinMatrixRequestType\"\x1b\n\x0cPinMatrixAck\x12\x0b\n\x03pin\x18\x01 \x02(\t\"\x08\n\x06\x43\x61ncel\"\x13\n\x11PassphraseRequest\"#\n\rPassphraseAck\x12\x12\n\npassphrase\x18\x01 \x02(\t\"\x1a\n\nGetEntropy\x12\x0c\n\x04size\x18\x01 \x02(\r\"\x1a\n\x07\x45ntropy\x12\x0f\n\x07\x65ntropy\x18\x01 \x02(\x0c\"\xa2\x01\n\x0cGetPublicKey\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x02 \x01(\t\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"4\n\tPublicKey\x12\x19\n\x04node\x18\x01 \x02(\x0b\x32\x0b.HDNodeType\x12\x0c\n\x04xpub\x18\x02 \x01(\t\"\xb3\x01\n\nGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x1a\n\tcoin_name\x18\x02 \x01(\t:\x07\x42itcoin\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12+\n\x08multisig\x18\x04 \x01(\x0b\x32\x19.MultisigRedeemScriptType\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"\x1a\n\x07\x41\x64\x64ress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x02(\t\"\x0c\n\nWipeDevice\"\xbb\x01\n\nLoadDevice\x12\x10\n\x08mnemonic\x18\x01 \x01(\t\x12\x19\n\x04node\x18\x02 \x01(\x0b\x32\x0b.HDNodeType\x12\x0b\n\x03pin\x18\x03 \x01(\t\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x15\n\rskip_checksum\x18\x07 \x01(\x08\x12\x13\n\x0bu2f_counter\x18\x08 \x01(\r\"\xe1\x01\n\x0bResetDevice\x12\x16\n\x0e\x64isplay_random\x18\x01 \x01(\x08\x12\x15\n\x08strength\x18\x02 \x01(\r:\x03\x32\x35\x36\x12\x1d\n\x15passphrase_protection\x18\x03 \x01(\x08\x12\x16\n\x0epin_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x11\n\tno_backup\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\"\x10\n\x0e\x45ntropyRequest\"\x1d\n\nEntropyAck\x12\x0f\n\x07\x65ntropy\x18\x01 \x01(\x0c\"\xff\x01\n\x0eRecoveryDevice\x12\x12\n\nword_count\x18\x01 \x01(\r\x12\x1d\n\x15passphrase_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x19\n\x08language\x18\x04 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x05 \x01(\t\x12\x18\n\x10\x65nforce_wordlist\x18\x06 \x01(\x08\x12\x1c\n\x14use_character_cipher\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\x12\x0f\n\x07\x64ry_run\x18\n \x01(\x08\"\r\n\x0bWordRequest\"\x17\n\x07WordAck\x12\x0c\n\x04word\x18\x01 \x02(\t\";\n\x10\x43haracterRequest\x12\x10\n\x08word_pos\x18\x01 \x02(\r\x12\x15\n\rcharacter_pos\x18\x02 \x02(\r\"?\n\x0c\x43haracterAck\x12\x11\n\tcharacter\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65lete\x18\x02 \x01(\x08\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\"\x82\x01\n\x0bSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0f\n\x07message\x18\x02 \x02(\x0c\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x04 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"`\n\rVerifyMessage\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\"6\n\x10MessageSignature\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\"v\n\x0e\x45ncryptMessage\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64isplay_only\x18\x03 \x01(\x08\x12\x11\n\taddress_n\x18\x04 \x03(\r\x12\x1a\n\tcoin_name\x18\x05 \x01(\t:\x07\x42itcoin\"@\n\x10\x45ncryptedMessage\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x0c\n\x04hmac\x18\x03 \x01(\x0c\"Q\n\x0e\x44\x65\x63ryptMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x0c\n\x04hmac\x18\x04 \x01(\x0c\"4\n\x10\x44\x65\x63ryptedMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x8c\x01\n\x0e\x43ipherKeyValue\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x0c\x12\x0f\n\x07\x65ncrypt\x18\x04 \x01(\x08\x12\x16\n\x0e\x61sk_on_encrypt\x18\x05 \x01(\x08\x12\x16\n\x0e\x61sk_on_decrypt\x18\x06 \x01(\x08\x12\n\n\x02iv\x18\x07 \x01(\x0c\"!\n\x10\x43ipheredKeyValue\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xce\x01\n\x06SignTx\x12\x15\n\routputs_count\x18\x01 \x02(\r\x12\x14\n\x0cinputs_count\x18\x02 \x02(\r\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x12\n\x07version\x18\x04 \x01(\r:\x01\x31\x12\x14\n\tlock_time\x18\x05 \x01(\r:\x01\x30\x12\x0e\n\x06\x65xpiry\x18\x06 \x01(\r\x12\x14\n\x0coverwintered\x18\x07 \x01(\x08\x12\x18\n\x10version_group_id\x18\x08 \x01(\r\x12\x11\n\tbranch_id\x18\n \x01(\r\"\x85\x01\n\tTxRequest\x12\"\n\x0crequest_type\x18\x01 \x01(\x0e\x32\x0c.RequestType\x12&\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x15.TxRequestDetailsType\x12,\n\nserialized\x18\x03 \x01(\x0b\x32\x18.TxRequestSerializedType\"%\n\x05TxAck\x12\x1c\n\x02tx\x18\x01 \x01(\x0b\x32\x10.TransactionType\"+\n\x08RawTxAck\x12\x1f\n\x02tx\x18\x01 \x01(\x0b\x32\x13.RawTransactionType\"}\n\x0cSignIdentity\x12\x1f\n\x08identity\x18\x01 \x01(\x0b\x32\r.IdentityType\x12\x18\n\x10\x63hallenge_hidden\x18\x02 \x01(\x0c\x12\x18\n\x10\x63hallenge_visual\x18\x03 \x01(\t\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x04 \x01(\t\"H\n\x0eSignedIdentity\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x12\n\npublic_key\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\",\n\rApplyPolicies\x12\x1b\n\x06policy\x18\x01 \x03(\x0b\x32\x0b.PolicyType\"?\n\tFlashHash\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x11\n\tchallenge\x18\x03 \x01(\x0c\":\n\nFlashWrite\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x65rase\x18\x03 \x01(\x08\"!\n\x11\x46lashHashResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"5\n\x12\x44\x65\x62ugLinkFlashDump\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\"*\n\x1a\x44\x65\x62ugLinkFlashDumpResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x0b\n\tSoftReset\"\x0f\n\rFirmwareErase\"7\n\x0e\x46irmwareUpload\x12\x14\n\x0cpayload_hash\x18\x01 \x02(\x0c\x12\x0f\n\x07payload\x18\x02 \x02(\x0c\"#\n\x11\x44\x65\x62ugLinkDecision\x12\x0e\n\x06yes_no\x18\x01 \x02(\x08\"\x13\n\x11\x44\x65\x62ugLinkGetState\"\xd7\x02\n\x0e\x44\x65\x62ugLinkState\x12\x0e\n\x06layout\x18\x01 \x01(\x0c\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x0e\n\x06matrix\x18\x03 \x01(\t\x12\x10\n\x08mnemonic\x18\x04 \x01(\t\x12\x19\n\x04node\x18\x05 \x01(\x0b\x32\x0b.HDNodeType\x12\x1d\n\x15passphrase_protection\x18\x06 \x01(\x08\x12\x12\n\nreset_word\x18\x07 \x01(\t\x12\x15\n\rreset_entropy\x18\x08 \x01(\x0c\x12\x1a\n\x12recovery_fake_word\x18\t \x01(\t\x12\x19\n\x11recovery_word_pos\x18\n \x01(\r\x12\x17\n\x0frecovery_cipher\x18\x0b \x01(\t\x12$\n\x1crecovery_auto_completed_word\x18\x0c \x01(\t\x12\x15\n\rfirmware_hash\x18\r \x01(\x0c\x12\x14\n\x0cstorage_hash\x18\x0e \x01(\x0c\"\x0f\n\rDebugLinkStop\";\n\x0c\x44\x65\x62ugLinkLog\x12\r\n\x05level\x18\x01 \x01(\r\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\"\x15\n\x13\x44\x65\x62ugLinkFillConfig\" \n\x0e\x43hangeWipeCode\x12\x0e\n\x06remove\x18\x01 \x01(\x08*\xbe.\n\x0bMessageType\x12 \n\x16MessageType_Initialize\x10\x00\x1a\x04\x90\xb5\x18\x01\x12\x1a\n\x10MessageType_Ping\x10\x01\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Success\x10\x02\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_Failure\x10\x03\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ChangePin\x10\x04\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_WipeDevice\x10\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_FirmwareErase\x10\x06\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_FirmwareUpload\x10\x07\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetEntropy\x10\t\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Entropy\x10\n\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_GetPublicKey\x10\x0b\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_PublicKey\x10\x0c\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_LoadDevice\x10\r\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_ResetDevice\x10\x0e\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_SignTx\x10\x0f\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_Features\x10\x11\x1a\x04\x98\xb5\x18\x01\x12&\n\x1cMessageType_PinMatrixRequest\x10\x12\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_PinMatrixAck\x10\x13\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_Cancel\x10\x14\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_TxRequest\x10\x15\x1a\x04\x98\xb5\x18\x01\x12\x1b\n\x11MessageType_TxAck\x10\x16\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_CipherKeyValue\x10\x17\x1a\x04\x90\xb5\x18\x01\x12\"\n\x18MessageType_ClearSession\x10\x18\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplySettings\x10\x19\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ButtonRequest\x10\x1a\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ButtonAck\x10\x1b\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetAddress\x10\x1d\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Address\x10\x1e\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EntropyRequest\x10#\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_EntropyAck\x10$\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_SignMessage\x10&\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_VerifyMessage\x10\'\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_MessageSignature\x10(\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1dMessageType_PassphraseRequest\x10)\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_PassphraseAck\x10*\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_RecoveryDevice\x10-\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_WordRequest\x10.\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_WordAck\x10/\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CipheredKeyValue\x10\x30\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EncryptMessage\x10\x31\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_EncryptedMessage\x10\x32\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_DecryptMessage\x10\x33\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_DecryptedMessage\x10\x34\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_SignIdentity\x10\x35\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_SignedIdentity\x10\x36\x1a\x04\x98\xb5\x18\x01\x12!\n\x17MessageType_GetFeatures\x10\x37\x1a\x04\x90\xb5\x18\x01\x12(\n\x1eMessageType_EthereumGetAddress\x10\x38\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x10\x39\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignTx\x10:\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_EthereumTxRequest\x10;\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_EthereumTxAck\x10<\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CharacterRequest\x10P\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_CharacterAck\x10Q\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_RawTxAck\x10R\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplyPolicies\x10S\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_FlashHash\x10T\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_FlashWrite\x10U\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_FlashHashResponse\x10V\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_DebugLinkFlashDump\x10W\x1a\x04\xa0\xb5\x18\x01\x12\x30\n&MessageType_DebugLinkFlashDumpResponse\x10X\x1a\x04\xa8\xb5\x18\x01\x12\x1f\n\x15MessageType_SoftReset\x10Y\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkDecision\x10\x64\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkGetState\x10\x65\x1a\x04\xa0\xb5\x18\x01\x12$\n\x1aMessageType_DebugLinkState\x10\x66\x1a\x04\xa8\xb5\x18\x01\x12#\n\x19MessageType_DebugLinkStop\x10g\x1a\x04\xa0\xb5\x18\x01\x12\"\n\x18MessageType_DebugLinkLog\x10h\x1a\x04\xa8\xb5\x18\x01\x12)\n\x1fMessageType_DebugLinkFillConfig\x10i\x1a\x04\xa8\xb5\x18\x01\x12\"\n\x18MessageType_GetCoinTable\x10j\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_CoinTable\x10k\x1a\x04\x98\xb5\x18\x01\x12)\n\x1fMessageType_EthereumSignMessage\x10l\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumVerifyMessage\x10m\x1a\x04\x90\xb5\x18\x01\x12.\n$MessageType_EthereumMessageSignature\x10n\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_ChangeWipeCode\x10o\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumSignTypedHash\x10p\x1a\x04\x90\xb5\x18\x01\x12\x30\n&MessageType_EthereumTypedDataSignature\x10q\x1a\x04\x98\xb5\x18\x01\x12,\n\"MessageType_Ethereum712TypesValues\x10r\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainGetAddress\x10\xf4\x03\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_ThorchainAddress\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainSignTx\x10\xf6\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainMsgRequest\x10\xf7\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainMsgAck\x10\xf8\x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_ThorchainSignedTx\x10\xf9\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12 \n\x15MessageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_NanoGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_NanoAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12!\n\x16MessageType_NanoSignTx\x10\xbe\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_NanoSignedTx\x10\xbf\x05\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_SolanaGetAddress\x10\xee\x05\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddress\x10\xef\x05\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSignTx\x10\xf0\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_SolanaSignedTx\x10\xf1\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_SolanaSignMessage\x10\xf2\x05\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_SolanaMessageSignature\x10\xf3\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_BinanceGetAddress\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_BinanceAddress\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_BinanceGetPublicKey\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinancePublicKey\x10\xa3\x06\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xa4\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceTxRequest\x10\xa5\x06\x1a\x04\x98\xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xa6\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xa7\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceCancelMsg\x10\xa8\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\xa9\x06\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosGetAddress\x10\x84\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_CosmosAddress\x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosSignTx\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRequest\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosMsgAck\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CosmosSignedTx\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CosmosMsgDelegate\x10\x8a\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgUndelegate\x10\x8b\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgRedelegate\x10\x8c\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRewards\x10\x8d\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_CosmosMsgIBCTransfer\x10\x8e\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintGetAddress\x10\xe8\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintAddress\x10\xe9\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintSignTx\x10\xea\x07\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_TendermintMsgRequest\x10\xeb\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintMsgAck\x10\xec\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintMsgSend\x10\xed\x07\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_TendermintSignedTx\x10\xee\x07\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_TendermintMsgDelegate\x10\xef\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgUndelegate\x10\xf0\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgRedelegate\x10\xf1\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintMsgRewards\x10\xf2\x07\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_TendermintMsgIBCTransfer\x10\xf3\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisGetAddress\x10\xcc\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisAddress\x10\xcd\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisSignTx\x10\xce\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRequest\x10\xcf\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisMsgAck\x10\xd0\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSend\x10\xd1\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgDelegate\x10\xd2\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgUndelegate\x10\xd3\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgRedelegate\x10\xd4\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRewards\x10\xd5\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisMsgLPAdd\x10\xd6\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgLPRemove\x10\xd7\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgLPStake\x10\xd8\x08\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_OsmosisMsgLPUnstake\x10\xd9\x08\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_OsmosisMsgIBCTransfer\x10\xda\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSwap\x10\xdb\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisSignedTx\x10\xdc\x08\x1a\x04\x98\xb5\x18\x01\x42,\n\x1a\x63om.keepkey.deviceprotocolB\x0eKeepKeyMessage') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'messages_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.keepkey.deviceprotocolB\016KeepKeyMessage' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Initialize"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Initialize"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Ping"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Ping"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Success"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Success"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Failure"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Failure"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangePin"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangePin"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_WipeDevice"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_WipeDevice"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareErase"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareErase"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareUpload"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareUpload"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetEntropy"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetEntropy"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Entropy"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Entropy"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetPublicKey"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetPublicKey"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_PublicKey"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_PublicKey"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_LoadDevice"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_LoadDevice"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ResetDevice"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ResetDevice"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Features"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Features"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Cancel"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Cancel"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TxRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TxRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TxAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TxAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CipherKeyValue"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CipherKeyValue"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ClearSession"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ClearSession"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplySettings"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplySettings"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Address"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Address"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_VerifyMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_VerifyMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_MessageSignature"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_MessageSignature"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_RecoveryDevice"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_RecoveryDevice"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_WordRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_WordRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_WordAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_WordAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CipheredKeyValue"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CipheredKeyValue"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptedMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptedMessage"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptedMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptedMessage"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignIdentity"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignIdentity"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignedIdentity"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SignedIdentity"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetFeatures"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetFeatures"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_RawTxAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_RawTxAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplyPolicies"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplyPolicies"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHash"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHash"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashWrite"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashWrite"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHashResponse"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHashResponse"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDump"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDump"]._serialized_options = b'\240\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDumpResponse"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDumpResponse"]._serialized_options = b'\250\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SoftReset"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SoftReset"]._serialized_options = b'\240\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkDecision"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkDecision"]._serialized_options = b'\240\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkGetState"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkGetState"]._serialized_options = b'\240\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkState"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkState"]._serialized_options = b'\250\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkStop"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkStop"]._serialized_options = b'\240\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkLog"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkLog"]._serialized_options = b'\250\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFillConfig"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFillConfig"]._serialized_options = b'\250\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetCoinTable"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_GetCoinTable"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CoinTable"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CoinTable"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumVerifyMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumVerifyMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumMessageSignature"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumMessageSignature"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangeWipeCode"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangeWipeCode"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTypedHash"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTypedHash"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTypedDataSignature"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTypedDataSignature"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_Ethereum712TypesValues"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_Ethereum712TypesValues"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignedTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosGetPublicKey"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosGetPublicKey"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosPublicKey"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosPublicKey"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignMessage"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignMessage"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaMessageSignature"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaMessageSignature"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetPublicKey"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetPublicKey"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinancePublicKey"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinancePublicKey"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTxRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTxRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTransferMsg"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTransferMsg"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceOrderMsg"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceOrderMsg"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceCancelMsg"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceCancelMsg"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgDelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgDelegate"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgUndelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgUndelegate"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRedelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRedelegate"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRewards"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRewards"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgIBCTransfer"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgIBCTransfer"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgSend"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgSend"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgDelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgDelegate"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgUndelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgUndelegate"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRedelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRedelegate"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRewards"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRewards"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgIBCTransfer"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgIBCTransfer"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisGetAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisGetAddress"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisAddress"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisAddress"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignTx"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRequest"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRequest"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgAck"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgAck"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSend"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSend"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgDelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgDelegate"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgUndelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgUndelegate"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRedelegate"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRedelegate"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRewards"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRewards"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPAdd"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPAdd"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPRemove"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPRemove"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPStake"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPStake"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPUnstake"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPUnstake"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgIBCTransfer"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgIBCTransfer"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSwap"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSwap"]._serialized_options = b'\220\265\030\001' + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignedTx"]._loaded_options = None + _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignedTx"]._serialized_options = b'\230\265\030\001' + _globals['_MESSAGETYPE']._serialized_start=5101 + _globals['_MESSAGETYPE']._serialized_end=11051 + _globals['_INITIALIZE']._serialized_start=31 + _globals['_INITIALIZE']._serialized_end=43 + _globals['_GETFEATURES']._serialized_start=45 + _globals['_GETFEATURES']._serialized_end=58 + _globals['_FEATURES']._serialized_start=61 + _globals['_FEATURES']._serialized_end=615 + _globals['_GETCOINTABLE']._serialized_start=617 + _globals['_GETCOINTABLE']._serialized_end=659 + _globals['_COINTABLE']._serialized_start=661 + _globals['_COINTABLE']._serialized_end=737 + _globals['_CLEARSESSION']._serialized_start=739 + _globals['_CLEARSESSION']._serialized_end=753 + _globals['_APPLYSETTINGS']._serialized_start=755 + _globals['_APPLYSETTINGS']._serialized_end=876 + _globals['_CHANGEPIN']._serialized_start=878 + _globals['_CHANGEPIN']._serialized_end=905 + _globals['_PING']._serialized_start=908 + _globals['_PING']._serialized_end=1043 + _globals['_SUCCESS']._serialized_start=1045 + _globals['_SUCCESS']._serialized_end=1071 + _globals['_FAILURE']._serialized_start=1073 + _globals['_FAILURE']._serialized_end=1127 + _globals['_BUTTONREQUEST']._serialized_start=1129 + _globals['_BUTTONREQUEST']._serialized_end=1192 + _globals['_BUTTONACK']._serialized_start=1194 + _globals['_BUTTONACK']._serialized_end=1205 + _globals['_PINMATRIXREQUEST']._serialized_start=1207 + _globals['_PINMATRIXREQUEST']._serialized_end=1262 + _globals['_PINMATRIXACK']._serialized_start=1264 + _globals['_PINMATRIXACK']._serialized_end=1291 + _globals['_CANCEL']._serialized_start=1293 + _globals['_CANCEL']._serialized_end=1301 + _globals['_PASSPHRASEREQUEST']._serialized_start=1303 + _globals['_PASSPHRASEREQUEST']._serialized_end=1322 + _globals['_PASSPHRASEACK']._serialized_start=1324 + _globals['_PASSPHRASEACK']._serialized_end=1359 + _globals['_GETENTROPY']._serialized_start=1361 + _globals['_GETENTROPY']._serialized_end=1387 + _globals['_ENTROPY']._serialized_start=1389 + _globals['_ENTROPY']._serialized_end=1415 + _globals['_GETPUBLICKEY']._serialized_start=1418 + _globals['_GETPUBLICKEY']._serialized_end=1580 + _globals['_PUBLICKEY']._serialized_start=1582 + _globals['_PUBLICKEY']._serialized_end=1634 + _globals['_GETADDRESS']._serialized_start=1637 + _globals['_GETADDRESS']._serialized_end=1816 + _globals['_ADDRESS']._serialized_start=1818 + _globals['_ADDRESS']._serialized_end=1844 + _globals['_WIPEDEVICE']._serialized_start=1846 + _globals['_WIPEDEVICE']._serialized_end=1858 + _globals['_LOADDEVICE']._serialized_start=1861 + _globals['_LOADDEVICE']._serialized_end=2048 + _globals['_RESETDEVICE']._serialized_start=2051 + _globals['_RESETDEVICE']._serialized_end=2276 + _globals['_ENTROPYREQUEST']._serialized_start=2278 + _globals['_ENTROPYREQUEST']._serialized_end=2294 + _globals['_ENTROPYACK']._serialized_start=2296 + _globals['_ENTROPYACK']._serialized_end=2325 + _globals['_RECOVERYDEVICE']._serialized_start=2328 + _globals['_RECOVERYDEVICE']._serialized_end=2583 + _globals['_WORDREQUEST']._serialized_start=2585 + _globals['_WORDREQUEST']._serialized_end=2598 + _globals['_WORDACK']._serialized_start=2600 + _globals['_WORDACK']._serialized_end=2623 + _globals['_CHARACTERREQUEST']._serialized_start=2625 + _globals['_CHARACTERREQUEST']._serialized_end=2684 + _globals['_CHARACTERACK']._serialized_start=2686 + _globals['_CHARACTERACK']._serialized_end=2749 + _globals['_SIGNMESSAGE']._serialized_start=2752 + _globals['_SIGNMESSAGE']._serialized_end=2882 + _globals['_VERIFYMESSAGE']._serialized_start=2884 + _globals['_VERIFYMESSAGE']._serialized_end=2980 + _globals['_MESSAGESIGNATURE']._serialized_start=2982 + _globals['_MESSAGESIGNATURE']._serialized_end=3036 + _globals['_ENCRYPTMESSAGE']._serialized_start=3038 + _globals['_ENCRYPTMESSAGE']._serialized_end=3156 + _globals['_ENCRYPTEDMESSAGE']._serialized_start=3158 + _globals['_ENCRYPTEDMESSAGE']._serialized_end=3222 + _globals['_DECRYPTMESSAGE']._serialized_start=3224 + _globals['_DECRYPTMESSAGE']._serialized_end=3305 + _globals['_DECRYPTEDMESSAGE']._serialized_start=3307 + _globals['_DECRYPTEDMESSAGE']._serialized_end=3359 + _globals['_CIPHERKEYVALUE']._serialized_start=3362 + _globals['_CIPHERKEYVALUE']._serialized_end=3502 + _globals['_CIPHEREDKEYVALUE']._serialized_start=3504 + _globals['_CIPHEREDKEYVALUE']._serialized_end=3537 + _globals['_SIGNTX']._serialized_start=3540 + _globals['_SIGNTX']._serialized_end=3746 + _globals['_TXREQUEST']._serialized_start=3749 + _globals['_TXREQUEST']._serialized_end=3882 + _globals['_TXACK']._serialized_start=3884 + _globals['_TXACK']._serialized_end=3921 + _globals['_RAWTXACK']._serialized_start=3923 + _globals['_RAWTXACK']._serialized_end=3966 + _globals['_SIGNIDENTITY']._serialized_start=3968 + _globals['_SIGNIDENTITY']._serialized_end=4093 + _globals['_SIGNEDIDENTITY']._serialized_start=4095 + _globals['_SIGNEDIDENTITY']._serialized_end=4167 + _globals['_APPLYPOLICIES']._serialized_start=4169 + _globals['_APPLYPOLICIES']._serialized_end=4213 + _globals['_FLASHHASH']._serialized_start=4215 + _globals['_FLASHHASH']._serialized_end=4278 + _globals['_FLASHWRITE']._serialized_start=4280 + _globals['_FLASHWRITE']._serialized_end=4338 + _globals['_FLASHHASHRESPONSE']._serialized_start=4340 + _globals['_FLASHHASHRESPONSE']._serialized_end=4373 + _globals['_DEBUGLINKFLASHDUMP']._serialized_start=4375 + _globals['_DEBUGLINKFLASHDUMP']._serialized_end=4428 + _globals['_DEBUGLINKFLASHDUMPRESPONSE']._serialized_start=4430 + _globals['_DEBUGLINKFLASHDUMPRESPONSE']._serialized_end=4472 + _globals['_SOFTRESET']._serialized_start=4474 + _globals['_SOFTRESET']._serialized_end=4485 + _globals['_FIRMWAREERASE']._serialized_start=4487 + _globals['_FIRMWAREERASE']._serialized_end=4502 + _globals['_FIRMWAREUPLOAD']._serialized_start=4504 + _globals['_FIRMWAREUPLOAD']._serialized_end=4559 + _globals['_DEBUGLINKDECISION']._serialized_start=4561 + _globals['_DEBUGLINKDECISION']._serialized_end=4596 + _globals['_DEBUGLINKGETSTATE']._serialized_start=4598 + _globals['_DEBUGLINKGETSTATE']._serialized_end=4617 + _globals['_DEBUGLINKSTATE']._serialized_start=4620 + _globals['_DEBUGLINKSTATE']._serialized_end=4963 + _globals['_DEBUGLINKSTOP']._serialized_start=4965 + _globals['_DEBUGLINKSTOP']._serialized_end=4980 + _globals['_DEBUGLINKLOG']._serialized_start=4982 + _globals['_DEBUGLINKLOG']._serialized_end=5041 + _globals['_DEBUGLINKFILLCONFIG']._serialized_start=5043 + _globals['_DEBUGLINKFILLCONFIG']._serialized_end=5064 + _globals['_CHANGEWIPECODE']._serialized_start=5066 + _globals['_CHANGEWIPECODE']._serialized_end=5098 # @@protoc_insertion_point(module_scope) diff --git a/keepkeylib/messages_solana_pb2.py b/keepkeylib/messages_solana_pb2.py new file mode 100644 index 00000000..9004c1f5 --- /dev/null +++ b/keepkeylib/messages_solana_pb2.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: messages-solana.proto +# Protobuf Python Version: 6.33.0 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 6, + 33, + 0, + '', + 'messages-solana.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15messages-solana.proto\"V\n\x10SolanaGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\" \n\rSolanaAddress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"A\n\x0fSolanaTokenInfo\x12\x0c\n\x04mint\x18\x01 \x01(\x0c\x12\x0e\n\x06symbol\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x63imals\x18\x03 \x01(\r\"r\n\x0cSolanaSignTx\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x0e\n\x06raw_tx\x18\x03 \x01(\x0c\x12$\n\ntoken_info\x18\x04 \x03(\x0b\x32\x10.SolanaTokenInfo\"#\n\x0eSolanaSignedTx\x12\x11\n\tsignature\x18\x01 \x01(\x0c\"h\n\x11SolanaSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x14\n\x0cshow_display\x18\x04 \x01(\x08\"?\n\x16SolanaMessageSignature\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x42\x32\n\x1a\x63om.keepkey.deviceprotocolB\x14KeepKeyMessageSolana') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'messages_solana_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\032com.keepkey.deviceprotocolB\024KeepKeyMessageSolana' + _globals['_SOLANAGETADDRESS']._serialized_start=25 + _globals['_SOLANAGETADDRESS']._serialized_end=111 + _globals['_SOLANAADDRESS']._serialized_start=113 + _globals['_SOLANAADDRESS']._serialized_end=145 + _globals['_SOLANATOKENINFO']._serialized_start=147 + _globals['_SOLANATOKENINFO']._serialized_end=212 + _globals['_SOLANASIGNTX']._serialized_start=214 + _globals['_SOLANASIGNTX']._serialized_end=328 + _globals['_SOLANASIGNEDTX']._serialized_start=330 + _globals['_SOLANASIGNEDTX']._serialized_end=365 + _globals['_SOLANASIGNMESSAGE']._serialized_start=367 + _globals['_SOLANASIGNMESSAGE']._serialized_end=471 + _globals['_SOLANAMESSAGESIGNATURE']._serialized_start=473 + _globals['_SOLANAMESSAGESIGNATURE']._serialized_end=536 +# @@protoc_insertion_point(module_scope) diff --git a/tests/test_msg_solana_signtx.py b/tests/test_msg_solana_signtx.py index c21bce49..e333e949 100644 --- a/tests/test_msg_solana_signtx.py +++ b/tests/test_msg_solana_signtx.py @@ -12,7 +12,7 @@ import binascii import struct -from keepkeylib import messages_pb2 as messages +from keepkeylib import messages_solana_pb2 as messages from keepkeylib import types_pb2 as types from keepkeylib.client import CallException from keepkeylib.tools import parse_path From 0563e7ef92b54e9233f17d671c2f281bea5dd95f Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 19:38:24 -0600 Subject: [PATCH 5/9] chore(solana): pin vendored protocol branch --- device-protocol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-protocol b/device-protocol index 22ca1d98..09e88a95 160000 --- a/device-protocol +++ b/device-protocol @@ -1 +1 @@ -Subproject commit 22ca1d983c3f513f338e2a0ba997427659646523 +Subproject commit 09e88a9529196ff0e7346d72c57d97022d2785af From 0cca2d8282302e45160f8ed1b93781fbe40c3a61 Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 20:03:58 -0600 Subject: [PATCH 6/9] fix(ci): use legacy-compatible Solana protobuf bindings --- keepkeylib/messages_pb2.py | 4935 ++++++++++++++++++++++++--- keepkeylib/messages_solana_pb2.py | 408 ++- tests/test_msg_solana_getaddress.py | 161 + tests/test_msg_solana_signtx.py | 31 - 4 files changed, 5008 insertions(+), 527 deletions(-) create mode 100644 tests/test_msg_solana_getaddress.py diff --git a/keepkeylib/messages_pb2.py b/keepkeylib/messages_pb2.py index fdd1dbdd..4830cfe4 100644 --- a/keepkeylib/messages_pb2.py +++ b/keepkeylib/messages_pb2.py @@ -1,22 +1,14 @@ -# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: messages.proto -# Protobuf Python Version: 6.33.0 -"""Generated protocol buffer code.""" + +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 descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version +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.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 0, - '', - 'messages.proto' -) +from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -25,448 +17,4473 @@ from . import types_pb2 as types__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0emessages.proto\x1a\x0btypes.proto\"\x0c\n\nInitialize\"\r\n\x0bGetFeatures\"\xaa\x04\n\x08\x46\x65\x61tures\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x15\n\rmajor_version\x18\x02 \x01(\r\x12\x15\n\rminor_version\x18\x03 \x01(\r\x12\x15\n\rpatch_version\x18\x04 \x01(\r\x12\x17\n\x0f\x62ootloader_mode\x18\x05 \x01(\x08\x12\x11\n\tdevice_id\x18\x06 \x01(\t\x12\x16\n\x0epin_protection\x18\x07 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x08 \x01(\x08\x12\x10\n\x08language\x18\t \x01(\t\x12\r\n\x05label\x18\n \x01(\t\x12\x18\n\x05\x63oins\x18\x0b \x03(\x0b\x32\t.CoinType\x12\x13\n\x0binitialized\x18\x0c \x01(\x08\x12\x10\n\x08revision\x18\r \x01(\x0c\x12\x17\n\x0f\x62ootloader_hash\x18\x0e \x01(\x0c\x12\x10\n\x08imported\x18\x0f \x01(\x08\x12\x12\n\npin_cached\x18\x10 \x01(\x08\x12\x19\n\x11passphrase_cached\x18\x11 \x01(\x08\x12\x1d\n\x08policies\x18\x12 \x03(\x0b\x32\x0b.PolicyType\x12\r\n\x05model\x18\x15 \x01(\t\x12\x18\n\x10\x66irmware_variant\x18\x16 \x01(\t\x12\x15\n\rfirmware_hash\x18\x17 \x01(\x0c\x12\x11\n\tno_backup\x18\x18 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x19 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x1a \x01(\r\"*\n\x0cGetCoinTable\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"L\n\tCoinTable\x12\x18\n\x05table\x18\x01 \x03(\x0b\x32\t.CoinType\x12\x11\n\tnum_coins\x18\x02 \x01(\r\x12\x12\n\nchunk_size\x18\x03 \x01(\r\"\x0e\n\x0c\x43learSession\"y\n\rApplySettings\x12\x10\n\x08language\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x16\n\x0euse_passphrase\x18\x03 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x04 \x01(\r\x12\x13\n\x0bu2f_counter\x18\x05 \x01(\r\"\x1b\n\tChangePin\x12\x0e\n\x06remove\x18\x01 \x01(\x08\"\x87\x01\n\x04Ping\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x19\n\x11\x62utton_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x05 \x01(\x08\"\x1a\n\x07Success\x12\x0f\n\x07message\x18\x01 \x01(\t\"6\n\x07\x46\x61ilure\x12\x1a\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x0c.FailureType\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\rButtonRequest\x12 \n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.ButtonRequestType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\x0b\n\tButtonAck\"7\n\x10PinMatrixRequest\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.PinMatrixRequestType\"\x1b\n\x0cPinMatrixAck\x12\x0b\n\x03pin\x18\x01 \x02(\t\"\x08\n\x06\x43\x61ncel\"\x13\n\x11PassphraseRequest\"#\n\rPassphraseAck\x12\x12\n\npassphrase\x18\x01 \x02(\t\"\x1a\n\nGetEntropy\x12\x0c\n\x04size\x18\x01 \x02(\r\"\x1a\n\x07\x45ntropy\x12\x0f\n\x07\x65ntropy\x18\x01 \x02(\x0c\"\xa2\x01\n\x0cGetPublicKey\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x02 \x01(\t\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"4\n\tPublicKey\x12\x19\n\x04node\x18\x01 \x02(\x0b\x32\x0b.HDNodeType\x12\x0c\n\x04xpub\x18\x02 \x01(\t\"\xb3\x01\n\nGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x1a\n\tcoin_name\x18\x02 \x01(\t:\x07\x42itcoin\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12+\n\x08multisig\x18\x04 \x01(\x0b\x32\x19.MultisigRedeemScriptType\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"\x1a\n\x07\x41\x64\x64ress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x02(\t\"\x0c\n\nWipeDevice\"\xbb\x01\n\nLoadDevice\x12\x10\n\x08mnemonic\x18\x01 \x01(\t\x12\x19\n\x04node\x18\x02 \x01(\x0b\x32\x0b.HDNodeType\x12\x0b\n\x03pin\x18\x03 \x01(\t\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x15\n\rskip_checksum\x18\x07 \x01(\x08\x12\x13\n\x0bu2f_counter\x18\x08 \x01(\r\"\xe1\x01\n\x0bResetDevice\x12\x16\n\x0e\x64isplay_random\x18\x01 \x01(\x08\x12\x15\n\x08strength\x18\x02 \x01(\r:\x03\x32\x35\x36\x12\x1d\n\x15passphrase_protection\x18\x03 \x01(\x08\x12\x16\n\x0epin_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x11\n\tno_backup\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\"\x10\n\x0e\x45ntropyRequest\"\x1d\n\nEntropyAck\x12\x0f\n\x07\x65ntropy\x18\x01 \x01(\x0c\"\xff\x01\n\x0eRecoveryDevice\x12\x12\n\nword_count\x18\x01 \x01(\r\x12\x1d\n\x15passphrase_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x19\n\x08language\x18\x04 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x05 \x01(\t\x12\x18\n\x10\x65nforce_wordlist\x18\x06 \x01(\x08\x12\x1c\n\x14use_character_cipher\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\x12\x0f\n\x07\x64ry_run\x18\n \x01(\x08\"\r\n\x0bWordRequest\"\x17\n\x07WordAck\x12\x0c\n\x04word\x18\x01 \x02(\t\";\n\x10\x43haracterRequest\x12\x10\n\x08word_pos\x18\x01 \x02(\r\x12\x15\n\rcharacter_pos\x18\x02 \x02(\r\"?\n\x0c\x43haracterAck\x12\x11\n\tcharacter\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65lete\x18\x02 \x01(\x08\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\"\x82\x01\n\x0bSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0f\n\x07message\x18\x02 \x02(\x0c\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x04 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"`\n\rVerifyMessage\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\"6\n\x10MessageSignature\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\"v\n\x0e\x45ncryptMessage\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64isplay_only\x18\x03 \x01(\x08\x12\x11\n\taddress_n\x18\x04 \x03(\r\x12\x1a\n\tcoin_name\x18\x05 \x01(\t:\x07\x42itcoin\"@\n\x10\x45ncryptedMessage\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x0c\n\x04hmac\x18\x03 \x01(\x0c\"Q\n\x0e\x44\x65\x63ryptMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x0c\n\x04hmac\x18\x04 \x01(\x0c\"4\n\x10\x44\x65\x63ryptedMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x8c\x01\n\x0e\x43ipherKeyValue\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x0c\x12\x0f\n\x07\x65ncrypt\x18\x04 \x01(\x08\x12\x16\n\x0e\x61sk_on_encrypt\x18\x05 \x01(\x08\x12\x16\n\x0e\x61sk_on_decrypt\x18\x06 \x01(\x08\x12\n\n\x02iv\x18\x07 \x01(\x0c\"!\n\x10\x43ipheredKeyValue\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xce\x01\n\x06SignTx\x12\x15\n\routputs_count\x18\x01 \x02(\r\x12\x14\n\x0cinputs_count\x18\x02 \x02(\r\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x12\n\x07version\x18\x04 \x01(\r:\x01\x31\x12\x14\n\tlock_time\x18\x05 \x01(\r:\x01\x30\x12\x0e\n\x06\x65xpiry\x18\x06 \x01(\r\x12\x14\n\x0coverwintered\x18\x07 \x01(\x08\x12\x18\n\x10version_group_id\x18\x08 \x01(\r\x12\x11\n\tbranch_id\x18\n \x01(\r\"\x85\x01\n\tTxRequest\x12\"\n\x0crequest_type\x18\x01 \x01(\x0e\x32\x0c.RequestType\x12&\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x15.TxRequestDetailsType\x12,\n\nserialized\x18\x03 \x01(\x0b\x32\x18.TxRequestSerializedType\"%\n\x05TxAck\x12\x1c\n\x02tx\x18\x01 \x01(\x0b\x32\x10.TransactionType\"+\n\x08RawTxAck\x12\x1f\n\x02tx\x18\x01 \x01(\x0b\x32\x13.RawTransactionType\"}\n\x0cSignIdentity\x12\x1f\n\x08identity\x18\x01 \x01(\x0b\x32\r.IdentityType\x12\x18\n\x10\x63hallenge_hidden\x18\x02 \x01(\x0c\x12\x18\n\x10\x63hallenge_visual\x18\x03 \x01(\t\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x04 \x01(\t\"H\n\x0eSignedIdentity\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x12\n\npublic_key\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\",\n\rApplyPolicies\x12\x1b\n\x06policy\x18\x01 \x03(\x0b\x32\x0b.PolicyType\"?\n\tFlashHash\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x11\n\tchallenge\x18\x03 \x01(\x0c\":\n\nFlashWrite\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x65rase\x18\x03 \x01(\x08\"!\n\x11\x46lashHashResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"5\n\x12\x44\x65\x62ugLinkFlashDump\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\"*\n\x1a\x44\x65\x62ugLinkFlashDumpResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x0b\n\tSoftReset\"\x0f\n\rFirmwareErase\"7\n\x0e\x46irmwareUpload\x12\x14\n\x0cpayload_hash\x18\x01 \x02(\x0c\x12\x0f\n\x07payload\x18\x02 \x02(\x0c\"#\n\x11\x44\x65\x62ugLinkDecision\x12\x0e\n\x06yes_no\x18\x01 \x02(\x08\"\x13\n\x11\x44\x65\x62ugLinkGetState\"\xd7\x02\n\x0e\x44\x65\x62ugLinkState\x12\x0e\n\x06layout\x18\x01 \x01(\x0c\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x0e\n\x06matrix\x18\x03 \x01(\t\x12\x10\n\x08mnemonic\x18\x04 \x01(\t\x12\x19\n\x04node\x18\x05 \x01(\x0b\x32\x0b.HDNodeType\x12\x1d\n\x15passphrase_protection\x18\x06 \x01(\x08\x12\x12\n\nreset_word\x18\x07 \x01(\t\x12\x15\n\rreset_entropy\x18\x08 \x01(\x0c\x12\x1a\n\x12recovery_fake_word\x18\t \x01(\t\x12\x19\n\x11recovery_word_pos\x18\n \x01(\r\x12\x17\n\x0frecovery_cipher\x18\x0b \x01(\t\x12$\n\x1crecovery_auto_completed_word\x18\x0c \x01(\t\x12\x15\n\rfirmware_hash\x18\r \x01(\x0c\x12\x14\n\x0cstorage_hash\x18\x0e \x01(\x0c\"\x0f\n\rDebugLinkStop\";\n\x0c\x44\x65\x62ugLinkLog\x12\r\n\x05level\x18\x01 \x01(\r\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\"\x15\n\x13\x44\x65\x62ugLinkFillConfig\" \n\x0e\x43hangeWipeCode\x12\x0e\n\x06remove\x18\x01 \x01(\x08*\xbe.\n\x0bMessageType\x12 \n\x16MessageType_Initialize\x10\x00\x1a\x04\x90\xb5\x18\x01\x12\x1a\n\x10MessageType_Ping\x10\x01\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Success\x10\x02\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_Failure\x10\x03\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ChangePin\x10\x04\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_WipeDevice\x10\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_FirmwareErase\x10\x06\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_FirmwareUpload\x10\x07\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetEntropy\x10\t\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Entropy\x10\n\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_GetPublicKey\x10\x0b\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_PublicKey\x10\x0c\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_LoadDevice\x10\r\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_ResetDevice\x10\x0e\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_SignTx\x10\x0f\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_Features\x10\x11\x1a\x04\x98\xb5\x18\x01\x12&\n\x1cMessageType_PinMatrixRequest\x10\x12\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_PinMatrixAck\x10\x13\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_Cancel\x10\x14\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_TxRequest\x10\x15\x1a\x04\x98\xb5\x18\x01\x12\x1b\n\x11MessageType_TxAck\x10\x16\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_CipherKeyValue\x10\x17\x1a\x04\x90\xb5\x18\x01\x12\"\n\x18MessageType_ClearSession\x10\x18\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplySettings\x10\x19\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ButtonRequest\x10\x1a\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ButtonAck\x10\x1b\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetAddress\x10\x1d\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Address\x10\x1e\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EntropyRequest\x10#\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_EntropyAck\x10$\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_SignMessage\x10&\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_VerifyMessage\x10\'\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_MessageSignature\x10(\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1dMessageType_PassphraseRequest\x10)\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_PassphraseAck\x10*\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_RecoveryDevice\x10-\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_WordRequest\x10.\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_WordAck\x10/\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CipheredKeyValue\x10\x30\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EncryptMessage\x10\x31\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_EncryptedMessage\x10\x32\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_DecryptMessage\x10\x33\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_DecryptedMessage\x10\x34\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_SignIdentity\x10\x35\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_SignedIdentity\x10\x36\x1a\x04\x98\xb5\x18\x01\x12!\n\x17MessageType_GetFeatures\x10\x37\x1a\x04\x90\xb5\x18\x01\x12(\n\x1eMessageType_EthereumGetAddress\x10\x38\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x10\x39\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignTx\x10:\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_EthereumTxRequest\x10;\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_EthereumTxAck\x10<\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CharacterRequest\x10P\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_CharacterAck\x10Q\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_RawTxAck\x10R\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplyPolicies\x10S\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_FlashHash\x10T\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_FlashWrite\x10U\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_FlashHashResponse\x10V\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_DebugLinkFlashDump\x10W\x1a\x04\xa0\xb5\x18\x01\x12\x30\n&MessageType_DebugLinkFlashDumpResponse\x10X\x1a\x04\xa8\xb5\x18\x01\x12\x1f\n\x15MessageType_SoftReset\x10Y\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkDecision\x10\x64\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkGetState\x10\x65\x1a\x04\xa0\xb5\x18\x01\x12$\n\x1aMessageType_DebugLinkState\x10\x66\x1a\x04\xa8\xb5\x18\x01\x12#\n\x19MessageType_DebugLinkStop\x10g\x1a\x04\xa0\xb5\x18\x01\x12\"\n\x18MessageType_DebugLinkLog\x10h\x1a\x04\xa8\xb5\x18\x01\x12)\n\x1fMessageType_DebugLinkFillConfig\x10i\x1a\x04\xa8\xb5\x18\x01\x12\"\n\x18MessageType_GetCoinTable\x10j\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_CoinTable\x10k\x1a\x04\x98\xb5\x18\x01\x12)\n\x1fMessageType_EthereumSignMessage\x10l\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumVerifyMessage\x10m\x1a\x04\x90\xb5\x18\x01\x12.\n$MessageType_EthereumMessageSignature\x10n\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_ChangeWipeCode\x10o\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumSignTypedHash\x10p\x1a\x04\x90\xb5\x18\x01\x12\x30\n&MessageType_EthereumTypedDataSignature\x10q\x1a\x04\x98\xb5\x18\x01\x12,\n\"MessageType_Ethereum712TypesValues\x10r\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainGetAddress\x10\xf4\x03\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_ThorchainAddress\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainSignTx\x10\xf6\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainMsgRequest\x10\xf7\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainMsgAck\x10\xf8\x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_ThorchainSignedTx\x10\xf9\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12 \n\x15MessageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_NanoGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_NanoAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12!\n\x16MessageType_NanoSignTx\x10\xbe\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_NanoSignedTx\x10\xbf\x05\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_SolanaGetAddress\x10\xee\x05\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddress\x10\xef\x05\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSignTx\x10\xf0\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_SolanaSignedTx\x10\xf1\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_SolanaSignMessage\x10\xf2\x05\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_SolanaMessageSignature\x10\xf3\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_BinanceGetAddress\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_BinanceAddress\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_BinanceGetPublicKey\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinancePublicKey\x10\xa3\x06\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xa4\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceTxRequest\x10\xa5\x06\x1a\x04\x98\xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xa6\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xa7\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceCancelMsg\x10\xa8\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\xa9\x06\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosGetAddress\x10\x84\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_CosmosAddress\x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosSignTx\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRequest\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosMsgAck\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CosmosSignedTx\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CosmosMsgDelegate\x10\x8a\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgUndelegate\x10\x8b\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgRedelegate\x10\x8c\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRewards\x10\x8d\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_CosmosMsgIBCTransfer\x10\x8e\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintGetAddress\x10\xe8\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintAddress\x10\xe9\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintSignTx\x10\xea\x07\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_TendermintMsgRequest\x10\xeb\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintMsgAck\x10\xec\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintMsgSend\x10\xed\x07\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_TendermintSignedTx\x10\xee\x07\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_TendermintMsgDelegate\x10\xef\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgUndelegate\x10\xf0\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgRedelegate\x10\xf1\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintMsgRewards\x10\xf2\x07\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_TendermintMsgIBCTransfer\x10\xf3\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisGetAddress\x10\xcc\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisAddress\x10\xcd\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisSignTx\x10\xce\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRequest\x10\xcf\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisMsgAck\x10\xd0\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSend\x10\xd1\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgDelegate\x10\xd2\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgUndelegate\x10\xd3\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgRedelegate\x10\xd4\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRewards\x10\xd5\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisMsgLPAdd\x10\xd6\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgLPRemove\x10\xd7\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgLPStake\x10\xd8\x08\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_OsmosisMsgLPUnstake\x10\xd9\x08\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_OsmosisMsgIBCTransfer\x10\xda\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSwap\x10\xdb\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisSignedTx\x10\xdc\x08\x1a\x04\x98\xb5\x18\x01\x42,\n\x1a\x63om.keepkey.deviceprotocolB\x0eKeepKeyMessage') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'messages_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.keepkey.deviceprotocolB\016KeepKeyMessage' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Initialize"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Initialize"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Ping"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Ping"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Success"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Success"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Failure"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Failure"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangePin"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangePin"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_WipeDevice"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_WipeDevice"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareErase"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareErase"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareUpload"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_FirmwareUpload"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetEntropy"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetEntropy"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Entropy"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Entropy"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetPublicKey"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetPublicKey"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_PublicKey"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_PublicKey"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_LoadDevice"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_LoadDevice"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ResetDevice"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ResetDevice"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Features"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Features"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_PinMatrixAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Cancel"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Cancel"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TxRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TxRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TxAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TxAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CipherKeyValue"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CipherKeyValue"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ClearSession"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ClearSession"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplySettings"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplySettings"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ButtonAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Address"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Address"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EntropyAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_VerifyMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_VerifyMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_MessageSignature"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_MessageSignature"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_PassphraseAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_RecoveryDevice"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_RecoveryDevice"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_WordRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_WordRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_WordAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_WordAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CipheredKeyValue"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CipheredKeyValue"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptedMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EncryptedMessage"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptedMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DecryptedMessage"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignIdentity"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignIdentity"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignedIdentity"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SignedIdentity"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetFeatures"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetFeatures"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTxAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CharacterAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_RawTxAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_RawTxAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplyPolicies"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ApplyPolicies"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHash"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHash"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashWrite"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashWrite"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHashResponse"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_FlashHashResponse"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDump"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDump"]._serialized_options = b'\240\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDumpResponse"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFlashDumpResponse"]._serialized_options = b'\250\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SoftReset"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SoftReset"]._serialized_options = b'\240\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkDecision"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkDecision"]._serialized_options = b'\240\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkGetState"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkGetState"]._serialized_options = b'\240\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkState"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkState"]._serialized_options = b'\250\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkStop"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkStop"]._serialized_options = b'\240\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkLog"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkLog"]._serialized_options = b'\250\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFillConfig"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_DebugLinkFillConfig"]._serialized_options = b'\250\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetCoinTable"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_GetCoinTable"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CoinTable"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CoinTable"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumVerifyMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumVerifyMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumMessageSignature"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumMessageSignature"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangeWipeCode"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ChangeWipeCode"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTypedHash"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumSignTypedHash"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTypedDataSignature"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EthereumTypedDataSignature"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_Ethereum712TypesValues"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_Ethereum712TypesValues"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_RippleSignedTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainMsgAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_ThorchainSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosGetPublicKey"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosGetPublicKey"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosPublicKey"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosPublicKey"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosTxActionAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_EosSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_NanoSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignMessage"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaSignMessage"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaMessageSignature"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_SolanaMessageSignature"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetPublicKey"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceGetPublicKey"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinancePublicKey"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinancePublicKey"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTxRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTxRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTransferMsg"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceTransferMsg"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceOrderMsg"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceOrderMsg"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceCancelMsg"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceCancelMsg"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_BinanceSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgDelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgDelegate"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgUndelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgUndelegate"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRedelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRedelegate"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRewards"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgRewards"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgIBCTransfer"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_CosmosMsgIBCTransfer"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgSend"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgSend"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgDelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgDelegate"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgUndelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgUndelegate"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRedelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRedelegate"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRewards"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgRewards"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgIBCTransfer"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_TendermintMsgIBCTransfer"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisGetAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisGetAddress"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisAddress"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisAddress"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignTx"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRequest"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRequest"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgAck"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgAck"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSend"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSend"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgDelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgDelegate"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgUndelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgUndelegate"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRedelegate"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRedelegate"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRewards"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgRewards"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPAdd"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPAdd"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPRemove"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPRemove"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPStake"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPStake"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPUnstake"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgLPUnstake"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgIBCTransfer"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgIBCTransfer"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSwap"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisMsgSwap"]._serialized_options = b'\220\265\030\001' - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignedTx"]._loaded_options = None - _globals['_MESSAGETYPE'].values_by_name["MessageType_OsmosisSignedTx"]._serialized_options = b'\230\265\030\001' - _globals['_MESSAGETYPE']._serialized_start=5101 - _globals['_MESSAGETYPE']._serialized_end=11051 - _globals['_INITIALIZE']._serialized_start=31 - _globals['_INITIALIZE']._serialized_end=43 - _globals['_GETFEATURES']._serialized_start=45 - _globals['_GETFEATURES']._serialized_end=58 - _globals['_FEATURES']._serialized_start=61 - _globals['_FEATURES']._serialized_end=615 - _globals['_GETCOINTABLE']._serialized_start=617 - _globals['_GETCOINTABLE']._serialized_end=659 - _globals['_COINTABLE']._serialized_start=661 - _globals['_COINTABLE']._serialized_end=737 - _globals['_CLEARSESSION']._serialized_start=739 - _globals['_CLEARSESSION']._serialized_end=753 - _globals['_APPLYSETTINGS']._serialized_start=755 - _globals['_APPLYSETTINGS']._serialized_end=876 - _globals['_CHANGEPIN']._serialized_start=878 - _globals['_CHANGEPIN']._serialized_end=905 - _globals['_PING']._serialized_start=908 - _globals['_PING']._serialized_end=1043 - _globals['_SUCCESS']._serialized_start=1045 - _globals['_SUCCESS']._serialized_end=1071 - _globals['_FAILURE']._serialized_start=1073 - _globals['_FAILURE']._serialized_end=1127 - _globals['_BUTTONREQUEST']._serialized_start=1129 - _globals['_BUTTONREQUEST']._serialized_end=1192 - _globals['_BUTTONACK']._serialized_start=1194 - _globals['_BUTTONACK']._serialized_end=1205 - _globals['_PINMATRIXREQUEST']._serialized_start=1207 - _globals['_PINMATRIXREQUEST']._serialized_end=1262 - _globals['_PINMATRIXACK']._serialized_start=1264 - _globals['_PINMATRIXACK']._serialized_end=1291 - _globals['_CANCEL']._serialized_start=1293 - _globals['_CANCEL']._serialized_end=1301 - _globals['_PASSPHRASEREQUEST']._serialized_start=1303 - _globals['_PASSPHRASEREQUEST']._serialized_end=1322 - _globals['_PASSPHRASEACK']._serialized_start=1324 - _globals['_PASSPHRASEACK']._serialized_end=1359 - _globals['_GETENTROPY']._serialized_start=1361 - _globals['_GETENTROPY']._serialized_end=1387 - _globals['_ENTROPY']._serialized_start=1389 - _globals['_ENTROPY']._serialized_end=1415 - _globals['_GETPUBLICKEY']._serialized_start=1418 - _globals['_GETPUBLICKEY']._serialized_end=1580 - _globals['_PUBLICKEY']._serialized_start=1582 - _globals['_PUBLICKEY']._serialized_end=1634 - _globals['_GETADDRESS']._serialized_start=1637 - _globals['_GETADDRESS']._serialized_end=1816 - _globals['_ADDRESS']._serialized_start=1818 - _globals['_ADDRESS']._serialized_end=1844 - _globals['_WIPEDEVICE']._serialized_start=1846 - _globals['_WIPEDEVICE']._serialized_end=1858 - _globals['_LOADDEVICE']._serialized_start=1861 - _globals['_LOADDEVICE']._serialized_end=2048 - _globals['_RESETDEVICE']._serialized_start=2051 - _globals['_RESETDEVICE']._serialized_end=2276 - _globals['_ENTROPYREQUEST']._serialized_start=2278 - _globals['_ENTROPYREQUEST']._serialized_end=2294 - _globals['_ENTROPYACK']._serialized_start=2296 - _globals['_ENTROPYACK']._serialized_end=2325 - _globals['_RECOVERYDEVICE']._serialized_start=2328 - _globals['_RECOVERYDEVICE']._serialized_end=2583 - _globals['_WORDREQUEST']._serialized_start=2585 - _globals['_WORDREQUEST']._serialized_end=2598 - _globals['_WORDACK']._serialized_start=2600 - _globals['_WORDACK']._serialized_end=2623 - _globals['_CHARACTERREQUEST']._serialized_start=2625 - _globals['_CHARACTERREQUEST']._serialized_end=2684 - _globals['_CHARACTERACK']._serialized_start=2686 - _globals['_CHARACTERACK']._serialized_end=2749 - _globals['_SIGNMESSAGE']._serialized_start=2752 - _globals['_SIGNMESSAGE']._serialized_end=2882 - _globals['_VERIFYMESSAGE']._serialized_start=2884 - _globals['_VERIFYMESSAGE']._serialized_end=2980 - _globals['_MESSAGESIGNATURE']._serialized_start=2982 - _globals['_MESSAGESIGNATURE']._serialized_end=3036 - _globals['_ENCRYPTMESSAGE']._serialized_start=3038 - _globals['_ENCRYPTMESSAGE']._serialized_end=3156 - _globals['_ENCRYPTEDMESSAGE']._serialized_start=3158 - _globals['_ENCRYPTEDMESSAGE']._serialized_end=3222 - _globals['_DECRYPTMESSAGE']._serialized_start=3224 - _globals['_DECRYPTMESSAGE']._serialized_end=3305 - _globals['_DECRYPTEDMESSAGE']._serialized_start=3307 - _globals['_DECRYPTEDMESSAGE']._serialized_end=3359 - _globals['_CIPHERKEYVALUE']._serialized_start=3362 - _globals['_CIPHERKEYVALUE']._serialized_end=3502 - _globals['_CIPHEREDKEYVALUE']._serialized_start=3504 - _globals['_CIPHEREDKEYVALUE']._serialized_end=3537 - _globals['_SIGNTX']._serialized_start=3540 - _globals['_SIGNTX']._serialized_end=3746 - _globals['_TXREQUEST']._serialized_start=3749 - _globals['_TXREQUEST']._serialized_end=3882 - _globals['_TXACK']._serialized_start=3884 - _globals['_TXACK']._serialized_end=3921 - _globals['_RAWTXACK']._serialized_start=3923 - _globals['_RAWTXACK']._serialized_end=3966 - _globals['_SIGNIDENTITY']._serialized_start=3968 - _globals['_SIGNIDENTITY']._serialized_end=4093 - _globals['_SIGNEDIDENTITY']._serialized_start=4095 - _globals['_SIGNEDIDENTITY']._serialized_end=4167 - _globals['_APPLYPOLICIES']._serialized_start=4169 - _globals['_APPLYPOLICIES']._serialized_end=4213 - _globals['_FLASHHASH']._serialized_start=4215 - _globals['_FLASHHASH']._serialized_end=4278 - _globals['_FLASHWRITE']._serialized_start=4280 - _globals['_FLASHWRITE']._serialized_end=4338 - _globals['_FLASHHASHRESPONSE']._serialized_start=4340 - _globals['_FLASHHASHRESPONSE']._serialized_end=4373 - _globals['_DEBUGLINKFLASHDUMP']._serialized_start=4375 - _globals['_DEBUGLINKFLASHDUMP']._serialized_end=4428 - _globals['_DEBUGLINKFLASHDUMPRESPONSE']._serialized_start=4430 - _globals['_DEBUGLINKFLASHDUMPRESPONSE']._serialized_end=4472 - _globals['_SOFTRESET']._serialized_start=4474 - _globals['_SOFTRESET']._serialized_end=4485 - _globals['_FIRMWAREERASE']._serialized_start=4487 - _globals['_FIRMWAREERASE']._serialized_end=4502 - _globals['_FIRMWAREUPLOAD']._serialized_start=4504 - _globals['_FIRMWAREUPLOAD']._serialized_end=4559 - _globals['_DEBUGLINKDECISION']._serialized_start=4561 - _globals['_DEBUGLINKDECISION']._serialized_end=4596 - _globals['_DEBUGLINKGETSTATE']._serialized_start=4598 - _globals['_DEBUGLINKGETSTATE']._serialized_end=4617 - _globals['_DEBUGLINKSTATE']._serialized_start=4620 - _globals['_DEBUGLINKSTATE']._serialized_end=4963 - _globals['_DEBUGLINKSTOP']._serialized_start=4965 - _globals['_DEBUGLINKSTOP']._serialized_end=4980 - _globals['_DEBUGLINKLOG']._serialized_start=4982 - _globals['_DEBUGLINKLOG']._serialized_end=5041 - _globals['_DEBUGLINKFILLCONFIG']._serialized_start=5043 - _globals['_DEBUGLINKFILLCONFIG']._serialized_end=5064 - _globals['_CHANGEWIPECODE']._serialized_start=5066 - _globals['_CHANGEWIPECODE']._serialized_end=5098 +DESCRIPTOR = _descriptor.FileDescriptor( + name='messages.proto', + package='', + syntax='proto2', + serialized_pb=_b('\n\x0emessages.proto\x1a\x0btypes.proto\"\x0c\n\nInitialize\"\r\n\x0bGetFeatures\"\xaa\x04\n\x08\x46\x65\x61tures\x12\x0e\n\x06vendor\x18\x01 \x01(\t\x12\x15\n\rmajor_version\x18\x02 \x01(\r\x12\x15\n\rminor_version\x18\x03 \x01(\r\x12\x15\n\rpatch_version\x18\x04 \x01(\r\x12\x17\n\x0f\x62ootloader_mode\x18\x05 \x01(\x08\x12\x11\n\tdevice_id\x18\x06 \x01(\t\x12\x16\n\x0epin_protection\x18\x07 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x08 \x01(\x08\x12\x10\n\x08language\x18\t \x01(\t\x12\r\n\x05label\x18\n \x01(\t\x12\x18\n\x05\x63oins\x18\x0b \x03(\x0b\x32\t.CoinType\x12\x13\n\x0binitialized\x18\x0c \x01(\x08\x12\x10\n\x08revision\x18\r \x01(\x0c\x12\x17\n\x0f\x62ootloader_hash\x18\x0e \x01(\x0c\x12\x10\n\x08imported\x18\x0f \x01(\x08\x12\x12\n\npin_cached\x18\x10 \x01(\x08\x12\x19\n\x11passphrase_cached\x18\x11 \x01(\x08\x12\x1d\n\x08policies\x18\x12 \x03(\x0b\x32\x0b.PolicyType\x12\r\n\x05model\x18\x15 \x01(\t\x12\x18\n\x10\x66irmware_variant\x18\x16 \x01(\t\x12\x15\n\rfirmware_hash\x18\x17 \x01(\x0c\x12\x11\n\tno_backup\x18\x18 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x19 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x1a \x01(\r\"*\n\x0cGetCoinTable\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"L\n\tCoinTable\x12\x18\n\x05table\x18\x01 \x03(\x0b\x32\t.CoinType\x12\x11\n\tnum_coins\x18\x02 \x01(\r\x12\x12\n\nchunk_size\x18\x03 \x01(\r\"\x0e\n\x0c\x43learSession\"y\n\rApplySettings\x12\x10\n\x08language\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x16\n\x0euse_passphrase\x18\x03 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x04 \x01(\r\x12\x13\n\x0bu2f_counter\x18\x05 \x01(\r\"\x1b\n\tChangePin\x12\x0e\n\x06remove\x18\x01 \x01(\x08\"\x87\x01\n\x04Ping\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x19\n\x11\x62utton_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x1c\n\x14wipe_code_protection\x18\x05 \x01(\x08\"\x1a\n\x07Success\x12\x0f\n\x07message\x18\x01 \x01(\t\"6\n\x07\x46\x61ilure\x12\x1a\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x0c.FailureType\x12\x0f\n\x07message\x18\x02 \x01(\t\"?\n\rButtonRequest\x12 \n\x04\x63ode\x18\x01 \x01(\x0e\x32\x12.ButtonRequestType\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\x0b\n\tButtonAck\"7\n\x10PinMatrixRequest\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.PinMatrixRequestType\"\x1b\n\x0cPinMatrixAck\x12\x0b\n\x03pin\x18\x01 \x02(\t\"\x08\n\x06\x43\x61ncel\"\x13\n\x11PassphraseRequest\"#\n\rPassphraseAck\x12\x12\n\npassphrase\x18\x01 \x02(\t\"\x1a\n\nGetEntropy\x12\x0c\n\x04size\x18\x01 \x02(\r\"\x1a\n\x07\x45ntropy\x12\x0f\n\x07\x65ntropy\x18\x01 \x02(\x0c\"\xa2\x01\n\x0cGetPublicKey\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x02 \x01(\t\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"4\n\tPublicKey\x12\x19\n\x04node\x18\x01 \x02(\x0b\x32\x0b.HDNodeType\x12\x0c\n\x04xpub\x18\x02 \x01(\t\"\xb3\x01\n\nGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x1a\n\tcoin_name\x18\x02 \x01(\t:\x07\x42itcoin\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\x12+\n\x08multisig\x18\x04 \x01(\x0b\x32\x19.MultisigRedeemScriptType\x12\x33\n\x0bscript_type\x18\x05 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"\x1a\n\x07\x41\x64\x64ress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x02(\t\"\x0c\n\nWipeDevice\"\xbb\x01\n\nLoadDevice\x12\x10\n\x08mnemonic\x18\x01 \x01(\t\x12\x19\n\x04node\x18\x02 \x01(\x0b\x32\x0b.HDNodeType\x12\x0b\n\x03pin\x18\x03 \x01(\t\x12\x1d\n\x15passphrase_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x15\n\rskip_checksum\x18\x07 \x01(\x08\x12\x13\n\x0bu2f_counter\x18\x08 \x01(\r\"\xe1\x01\n\x0bResetDevice\x12\x16\n\x0e\x64isplay_random\x18\x01 \x01(\x08\x12\x15\n\x08strength\x18\x02 \x01(\r:\x03\x32\x35\x36\x12\x1d\n\x15passphrase_protection\x18\x03 \x01(\x08\x12\x16\n\x0epin_protection\x18\x04 \x01(\x08\x12\x19\n\x08language\x18\x05 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x06 \x01(\t\x12\x11\n\tno_backup\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\"\x10\n\x0e\x45ntropyRequest\"\x1d\n\nEntropyAck\x12\x0f\n\x07\x65ntropy\x18\x01 \x01(\x0c\"\xff\x01\n\x0eRecoveryDevice\x12\x12\n\nword_count\x18\x01 \x01(\r\x12\x1d\n\x15passphrase_protection\x18\x02 \x01(\x08\x12\x16\n\x0epin_protection\x18\x03 \x01(\x08\x12\x19\n\x08language\x18\x04 \x01(\t:\x07\x65nglish\x12\r\n\x05label\x18\x05 \x01(\t\x12\x18\n\x10\x65nforce_wordlist\x18\x06 \x01(\x08\x12\x1c\n\x14use_character_cipher\x18\x07 \x01(\x08\x12\x1a\n\x12\x61uto_lock_delay_ms\x18\x08 \x01(\r\x12\x13\n\x0bu2f_counter\x18\t \x01(\r\x12\x0f\n\x07\x64ry_run\x18\n \x01(\x08\"\r\n\x0bWordRequest\"\x17\n\x07WordAck\x12\x0c\n\x04word\x18\x01 \x02(\t\";\n\x10\x43haracterRequest\x12\x10\n\x08word_pos\x18\x01 \x02(\r\x12\x15\n\rcharacter_pos\x18\x02 \x02(\r\"?\n\x0c\x43haracterAck\x12\x11\n\tcharacter\x18\x01 \x01(\t\x12\x0e\n\x06\x64\x65lete\x18\x02 \x01(\x08\x12\x0c\n\x04\x64one\x18\x03 \x01(\x08\"\x82\x01\n\x0bSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0f\n\x07message\x18\x02 \x02(\x0c\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x33\n\x0bscript_type\x18\x04 \x01(\x0e\x32\x10.InputScriptType:\x0cSPENDADDRESS\"`\n\rVerifyMessage\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x1a\n\tcoin_name\x18\x04 \x01(\t:\x07\x42itcoin\"6\n\x10MessageSignature\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x11\n\tsignature\x18\x02 \x01(\x0c\"v\n\x0e\x45ncryptMessage\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64isplay_only\x18\x03 \x01(\x08\x12\x11\n\taddress_n\x18\x04 \x03(\r\x12\x1a\n\tcoin_name\x18\x05 \x01(\t:\x07\x42itcoin\"@\n\x10\x45ncryptedMessage\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x0c\n\x04hmac\x18\x03 \x01(\x0c\"Q\n\x0e\x44\x65\x63ryptMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\r\n\x05nonce\x18\x02 \x01(\x0c\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x0c\n\x04hmac\x18\x04 \x01(\x0c\"4\n\x10\x44\x65\x63ryptedMessage\x12\x0f\n\x07message\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x8c\x01\n\x0e\x43ipherKeyValue\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x0b\n\x03key\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\x0c\x12\x0f\n\x07\x65ncrypt\x18\x04 \x01(\x08\x12\x16\n\x0e\x61sk_on_encrypt\x18\x05 \x01(\x08\x12\x16\n\x0e\x61sk_on_decrypt\x18\x06 \x01(\x08\x12\n\n\x02iv\x18\x07 \x01(\x0c\"!\n\x10\x43ipheredKeyValue\x12\r\n\x05value\x18\x01 \x01(\x0c\"\xce\x01\n\x06SignTx\x12\x15\n\routputs_count\x18\x01 \x02(\r\x12\x14\n\x0cinputs_count\x18\x02 \x02(\r\x12\x1a\n\tcoin_name\x18\x03 \x01(\t:\x07\x42itcoin\x12\x12\n\x07version\x18\x04 \x01(\r:\x01\x31\x12\x14\n\tlock_time\x18\x05 \x01(\r:\x01\x30\x12\x0e\n\x06\x65xpiry\x18\x06 \x01(\r\x12\x14\n\x0coverwintered\x18\x07 \x01(\x08\x12\x18\n\x10version_group_id\x18\x08 \x01(\r\x12\x11\n\tbranch_id\x18\n \x01(\r\"\x85\x01\n\tTxRequest\x12\"\n\x0crequest_type\x18\x01 \x01(\x0e\x32\x0c.RequestType\x12&\n\x07\x64\x65tails\x18\x02 \x01(\x0b\x32\x15.TxRequestDetailsType\x12,\n\nserialized\x18\x03 \x01(\x0b\x32\x18.TxRequestSerializedType\"%\n\x05TxAck\x12\x1c\n\x02tx\x18\x01 \x01(\x0b\x32\x10.TransactionType\"+\n\x08RawTxAck\x12\x1f\n\x02tx\x18\x01 \x01(\x0b\x32\x13.RawTransactionType\"}\n\x0cSignIdentity\x12\x1f\n\x08identity\x18\x01 \x01(\x0b\x32\r.IdentityType\x12\x18\n\x10\x63hallenge_hidden\x18\x02 \x01(\x0c\x12\x18\n\x10\x63hallenge_visual\x18\x03 \x01(\t\x12\x18\n\x10\x65\x63\x64sa_curve_name\x18\x04 \x01(\t\"H\n\x0eSignedIdentity\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x12\n\npublic_key\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\",\n\rApplyPolicies\x12\x1b\n\x06policy\x18\x01 \x03(\x0b\x32\x0b.PolicyType\"?\n\tFlashHash\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\x12\x11\n\tchallenge\x18\x03 \x01(\x0c\":\n\nFlashWrite\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\r\n\x05\x65rase\x18\x03 \x01(\x08\"!\n\x11\x46lashHashResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"5\n\x12\x44\x65\x62ugLinkFlashDump\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\r\x12\x0e\n\x06length\x18\x02 \x01(\r\"*\n\x1a\x44\x65\x62ugLinkFlashDumpResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"\x0b\n\tSoftReset\"\x0f\n\rFirmwareErase\"7\n\x0e\x46irmwareUpload\x12\x14\n\x0cpayload_hash\x18\x01 \x02(\x0c\x12\x0f\n\x07payload\x18\x02 \x02(\x0c\"#\n\x11\x44\x65\x62ugLinkDecision\x12\x0e\n\x06yes_no\x18\x01 \x02(\x08\"\x13\n\x11\x44\x65\x62ugLinkGetState\"\xd7\x02\n\x0e\x44\x65\x62ugLinkState\x12\x0e\n\x06layout\x18\x01 \x01(\x0c\x12\x0b\n\x03pin\x18\x02 \x01(\t\x12\x0e\n\x06matrix\x18\x03 \x01(\t\x12\x10\n\x08mnemonic\x18\x04 \x01(\t\x12\x19\n\x04node\x18\x05 \x01(\x0b\x32\x0b.HDNodeType\x12\x1d\n\x15passphrase_protection\x18\x06 \x01(\x08\x12\x12\n\nreset_word\x18\x07 \x01(\t\x12\x15\n\rreset_entropy\x18\x08 \x01(\x0c\x12\x1a\n\x12recovery_fake_word\x18\t \x01(\t\x12\x19\n\x11recovery_word_pos\x18\n \x01(\r\x12\x17\n\x0frecovery_cipher\x18\x0b \x01(\t\x12$\n\x1crecovery_auto_completed_word\x18\x0c \x01(\t\x12\x15\n\rfirmware_hash\x18\r \x01(\x0c\x12\x14\n\x0cstorage_hash\x18\x0e \x01(\x0c\"\x0f\n\rDebugLinkStop\";\n\x0c\x44\x65\x62ugLinkLog\x12\r\n\x05level\x18\x01 \x01(\r\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x0c\n\x04text\x18\x03 \x01(\t\"\x15\n\x13\x44\x65\x62ugLinkFillConfig\" \n\x0e\x43hangeWipeCode\x12\x0e\n\x06remove\x18\x01 \x01(\x08*\xbe.\n\x0bMessageType\x12 \n\x16MessageType_Initialize\x10\x00\x1a\x04\x90\xb5\x18\x01\x12\x1a\n\x10MessageType_Ping\x10\x01\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Success\x10\x02\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_Failure\x10\x03\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ChangePin\x10\x04\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_WipeDevice\x10\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_FirmwareErase\x10\x06\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_FirmwareUpload\x10\x07\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetEntropy\x10\t\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Entropy\x10\n\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_GetPublicKey\x10\x0b\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_PublicKey\x10\x0c\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_LoadDevice\x10\r\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_ResetDevice\x10\x0e\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_SignTx\x10\x0f\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_Features\x10\x11\x1a\x04\x98\xb5\x18\x01\x12&\n\x1cMessageType_PinMatrixRequest\x10\x12\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_PinMatrixAck\x10\x13\x1a\x04\x90\xb5\x18\x01\x12\x1c\n\x12MessageType_Cancel\x10\x14\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_TxRequest\x10\x15\x1a\x04\x98\xb5\x18\x01\x12\x1b\n\x11MessageType_TxAck\x10\x16\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_CipherKeyValue\x10\x17\x1a\x04\x90\xb5\x18\x01\x12\"\n\x18MessageType_ClearSession\x10\x18\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplySettings\x10\x19\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ButtonRequest\x10\x1a\x1a\x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_ButtonAck\x10\x1b\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_GetAddress\x10\x1d\x1a\x04\x90\xb5\x18\x01\x12\x1d\n\x13MessageType_Address\x10\x1e\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EntropyRequest\x10#\x1a\x04\x98\xb5\x18\x01\x12 \n\x16MessageType_EntropyAck\x10$\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_SignMessage\x10&\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_VerifyMessage\x10\'\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_MessageSignature\x10(\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1dMessageType_PassphraseRequest\x10)\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_PassphraseAck\x10*\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_RecoveryDevice\x10-\x1a\x04\x90\xb5\x18\x01\x12!\n\x17MessageType_WordRequest\x10.\x1a\x04\x98\xb5\x18\x01\x12\x1d\n\x13MessageType_WordAck\x10/\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CipheredKeyValue\x10\x30\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EncryptMessage\x10\x31\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_EncryptedMessage\x10\x32\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_DecryptMessage\x10\x33\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_DecryptedMessage\x10\x34\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_SignIdentity\x10\x35\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_SignedIdentity\x10\x36\x1a\x04\x98\xb5\x18\x01\x12!\n\x17MessageType_GetFeatures\x10\x37\x1a\x04\x90\xb5\x18\x01\x12(\n\x1eMessageType_EthereumGetAddress\x10\x38\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x10\x39\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignTx\x10:\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_EthereumTxRequest\x10;\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_EthereumTxAck\x10<\x1a\x04\x90\xb5\x18\x01\x12&\n\x1cMessageType_CharacterRequest\x10P\x1a\x04\x98\xb5\x18\x01\x12\"\n\x18MessageType_CharacterAck\x10Q\x1a\x04\x90\xb5\x18\x01\x12\x1e\n\x14MessageType_RawTxAck\x10R\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_ApplyPolicies\x10S\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_FlashHash\x10T\x1a\x04\x90\xb5\x18\x01\x12 \n\x16MessageType_FlashWrite\x10U\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1dMessageType_FlashHashResponse\x10V\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_DebugLinkFlashDump\x10W\x1a\x04\xa0\xb5\x18\x01\x12\x30\n&MessageType_DebugLinkFlashDumpResponse\x10X\x1a\x04\xa8\xb5\x18\x01\x12\x1f\n\x15MessageType_SoftReset\x10Y\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkDecision\x10\x64\x1a\x04\xa0\xb5\x18\x01\x12\'\n\x1dMessageType_DebugLinkGetState\x10\x65\x1a\x04\xa0\xb5\x18\x01\x12$\n\x1aMessageType_DebugLinkState\x10\x66\x1a\x04\xa8\xb5\x18\x01\x12#\n\x19MessageType_DebugLinkStop\x10g\x1a\x04\xa0\xb5\x18\x01\x12\"\n\x18MessageType_DebugLinkLog\x10h\x1a\x04\xa8\xb5\x18\x01\x12)\n\x1fMessageType_DebugLinkFillConfig\x10i\x1a\x04\xa8\xb5\x18\x01\x12\"\n\x18MessageType_GetCoinTable\x10j\x1a\x04\x90\xb5\x18\x01\x12\x1f\n\x15MessageType_CoinTable\x10k\x1a\x04\x98\xb5\x18\x01\x12)\n\x1fMessageType_EthereumSignMessage\x10l\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumVerifyMessage\x10m\x1a\x04\x90\xb5\x18\x01\x12.\n$MessageType_EthereumMessageSignature\x10n\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_ChangeWipeCode\x10o\x1a\x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumSignTypedHash\x10p\x1a\x04\x90\xb5\x18\x01\x12\x30\n&MessageType_EthereumTypedDataSignature\x10q\x1a\x04\x98\xb5\x18\x01\x12,\n\"MessageType_Ethereum712TypesValues\x10r\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainGetAddress\x10\xf4\x03\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_ThorchainAddress\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainSignTx\x10\xf6\x03\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_ThorchainMsgRequest\x10\xf7\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_ThorchainMsgAck\x10\xf8\x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_ThorchainSignedTx\x10\xf9\x03\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12 \n\x15MessageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_NanoGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_NanoAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12!\n\x16MessageType_NanoSignTx\x10\xbe\x05\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_NanoSignedTx\x10\xbf\x05\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_SolanaGetAddress\x10\xee\x05\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddress\x10\xef\x05\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSignTx\x10\xf0\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_SolanaSignedTx\x10\xf1\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_SolanaSignMessage\x10\xf2\x05\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_SolanaMessageSignature\x10\xf3\x05\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_BinanceGetAddress\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_BinanceAddress\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_BinanceGetPublicKey\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinancePublicKey\x10\xa3\x06\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xa4\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceTxRequest\x10\xa5\x06\x1a\x04\x98\xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xa6\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xa7\x06\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_BinanceCancelMsg\x10\xa8\x06\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\xa9\x06\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosGetAddress\x10\x84\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_CosmosAddress\x10\x85\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosSignTx\x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRequest\x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_CosmosMsgAck\x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CosmosSignedTx\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CosmosMsgDelegate\x10\x8a\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgUndelegate\x10\x8b\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CosmosMsgRedelegate\x10\x8c\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_CosmosMsgRewards\x10\x8d\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_CosmosMsgIBCTransfer\x10\x8e\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintGetAddress\x10\xe8\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintAddress\x10\xe9\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintSignTx\x10\xea\x07\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_TendermintMsgRequest\x10\xeb\x07\x1a\x04\x98\xb5\x18\x01\x12\'\n\x1cMessageType_TendermintMsgAck\x10\xec\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_TendermintMsgSend\x10\xed\x07\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_TendermintSignedTx\x10\xee\x07\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_TendermintMsgDelegate\x10\xef\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgUndelegate\x10\xf0\x07\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_TendermintMsgRedelegate\x10\xf1\x07\x1a\x04\x98\xb5\x18\x01\x12+\n MessageType_TendermintMsgRewards\x10\xf2\x07\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_TendermintMsgIBCTransfer\x10\xf3\x07\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisGetAddress\x10\xcc\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisAddress\x10\xcd\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisSignTx\x10\xce\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRequest\x10\xcf\x08\x1a\x04\x98\xb5\x18\x01\x12$\n\x19MessageType_OsmosisMsgAck\x10\xd0\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSend\x10\xd1\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgDelegate\x10\xd2\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgUndelegate\x10\xd3\x08\x1a\x04\x90\xb5\x18\x01\x12+\n MessageType_OsmosisMsgRedelegate\x10\xd4\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgRewards\x10\xd5\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisMsgLPAdd\x10\xd6\x08\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_OsmosisMsgLPRemove\x10\xd7\x08\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_OsmosisMsgLPStake\x10\xd8\x08\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_OsmosisMsgLPUnstake\x10\xd9\x08\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_OsmosisMsgIBCTransfer\x10\xda\x08\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_OsmosisMsgSwap\x10\xdb\x08\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_OsmosisSignedTx\x10\xdc\x08\x1a\x04\x98\xb5\x18\x01\x42,\n\x1a\x63om.keepkey.deviceprotocolB\x0eKeepKeyMessage') + , + dependencies=[types__pb2.DESCRIPTOR,]) + +_MESSAGETYPE = _descriptor.EnumDescriptor( + name='MessageType', + full_name='MessageType', + filename=None, + file=DESCRIPTOR, + values=[ + _descriptor.EnumValueDescriptor( + name='MessageType_Initialize', index=0, number=0, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Ping', index=1, number=1, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Success', index=2, number=2, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Failure', index=3, number=3, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ChangePin', index=4, number=4, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_WipeDevice', index=5, number=5, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_FirmwareErase', index=6, number=6, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_FirmwareUpload', index=7, number=7, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_GetEntropy', index=8, number=9, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Entropy', index=9, number=10, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_GetPublicKey', index=10, number=11, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_PublicKey', index=11, number=12, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_LoadDevice', index=12, number=13, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ResetDevice', index=13, number=14, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SignTx', index=14, number=15, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Features', index=15, number=17, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_PinMatrixRequest', index=16, number=18, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_PinMatrixAck', index=17, number=19, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Cancel', index=18, number=20, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TxRequest', index=19, number=21, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TxAck', index=20, number=22, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CipherKeyValue', index=21, number=23, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ClearSession', index=22, number=24, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ApplySettings', index=23, number=25, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ButtonRequest', index=24, number=26, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ButtonAck', index=25, number=27, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_GetAddress', index=26, number=29, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Address', index=27, number=30, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EntropyRequest', index=28, number=35, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EntropyAck', index=29, number=36, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SignMessage', index=30, number=38, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_VerifyMessage', index=31, number=39, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_MessageSignature', index=32, number=40, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_PassphraseRequest', index=33, number=41, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_PassphraseAck', index=34, number=42, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_RecoveryDevice', index=35, number=45, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_WordRequest', index=36, number=46, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_WordAck', index=37, number=47, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CipheredKeyValue', index=38, number=48, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EncryptMessage', index=39, number=49, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EncryptedMessage', index=40, number=50, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DecryptMessage', index=41, number=51, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DecryptedMessage', index=42, number=52, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SignIdentity', index=43, number=53, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SignedIdentity', index=44, number=54, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_GetFeatures', index=45, number=55, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumGetAddress', index=46, number=56, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumAddress', index=47, number=57, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumSignTx', index=48, number=58, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumTxRequest', index=49, number=59, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumTxAck', index=50, number=60, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CharacterRequest', index=51, number=80, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CharacterAck', index=52, number=81, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_RawTxAck', index=53, number=82, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ApplyPolicies', index=54, number=83, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_FlashHash', index=55, number=84, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_FlashWrite', index=56, number=85, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_FlashHashResponse', index=57, number=86, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkFlashDump', index=58, number=87, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkFlashDumpResponse', index=59, number=88, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SoftReset', index=60, number=89, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkDecision', index=61, number=100, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkGetState', index=62, number=101, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkState', index=63, number=102, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkStop', index=64, number=103, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkLog', index=65, number=104, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_DebugLinkFillConfig', index=66, number=105, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_GetCoinTable', index=67, number=106, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CoinTable', index=68, number=107, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumSignMessage', index=69, number=108, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumVerifyMessage', index=70, number=109, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumMessageSignature', index=71, number=110, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ChangeWipeCode', index=72, number=111, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumSignTypedHash', index=73, number=112, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EthereumTypedDataSignature', index=74, number=113, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_Ethereum712TypesValues', index=75, number=114, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_RippleGetAddress', index=76, number=400, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_RippleAddress', index=77, number=401, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_RippleSignTx', index=78, number=402, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_RippleSignedTx', index=79, number=403, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ThorchainGetAddress', index=80, number=500, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ThorchainAddress', index=81, number=501, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ThorchainSignTx', index=82, number=502, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ThorchainMsgRequest', index=83, number=503, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ThorchainMsgAck', index=84, number=504, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_ThorchainSignedTx', index=85, number=505, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EosGetPublicKey', index=86, number=600, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EosPublicKey', index=87, number=601, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EosSignTx', index=88, number=602, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EosTxActionRequest', index=89, number=603, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EosTxActionAck', index=90, number=604, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_EosSignedTx', index=91, number=605, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_NanoGetAddress', index=92, number=700, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_NanoAddress', index=93, number=701, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_NanoSignTx', index=94, number=702, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_NanoSignedTx', index=95, number=703, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SolanaGetAddress', index=96, number=750, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SolanaAddress', index=97, number=751, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SolanaSignTx', index=98, number=752, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SolanaSignedTx', index=99, number=753, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SolanaSignMessage', index=100, number=754, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_SolanaMessageSignature', index=101, number=755, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceGetAddress', index=102, number=800, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceAddress', index=103, number=801, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceGetPublicKey', index=104, number=802, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinancePublicKey', index=105, number=803, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceSignTx', index=106, number=804, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceTxRequest', index=107, number=805, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceTransferMsg', index=108, number=806, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceOrderMsg', index=109, number=807, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceCancelMsg', index=110, number=808, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_BinanceSignedTx', index=111, number=809, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosGetAddress', index=112, number=900, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosAddress', index=113, number=901, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosSignTx', index=114, number=902, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgRequest', index=115, number=903, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgAck', index=116, number=904, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosSignedTx', index=117, number=905, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgDelegate', index=118, number=906, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgUndelegate', index=119, number=907, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgRedelegate', index=120, number=908, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgRewards', index=121, number=909, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_CosmosMsgIBCTransfer', index=122, number=910, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintGetAddress', index=123, number=1000, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintAddress', index=124, number=1001, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintSignTx', index=125, number=1002, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgRequest', index=126, number=1003, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgAck', index=127, number=1004, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgSend', index=128, number=1005, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintSignedTx', index=129, number=1006, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgDelegate', index=130, number=1007, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgUndelegate', index=131, number=1008, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgRedelegate', index=132, number=1009, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgRewards', index=133, number=1010, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_TendermintMsgIBCTransfer', index=134, number=1011, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisGetAddress', index=135, number=1100, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisAddress', index=136, number=1101, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisSignTx', index=137, number=1102, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgRequest', index=138, number=1103, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgAck', index=139, number=1104, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgSend', index=140, number=1105, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgDelegate', index=141, number=1106, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgUndelegate', index=142, number=1107, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgRedelegate', index=143, number=1108, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgRewards', index=144, number=1109, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgLPAdd', index=145, number=1110, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgLPRemove', index=146, number=1111, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgLPStake', index=147, number=1112, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgLPUnstake', index=148, number=1113, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgIBCTransfer', index=149, number=1114, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisMsgSwap', index=150, number=1115, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')), + type=None), + _descriptor.EnumValueDescriptor( + name='MessageType_OsmosisSignedTx', index=151, number=1116, + options=_descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')), + type=None), + ], + containing_type=None, + options=None, + serialized_start=5101, + serialized_end=11051, +) +_sym_db.RegisterEnumDescriptor(_MESSAGETYPE) + +MessageType = enum_type_wrapper.EnumTypeWrapper(_MESSAGETYPE) +MessageType_Initialize = 0 +MessageType_Ping = 1 +MessageType_Success = 2 +MessageType_Failure = 3 +MessageType_ChangePin = 4 +MessageType_WipeDevice = 5 +MessageType_FirmwareErase = 6 +MessageType_FirmwareUpload = 7 +MessageType_GetEntropy = 9 +MessageType_Entropy = 10 +MessageType_GetPublicKey = 11 +MessageType_PublicKey = 12 +MessageType_LoadDevice = 13 +MessageType_ResetDevice = 14 +MessageType_SignTx = 15 +MessageType_Features = 17 +MessageType_PinMatrixRequest = 18 +MessageType_PinMatrixAck = 19 +MessageType_Cancel = 20 +MessageType_TxRequest = 21 +MessageType_TxAck = 22 +MessageType_CipherKeyValue = 23 +MessageType_ClearSession = 24 +MessageType_ApplySettings = 25 +MessageType_ButtonRequest = 26 +MessageType_ButtonAck = 27 +MessageType_GetAddress = 29 +MessageType_Address = 30 +MessageType_EntropyRequest = 35 +MessageType_EntropyAck = 36 +MessageType_SignMessage = 38 +MessageType_VerifyMessage = 39 +MessageType_MessageSignature = 40 +MessageType_PassphraseRequest = 41 +MessageType_PassphraseAck = 42 +MessageType_RecoveryDevice = 45 +MessageType_WordRequest = 46 +MessageType_WordAck = 47 +MessageType_CipheredKeyValue = 48 +MessageType_EncryptMessage = 49 +MessageType_EncryptedMessage = 50 +MessageType_DecryptMessage = 51 +MessageType_DecryptedMessage = 52 +MessageType_SignIdentity = 53 +MessageType_SignedIdentity = 54 +MessageType_GetFeatures = 55 +MessageType_EthereumGetAddress = 56 +MessageType_EthereumAddress = 57 +MessageType_EthereumSignTx = 58 +MessageType_EthereumTxRequest = 59 +MessageType_EthereumTxAck = 60 +MessageType_CharacterRequest = 80 +MessageType_CharacterAck = 81 +MessageType_RawTxAck = 82 +MessageType_ApplyPolicies = 83 +MessageType_FlashHash = 84 +MessageType_FlashWrite = 85 +MessageType_FlashHashResponse = 86 +MessageType_DebugLinkFlashDump = 87 +MessageType_DebugLinkFlashDumpResponse = 88 +MessageType_SoftReset = 89 +MessageType_DebugLinkDecision = 100 +MessageType_DebugLinkGetState = 101 +MessageType_DebugLinkState = 102 +MessageType_DebugLinkStop = 103 +MessageType_DebugLinkLog = 104 +MessageType_DebugLinkFillConfig = 105 +MessageType_GetCoinTable = 106 +MessageType_CoinTable = 107 +MessageType_EthereumSignMessage = 108 +MessageType_EthereumVerifyMessage = 109 +MessageType_EthereumMessageSignature = 110 +MessageType_ChangeWipeCode = 111 +MessageType_EthereumSignTypedHash = 112 +MessageType_EthereumTypedDataSignature = 113 +MessageType_Ethereum712TypesValues = 114 +MessageType_RippleGetAddress = 400 +MessageType_RippleAddress = 401 +MessageType_RippleSignTx = 402 +MessageType_RippleSignedTx = 403 +MessageType_ThorchainGetAddress = 500 +MessageType_ThorchainAddress = 501 +MessageType_ThorchainSignTx = 502 +MessageType_ThorchainMsgRequest = 503 +MessageType_ThorchainMsgAck = 504 +MessageType_ThorchainSignedTx = 505 +MessageType_EosGetPublicKey = 600 +MessageType_EosPublicKey = 601 +MessageType_EosSignTx = 602 +MessageType_EosTxActionRequest = 603 +MessageType_EosTxActionAck = 604 +MessageType_EosSignedTx = 605 +MessageType_NanoGetAddress = 700 +MessageType_NanoAddress = 701 +MessageType_NanoSignTx = 702 +MessageType_NanoSignedTx = 703 +MessageType_SolanaGetAddress = 750 +MessageType_SolanaAddress = 751 +MessageType_SolanaSignTx = 752 +MessageType_SolanaSignedTx = 753 +MessageType_SolanaSignMessage = 754 +MessageType_SolanaMessageSignature = 755 +MessageType_BinanceGetAddress = 800 +MessageType_BinanceAddress = 801 +MessageType_BinanceGetPublicKey = 802 +MessageType_BinancePublicKey = 803 +MessageType_BinanceSignTx = 804 +MessageType_BinanceTxRequest = 805 +MessageType_BinanceTransferMsg = 806 +MessageType_BinanceOrderMsg = 807 +MessageType_BinanceCancelMsg = 808 +MessageType_BinanceSignedTx = 809 +MessageType_CosmosGetAddress = 900 +MessageType_CosmosAddress = 901 +MessageType_CosmosSignTx = 902 +MessageType_CosmosMsgRequest = 903 +MessageType_CosmosMsgAck = 904 +MessageType_CosmosSignedTx = 905 +MessageType_CosmosMsgDelegate = 906 +MessageType_CosmosMsgUndelegate = 907 +MessageType_CosmosMsgRedelegate = 908 +MessageType_CosmosMsgRewards = 909 +MessageType_CosmosMsgIBCTransfer = 910 +MessageType_TendermintGetAddress = 1000 +MessageType_TendermintAddress = 1001 +MessageType_TendermintSignTx = 1002 +MessageType_TendermintMsgRequest = 1003 +MessageType_TendermintMsgAck = 1004 +MessageType_TendermintMsgSend = 1005 +MessageType_TendermintSignedTx = 1006 +MessageType_TendermintMsgDelegate = 1007 +MessageType_TendermintMsgUndelegate = 1008 +MessageType_TendermintMsgRedelegate = 1009 +MessageType_TendermintMsgRewards = 1010 +MessageType_TendermintMsgIBCTransfer = 1011 +MessageType_OsmosisGetAddress = 1100 +MessageType_OsmosisAddress = 1101 +MessageType_OsmosisSignTx = 1102 +MessageType_OsmosisMsgRequest = 1103 +MessageType_OsmosisMsgAck = 1104 +MessageType_OsmosisMsgSend = 1105 +MessageType_OsmosisMsgDelegate = 1106 +MessageType_OsmosisMsgUndelegate = 1107 +MessageType_OsmosisMsgRedelegate = 1108 +MessageType_OsmosisMsgRewards = 1109 +MessageType_OsmosisMsgLPAdd = 1110 +MessageType_OsmosisMsgLPRemove = 1111 +MessageType_OsmosisMsgLPStake = 1112 +MessageType_OsmosisMsgLPUnstake = 1113 +MessageType_OsmosisMsgIBCTransfer = 1114 +MessageType_OsmosisMsgSwap = 1115 +MessageType_OsmosisSignedTx = 1116 + + + +_INITIALIZE = _descriptor.Descriptor( + name='Initialize', + full_name='Initialize', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=31, + serialized_end=43, +) + + +_GETFEATURES = _descriptor.Descriptor( + name='GetFeatures', + full_name='GetFeatures', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=45, + serialized_end=58, +) + + +_FEATURES = _descriptor.Descriptor( + name='Features', + full_name='Features', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='vendor', full_name='Features.vendor', 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='major_version', full_name='Features.major_version', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='minor_version', full_name='Features.minor_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), + _descriptor.FieldDescriptor( + name='patch_version', full_name='Features.patch_version', 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), + _descriptor.FieldDescriptor( + name='bootloader_mode', full_name='Features.bootloader_mode', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='device_id', full_name='Features.device_id', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='pin_protection', full_name='Features.pin_protection', index=6, + number=7, 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='passphrase_protection', full_name='Features.passphrase_protection', index=7, + number=8, 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='language', full_name='Features.language', index=8, + number=9, 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='label', full_name='Features.label', index=9, + number=10, 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='coins', full_name='Features.coins', index=10, + number=11, 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='initialized', full_name='Features.initialized', index=11, + number=12, 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='revision', full_name='Features.revision', index=12, + number=13, 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='bootloader_hash', full_name='Features.bootloader_hash', index=13, + 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='imported', full_name='Features.imported', index=14, + number=15, 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='pin_cached', full_name='Features.pin_cached', index=15, + number=16, 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='passphrase_cached', full_name='Features.passphrase_cached', index=16, + number=17, 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='policies', full_name='Features.policies', index=17, + number=18, 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='model', full_name='Features.model', 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='firmware_variant', full_name='Features.firmware_variant', 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='firmware_hash', full_name='Features.firmware_hash', index=20, + number=23, 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='no_backup', full_name='Features.no_backup', index=21, + number=24, 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='wipe_code_protection', full_name='Features.wipe_code_protection', index=22, + number=25, 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='auto_lock_delay_ms', full_name='Features.auto_lock_delay_ms', 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=61, + serialized_end=615, +) + + +_GETCOINTABLE = _descriptor.Descriptor( + name='GetCoinTable', + full_name='GetCoinTable', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='start', full_name='GetCoinTable.start', 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='end', full_name='GetCoinTable.end', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=617, + serialized_end=659, +) + + +_COINTABLE = _descriptor.Descriptor( + name='CoinTable', + full_name='CoinTable', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='table', full_name='CoinTable.table', 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='num_coins', full_name='CoinTable.num_coins', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='chunk_size', full_name='CoinTable.chunk_size', 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=661, + serialized_end=737, +) + + +_CLEARSESSION = _descriptor.Descriptor( + name='ClearSession', + full_name='ClearSession', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=739, + serialized_end=753, +) + + +_APPLYSETTINGS = _descriptor.Descriptor( + name='ApplySettings', + full_name='ApplySettings', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='language', full_name='ApplySettings.language', 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='label', full_name='ApplySettings.label', 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='use_passphrase', full_name='ApplySettings.use_passphrase', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='auto_lock_delay_ms', full_name='ApplySettings.auto_lock_delay_ms', 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), + _descriptor.FieldDescriptor( + name='u2f_counter', full_name='ApplySettings.u2f_counter', index=4, + number=5, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=755, + serialized_end=876, +) + + +_CHANGEPIN = _descriptor.Descriptor( + name='ChangePin', + full_name='ChangePin', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='remove', full_name='ChangePin.remove', index=0, + number=1, 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=878, + serialized_end=905, +) + + +_PING = _descriptor.Descriptor( + name='Ping', + full_name='Ping', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='message', full_name='Ping.message', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='button_protection', full_name='Ping.button_protection', 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), + _descriptor.FieldDescriptor( + name='pin_protection', full_name='Ping.pin_protection', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='passphrase_protection', full_name='Ping.passphrase_protection', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='wipe_code_protection', full_name='Ping.wipe_code_protection', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=908, + serialized_end=1043, +) + + +_SUCCESS = _descriptor.Descriptor( + name='Success', + full_name='Success', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='message', full_name='Success.message', index=0, + number=1, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1045, + serialized_end=1071, +) + + +_FAILURE = _descriptor.Descriptor( + name='Failure', + full_name='Failure', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='code', full_name='Failure.code', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='message', full_name='Failure.message', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1073, + serialized_end=1127, +) + + +_BUTTONREQUEST = _descriptor.Descriptor( + name='ButtonRequest', + full_name='ButtonRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='code', full_name='ButtonRequest.code', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=1, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='data', full_name='ButtonRequest.data', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1129, + serialized_end=1192, +) + + +_BUTTONACK = _descriptor.Descriptor( + name='ButtonAck', + full_name='ButtonAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1194, + serialized_end=1205, +) + + +_PINMATRIXREQUEST = _descriptor.Descriptor( + name='PinMatrixRequest', + full_name='PinMatrixRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='PinMatrixRequest.type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=1, + 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=1207, + serialized_end=1262, +) + + +_PINMATRIXACK = _descriptor.Descriptor( + name='PinMatrixAck', + full_name='PinMatrixAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='pin', full_name='PinMatrixAck.pin', index=0, + number=1, type=9, cpp_type=9, label=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1264, + serialized_end=1291, +) + + +_CANCEL = _descriptor.Descriptor( + name='Cancel', + full_name='Cancel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1293, + serialized_end=1301, +) + + +_PASSPHRASEREQUEST = _descriptor.Descriptor( + name='PassphraseRequest', + full_name='PassphraseRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1303, + serialized_end=1322, +) + + +_PASSPHRASEACK = _descriptor.Descriptor( + name='PassphraseAck', + full_name='PassphraseAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='passphrase', full_name='PassphraseAck.passphrase', index=0, + number=1, type=9, cpp_type=9, label=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1324, + serialized_end=1359, +) + + +_GETENTROPY = _descriptor.Descriptor( + name='GetEntropy', + full_name='GetEntropy', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='size', full_name='GetEntropy.size', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1361, + serialized_end=1387, +) + + +_ENTROPY = _descriptor.Descriptor( + name='Entropy', + full_name='Entropy', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='entropy', full_name='Entropy.entropy', 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=1389, + serialized_end=1415, +) + + +_GETPUBLICKEY = _descriptor.Descriptor( + name='GetPublicKey', + full_name='GetPublicKey', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='GetPublicKey.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='ecdsa_curve_name', full_name='GetPublicKey.ecdsa_curve_name', 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='show_display', full_name='GetPublicKey.show_display', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='coin_name', full_name='GetPublicKey.coin_name', index=3, + number=4, 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='script_type', full_name='GetPublicKey.script_type', index=4, + number=5, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1418, + serialized_end=1580, +) + + +_PUBLICKEY = _descriptor.Descriptor( + name='PublicKey', + full_name='PublicKey', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='node', full_name='PublicKey.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='xpub', full_name='PublicKey.xpub', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1582, + serialized_end=1634, +) + + +_GETADDRESS = _descriptor.Descriptor( + name='GetAddress', + full_name='GetAddress', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='GetAddress.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='coin_name', full_name='GetAddress.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='show_display', full_name='GetAddress.show_display', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='multisig', full_name='GetAddress.multisig', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='script_type', full_name='GetAddress.script_type', index=4, + number=5, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1637, + serialized_end=1816, +) + + +_ADDRESS = _descriptor.Descriptor( + name='Address', + full_name='Address', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='Address.address', index=0, + number=1, type=9, cpp_type=9, label=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1818, + serialized_end=1844, +) + + +_WIPEDEVICE = _descriptor.Descriptor( + name='WipeDevice', + full_name='WipeDevice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1846, + serialized_end=1858, +) + + +_LOADDEVICE = _descriptor.Descriptor( + name='LoadDevice', + full_name='LoadDevice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='mnemonic', full_name='LoadDevice.mnemonic', 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='node', full_name='LoadDevice.node', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='pin', full_name='LoadDevice.pin', 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='passphrase_protection', full_name='LoadDevice.passphrase_protection', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='language', full_name='LoadDevice.language', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=True, default_value=_b("english").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='label', full_name='LoadDevice.label', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='skip_checksum', full_name='LoadDevice.skip_checksum', index=6, + number=7, 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='u2f_counter', full_name='LoadDevice.u2f_counter', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1861, + serialized_end=2048, +) + + +_RESETDEVICE = _descriptor.Descriptor( + name='ResetDevice', + full_name='ResetDevice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='display_random', full_name='ResetDevice.display_random', index=0, + number=1, 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='strength', full_name='ResetDevice.strength', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=True, default_value=256, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='passphrase_protection', full_name='ResetDevice.passphrase_protection', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='pin_protection', full_name='ResetDevice.pin_protection', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='language', full_name='ResetDevice.language', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=True, default_value=_b("english").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='label', full_name='ResetDevice.label', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='no_backup', full_name='ResetDevice.no_backup', index=6, + number=7, 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='auto_lock_delay_ms', full_name='ResetDevice.auto_lock_delay_ms', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='u2f_counter', full_name='ResetDevice.u2f_counter', 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=2051, + serialized_end=2276, +) + + +_ENTROPYREQUEST = _descriptor.Descriptor( + name='EntropyRequest', + full_name='EntropyRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2278, + serialized_end=2294, +) + + +_ENTROPYACK = _descriptor.Descriptor( + name='EntropyAck', + full_name='EntropyAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='entropy', full_name='EntropyAck.entropy', 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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2296, + serialized_end=2325, +) + + +_RECOVERYDEVICE = _descriptor.Descriptor( + name='RecoveryDevice', + full_name='RecoveryDevice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='word_count', full_name='RecoveryDevice.word_count', 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='passphrase_protection', full_name='RecoveryDevice.passphrase_protection', 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), + _descriptor.FieldDescriptor( + name='pin_protection', full_name='RecoveryDevice.pin_protection', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='language', full_name='RecoveryDevice.language', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=True, default_value=_b("english").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='label', full_name='RecoveryDevice.label', 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='enforce_wordlist', full_name='RecoveryDevice.enforce_wordlist', index=5, + number=6, 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='use_character_cipher', full_name='RecoveryDevice.use_character_cipher', index=6, + number=7, 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='auto_lock_delay_ms', full_name='RecoveryDevice.auto_lock_delay_ms', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='u2f_counter', full_name='RecoveryDevice.u2f_counter', 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='dry_run', full_name='RecoveryDevice.dry_run', index=9, + number=10, 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=2328, + serialized_end=2583, +) + + +_WORDREQUEST = _descriptor.Descriptor( + name='WordRequest', + full_name='WordRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2585, + serialized_end=2598, +) + + +_WORDACK = _descriptor.Descriptor( + name='WordAck', + full_name='WordAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='word', full_name='WordAck.word', index=0, + number=1, type=9, cpp_type=9, label=2, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2600, + serialized_end=2623, +) + + +_CHARACTERREQUEST = _descriptor.Descriptor( + name='CharacterRequest', + full_name='CharacterRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='word_pos', full_name='CharacterRequest.word_pos', 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='character_pos', full_name='CharacterRequest.character_pos', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2625, + serialized_end=2684, +) + + +_CHARACTERACK = _descriptor.Descriptor( + name='CharacterAck', + full_name='CharacterAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='character', full_name='CharacterAck.character', 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='delete', full_name='CharacterAck.delete', 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), + _descriptor.FieldDescriptor( + name='done', full_name='CharacterAck.done', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2686, + serialized_end=2749, +) + + +_SIGNMESSAGE = _descriptor.Descriptor( + name='SignMessage', + full_name='SignMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='SignMessage.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='message', full_name='SignMessage.message', 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='coin_name', full_name='SignMessage.coin_name', index=2, + number=3, 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='script_type', full_name='SignMessage.script_type', index=3, + number=4, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2752, + serialized_end=2882, +) + + +_VERIFYMESSAGE = _descriptor.Descriptor( + name='VerifyMessage', + full_name='VerifyMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='VerifyMessage.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='signature', full_name='VerifyMessage.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='message', full_name='VerifyMessage.message', 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), + _descriptor.FieldDescriptor( + name='coin_name', full_name='VerifyMessage.coin_name', index=3, + number=4, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2884, + serialized_end=2980, +) + + +_MESSAGESIGNATURE = _descriptor.Descriptor( + name='MessageSignature', + full_name='MessageSignature', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='MessageSignature.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='signature', full_name='MessageSignature.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2982, + serialized_end=3036, +) + + +_ENCRYPTMESSAGE = _descriptor.Descriptor( + name='EncryptMessage', + full_name='EncryptMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='EncryptMessage.pubkey', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='message', full_name='EncryptMessage.message', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='display_only', full_name='EncryptMessage.display_only', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='address_n', full_name='EncryptMessage.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), + _descriptor.FieldDescriptor( + name='coin_name', full_name='EncryptMessage.coin_name', index=4, + number=5, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3038, + serialized_end=3156, +) + + +_ENCRYPTEDMESSAGE = _descriptor.Descriptor( + name='EncryptedMessage', + full_name='EncryptedMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='nonce', full_name='EncryptedMessage.nonce', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='message', full_name='EncryptedMessage.message', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='hmac', full_name='EncryptedMessage.hmac', 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=3158, + serialized_end=3222, +) + + +_DECRYPTMESSAGE = _descriptor.Descriptor( + name='DecryptMessage', + full_name='DecryptMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='DecryptMessage.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='nonce', full_name='DecryptMessage.nonce', 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='message', full_name='DecryptMessage.message', 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), + _descriptor.FieldDescriptor( + name='hmac', full_name='DecryptMessage.hmac', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3224, + serialized_end=3305, +) + + +_DECRYPTEDMESSAGE = _descriptor.Descriptor( + name='DecryptedMessage', + full_name='DecryptedMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='message', full_name='DecryptedMessage.message', index=0, + number=1, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='address', full_name='DecryptedMessage.address', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3307, + serialized_end=3359, +) + + +_CIPHERKEYVALUE = _descriptor.Descriptor( + name='CipherKeyValue', + full_name='CipherKeyValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='CipherKeyValue.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='key', full_name='CipherKeyValue.key', 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='value', full_name='CipherKeyValue.value', 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), + _descriptor.FieldDescriptor( + name='encrypt', full_name='CipherKeyValue.encrypt', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ask_on_encrypt', full_name='CipherKeyValue.ask_on_encrypt', index=4, + number=5, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='ask_on_decrypt', full_name='CipherKeyValue.ask_on_decrypt', index=5, + number=6, 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='iv', full_name='CipherKeyValue.iv', index=6, + number=7, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3362, + serialized_end=3502, +) + + +_CIPHEREDKEYVALUE = _descriptor.Descriptor( + name='CipheredKeyValue', + full_name='CipheredKeyValue', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='value', full_name='CipheredKeyValue.value', 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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3504, + serialized_end=3537, +) + + +_SIGNTX = _descriptor.Descriptor( + name='SignTx', + full_name='SignTx', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='outputs_count', full_name='SignTx.outputs_count', 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='inputs_count', full_name='SignTx.inputs_count', 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='coin_name', full_name='SignTx.coin_name', index=2, + number=3, 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='version', full_name='SignTx.version', index=3, + number=4, type=13, cpp_type=3, label=1, + has_default_value=True, default_value=1, + 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='SignTx.lock_time', index=4, + number=5, 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='expiry', full_name='SignTx.expiry', 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='overwintered', full_name='SignTx.overwintered', index=6, + number=7, 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='SignTx.version_group_id', index=7, + number=8, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='branch_id', full_name='SignTx.branch_id', index=8, + 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=3540, + serialized_end=3746, +) + + +_TXREQUEST = _descriptor.Descriptor( + name='TxRequest', + full_name='TxRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='request_type', full_name='TxRequest.request_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='details', full_name='TxRequest.details', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='serialized', full_name='TxRequest.serialized', 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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3749, + serialized_end=3882, +) + + +_TXACK = _descriptor.Descriptor( + name='TxAck', + full_name='TxAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tx', full_name='TxAck.tx', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3884, + serialized_end=3921, +) + + +_RAWTXACK = _descriptor.Descriptor( + name='RawTxAck', + full_name='RawTxAck', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='tx', full_name='RawTxAck.tx', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3923, + serialized_end=3966, +) + + +_SIGNIDENTITY = _descriptor.Descriptor( + name='SignIdentity', + full_name='SignIdentity', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='identity', full_name='SignIdentity.identity', 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='challenge_hidden', full_name='SignIdentity.challenge_hidden', 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='challenge_visual', full_name='SignIdentity.challenge_visual', 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='ecdsa_curve_name', full_name='SignIdentity.ecdsa_curve_name', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3968, + serialized_end=4093, +) + + +_SIGNEDIDENTITY = _descriptor.Descriptor( + name='SignedIdentity', + full_name='SignedIdentity', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='SignedIdentity.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='public_key', full_name='SignedIdentity.public_key', 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='signature', full_name='SignedIdentity.signature', 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=4095, + serialized_end=4167, +) + + +_APPLYPOLICIES = _descriptor.Descriptor( + name='ApplyPolicies', + full_name='ApplyPolicies', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='policy', full_name='ApplyPolicies.policy', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4169, + serialized_end=4213, +) + + +_FLASHHASH = _descriptor.Descriptor( + name='FlashHash', + full_name='FlashHash', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='FlashHash.address', 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='length', full_name='FlashHash.length', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='challenge', full_name='FlashHash.challenge', 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=4215, + serialized_end=4278, +) + + +_FLASHWRITE = _descriptor.Descriptor( + name='FlashWrite', + full_name='FlashWrite', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='FlashWrite.address', 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='data', full_name='FlashWrite.data', index=1, + number=2, type=12, cpp_type=9, label=1, + has_default_value=False, default_value=_b(""), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='erase', full_name='FlashWrite.erase', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4280, + serialized_end=4338, +) + + +_FLASHHASHRESPONSE = _descriptor.Descriptor( + name='FlashHashResponse', + full_name='FlashHashResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='data', full_name='FlashHashResponse.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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4340, + serialized_end=4373, +) + + +_DEBUGLINKFLASHDUMP = _descriptor.Descriptor( + name='DebugLinkFlashDump', + full_name='DebugLinkFlashDump', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='DebugLinkFlashDump.address', 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='length', full_name='DebugLinkFlashDump.length', index=1, + number=2, type=13, cpp_type=3, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4375, + serialized_end=4428, +) + + +_DEBUGLINKFLASHDUMPRESPONSE = _descriptor.Descriptor( + name='DebugLinkFlashDumpResponse', + full_name='DebugLinkFlashDumpResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='data', full_name='DebugLinkFlashDumpResponse.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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4430, + serialized_end=4472, +) + + +_SOFTRESET = _descriptor.Descriptor( + name='SoftReset', + full_name='SoftReset', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4474, + serialized_end=4485, +) + + +_FIRMWAREERASE = _descriptor.Descriptor( + name='FirmwareErase', + full_name='FirmwareErase', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4487, + serialized_end=4502, +) + + +_FIRMWAREUPLOAD = _descriptor.Descriptor( + name='FirmwareUpload', + full_name='FirmwareUpload', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='payload_hash', full_name='FirmwareUpload.payload_hash', 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), + _descriptor.FieldDescriptor( + name='payload', full_name='FirmwareUpload.payload', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4504, + serialized_end=4559, +) + + +_DEBUGLINKDECISION = _descriptor.Descriptor( + name='DebugLinkDecision', + full_name='DebugLinkDecision', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='yes_no', full_name='DebugLinkDecision.yes_no', index=0, + number=1, type=8, cpp_type=7, label=2, + 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=4561, + serialized_end=4596, +) + + +_DEBUGLINKGETSTATE = _descriptor.Descriptor( + name='DebugLinkGetState', + full_name='DebugLinkGetState', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4598, + serialized_end=4617, +) + + +_DEBUGLINKSTATE = _descriptor.Descriptor( + name='DebugLinkState', + full_name='DebugLinkState', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='layout', full_name='DebugLinkState.layout', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='pin', full_name='DebugLinkState.pin', 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='matrix', full_name='DebugLinkState.matrix', 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='mnemonic', full_name='DebugLinkState.mnemonic', 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='node', full_name='DebugLinkState.node', 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='passphrase_protection', full_name='DebugLinkState.passphrase_protection', index=5, + number=6, 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='reset_word', full_name='DebugLinkState.reset_word', index=6, + number=7, 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='reset_entropy', full_name='DebugLinkState.reset_entropy', 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='recovery_fake_word', full_name='DebugLinkState.recovery_fake_word', index=8, + number=9, 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='recovery_word_pos', full_name='DebugLinkState.recovery_word_pos', 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='recovery_cipher', full_name='DebugLinkState.recovery_cipher', index=10, + number=11, 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='recovery_auto_completed_word', full_name='DebugLinkState.recovery_auto_completed_word', index=11, + number=12, 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='firmware_hash', full_name='DebugLinkState.firmware_hash', index=12, + number=13, 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='storage_hash', full_name='DebugLinkState.storage_hash', index=13, + 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4620, + serialized_end=4963, +) + + +_DEBUGLINKSTOP = _descriptor.Descriptor( + name='DebugLinkStop', + full_name='DebugLinkStop', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4965, + serialized_end=4980, +) + + +_DEBUGLINKLOG = _descriptor.Descriptor( + name='DebugLinkLog', + full_name='DebugLinkLog', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='level', full_name='DebugLinkLog.level', 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='bucket', full_name='DebugLinkLog.bucket', 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='text', full_name='DebugLinkLog.text', 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4982, + serialized_end=5041, +) + + +_DEBUGLINKFILLCONFIG = _descriptor.Descriptor( + name='DebugLinkFillConfig', + full_name='DebugLinkFillConfig', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5043, + serialized_end=5064, +) + + +_CHANGEWIPECODE = _descriptor.Descriptor( + name='ChangeWipeCode', + full_name='ChangeWipeCode', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='remove', full_name='ChangeWipeCode.remove', index=0, + number=1, 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=5066, + serialized_end=5098, +) + +_FEATURES.fields_by_name['coins'].message_type = types__pb2._COINTYPE +_FEATURES.fields_by_name['policies'].message_type = types__pb2._POLICYTYPE +_COINTABLE.fields_by_name['table'].message_type = types__pb2._COINTYPE +_FAILURE.fields_by_name['code'].enum_type = types__pb2._FAILURETYPE +_BUTTONREQUEST.fields_by_name['code'].enum_type = types__pb2._BUTTONREQUESTTYPE +_PINMATRIXREQUEST.fields_by_name['type'].enum_type = types__pb2._PINMATRIXREQUESTTYPE +_GETPUBLICKEY.fields_by_name['script_type'].enum_type = types__pb2._INPUTSCRIPTTYPE +_PUBLICKEY.fields_by_name['node'].message_type = types__pb2._HDNODETYPE +_GETADDRESS.fields_by_name['multisig'].message_type = types__pb2._MULTISIGREDEEMSCRIPTTYPE +_GETADDRESS.fields_by_name['script_type'].enum_type = types__pb2._INPUTSCRIPTTYPE +_LOADDEVICE.fields_by_name['node'].message_type = types__pb2._HDNODETYPE +_SIGNMESSAGE.fields_by_name['script_type'].enum_type = types__pb2._INPUTSCRIPTTYPE +_TXREQUEST.fields_by_name['request_type'].enum_type = types__pb2._REQUESTTYPE +_TXREQUEST.fields_by_name['details'].message_type = types__pb2._TXREQUESTDETAILSTYPE +_TXREQUEST.fields_by_name['serialized'].message_type = types__pb2._TXREQUESTSERIALIZEDTYPE +_TXACK.fields_by_name['tx'].message_type = types__pb2._TRANSACTIONTYPE +_RAWTXACK.fields_by_name['tx'].message_type = types__pb2._RAWTRANSACTIONTYPE +_SIGNIDENTITY.fields_by_name['identity'].message_type = types__pb2._IDENTITYTYPE +_APPLYPOLICIES.fields_by_name['policy'].message_type = types__pb2._POLICYTYPE +_DEBUGLINKSTATE.fields_by_name['node'].message_type = types__pb2._HDNODETYPE +DESCRIPTOR.message_types_by_name['Initialize'] = _INITIALIZE +DESCRIPTOR.message_types_by_name['GetFeatures'] = _GETFEATURES +DESCRIPTOR.message_types_by_name['Features'] = _FEATURES +DESCRIPTOR.message_types_by_name['GetCoinTable'] = _GETCOINTABLE +DESCRIPTOR.message_types_by_name['CoinTable'] = _COINTABLE +DESCRIPTOR.message_types_by_name['ClearSession'] = _CLEARSESSION +DESCRIPTOR.message_types_by_name['ApplySettings'] = _APPLYSETTINGS +DESCRIPTOR.message_types_by_name['ChangePin'] = _CHANGEPIN +DESCRIPTOR.message_types_by_name['Ping'] = _PING +DESCRIPTOR.message_types_by_name['Success'] = _SUCCESS +DESCRIPTOR.message_types_by_name['Failure'] = _FAILURE +DESCRIPTOR.message_types_by_name['ButtonRequest'] = _BUTTONREQUEST +DESCRIPTOR.message_types_by_name['ButtonAck'] = _BUTTONACK +DESCRIPTOR.message_types_by_name['PinMatrixRequest'] = _PINMATRIXREQUEST +DESCRIPTOR.message_types_by_name['PinMatrixAck'] = _PINMATRIXACK +DESCRIPTOR.message_types_by_name['Cancel'] = _CANCEL +DESCRIPTOR.message_types_by_name['PassphraseRequest'] = _PASSPHRASEREQUEST +DESCRIPTOR.message_types_by_name['PassphraseAck'] = _PASSPHRASEACK +DESCRIPTOR.message_types_by_name['GetEntropy'] = _GETENTROPY +DESCRIPTOR.message_types_by_name['Entropy'] = _ENTROPY +DESCRIPTOR.message_types_by_name['GetPublicKey'] = _GETPUBLICKEY +DESCRIPTOR.message_types_by_name['PublicKey'] = _PUBLICKEY +DESCRIPTOR.message_types_by_name['GetAddress'] = _GETADDRESS +DESCRIPTOR.message_types_by_name['Address'] = _ADDRESS +DESCRIPTOR.message_types_by_name['WipeDevice'] = _WIPEDEVICE +DESCRIPTOR.message_types_by_name['LoadDevice'] = _LOADDEVICE +DESCRIPTOR.message_types_by_name['ResetDevice'] = _RESETDEVICE +DESCRIPTOR.message_types_by_name['EntropyRequest'] = _ENTROPYREQUEST +DESCRIPTOR.message_types_by_name['EntropyAck'] = _ENTROPYACK +DESCRIPTOR.message_types_by_name['RecoveryDevice'] = _RECOVERYDEVICE +DESCRIPTOR.message_types_by_name['WordRequest'] = _WORDREQUEST +DESCRIPTOR.message_types_by_name['WordAck'] = _WORDACK +DESCRIPTOR.message_types_by_name['CharacterRequest'] = _CHARACTERREQUEST +DESCRIPTOR.message_types_by_name['CharacterAck'] = _CHARACTERACK +DESCRIPTOR.message_types_by_name['SignMessage'] = _SIGNMESSAGE +DESCRIPTOR.message_types_by_name['VerifyMessage'] = _VERIFYMESSAGE +DESCRIPTOR.message_types_by_name['MessageSignature'] = _MESSAGESIGNATURE +DESCRIPTOR.message_types_by_name['EncryptMessage'] = _ENCRYPTMESSAGE +DESCRIPTOR.message_types_by_name['EncryptedMessage'] = _ENCRYPTEDMESSAGE +DESCRIPTOR.message_types_by_name['DecryptMessage'] = _DECRYPTMESSAGE +DESCRIPTOR.message_types_by_name['DecryptedMessage'] = _DECRYPTEDMESSAGE +DESCRIPTOR.message_types_by_name['CipherKeyValue'] = _CIPHERKEYVALUE +DESCRIPTOR.message_types_by_name['CipheredKeyValue'] = _CIPHEREDKEYVALUE +DESCRIPTOR.message_types_by_name['SignTx'] = _SIGNTX +DESCRIPTOR.message_types_by_name['TxRequest'] = _TXREQUEST +DESCRIPTOR.message_types_by_name['TxAck'] = _TXACK +DESCRIPTOR.message_types_by_name['RawTxAck'] = _RAWTXACK +DESCRIPTOR.message_types_by_name['SignIdentity'] = _SIGNIDENTITY +DESCRIPTOR.message_types_by_name['SignedIdentity'] = _SIGNEDIDENTITY +DESCRIPTOR.message_types_by_name['ApplyPolicies'] = _APPLYPOLICIES +DESCRIPTOR.message_types_by_name['FlashHash'] = _FLASHHASH +DESCRIPTOR.message_types_by_name['FlashWrite'] = _FLASHWRITE +DESCRIPTOR.message_types_by_name['FlashHashResponse'] = _FLASHHASHRESPONSE +DESCRIPTOR.message_types_by_name['DebugLinkFlashDump'] = _DEBUGLINKFLASHDUMP +DESCRIPTOR.message_types_by_name['DebugLinkFlashDumpResponse'] = _DEBUGLINKFLASHDUMPRESPONSE +DESCRIPTOR.message_types_by_name['SoftReset'] = _SOFTRESET +DESCRIPTOR.message_types_by_name['FirmwareErase'] = _FIRMWAREERASE +DESCRIPTOR.message_types_by_name['FirmwareUpload'] = _FIRMWAREUPLOAD +DESCRIPTOR.message_types_by_name['DebugLinkDecision'] = _DEBUGLINKDECISION +DESCRIPTOR.message_types_by_name['DebugLinkGetState'] = _DEBUGLINKGETSTATE +DESCRIPTOR.message_types_by_name['DebugLinkState'] = _DEBUGLINKSTATE +DESCRIPTOR.message_types_by_name['DebugLinkStop'] = _DEBUGLINKSTOP +DESCRIPTOR.message_types_by_name['DebugLinkLog'] = _DEBUGLINKLOG +DESCRIPTOR.message_types_by_name['DebugLinkFillConfig'] = _DEBUGLINKFILLCONFIG +DESCRIPTOR.message_types_by_name['ChangeWipeCode'] = _CHANGEWIPECODE +DESCRIPTOR.enum_types_by_name['MessageType'] = _MESSAGETYPE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Initialize = _reflection.GeneratedProtocolMessageType('Initialize', (_message.Message,), dict( + DESCRIPTOR = _INITIALIZE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Initialize) + )) +_sym_db.RegisterMessage(Initialize) + +GetFeatures = _reflection.GeneratedProtocolMessageType('GetFeatures', (_message.Message,), dict( + DESCRIPTOR = _GETFEATURES, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:GetFeatures) + )) +_sym_db.RegisterMessage(GetFeatures) + +Features = _reflection.GeneratedProtocolMessageType('Features', (_message.Message,), dict( + DESCRIPTOR = _FEATURES, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Features) + )) +_sym_db.RegisterMessage(Features) + +GetCoinTable = _reflection.GeneratedProtocolMessageType('GetCoinTable', (_message.Message,), dict( + DESCRIPTOR = _GETCOINTABLE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:GetCoinTable) + )) +_sym_db.RegisterMessage(GetCoinTable) + +CoinTable = _reflection.GeneratedProtocolMessageType('CoinTable', (_message.Message,), dict( + DESCRIPTOR = _COINTABLE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:CoinTable) + )) +_sym_db.RegisterMessage(CoinTable) + +ClearSession = _reflection.GeneratedProtocolMessageType('ClearSession', (_message.Message,), dict( + DESCRIPTOR = _CLEARSESSION, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ClearSession) + )) +_sym_db.RegisterMessage(ClearSession) + +ApplySettings = _reflection.GeneratedProtocolMessageType('ApplySettings', (_message.Message,), dict( + DESCRIPTOR = _APPLYSETTINGS, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ApplySettings) + )) +_sym_db.RegisterMessage(ApplySettings) + +ChangePin = _reflection.GeneratedProtocolMessageType('ChangePin', (_message.Message,), dict( + DESCRIPTOR = _CHANGEPIN, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ChangePin) + )) +_sym_db.RegisterMessage(ChangePin) + +Ping = _reflection.GeneratedProtocolMessageType('Ping', (_message.Message,), dict( + DESCRIPTOR = _PING, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Ping) + )) +_sym_db.RegisterMessage(Ping) + +Success = _reflection.GeneratedProtocolMessageType('Success', (_message.Message,), dict( + DESCRIPTOR = _SUCCESS, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Success) + )) +_sym_db.RegisterMessage(Success) + +Failure = _reflection.GeneratedProtocolMessageType('Failure', (_message.Message,), dict( + DESCRIPTOR = _FAILURE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Failure) + )) +_sym_db.RegisterMessage(Failure) + +ButtonRequest = _reflection.GeneratedProtocolMessageType('ButtonRequest', (_message.Message,), dict( + DESCRIPTOR = _BUTTONREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ButtonRequest) + )) +_sym_db.RegisterMessage(ButtonRequest) + +ButtonAck = _reflection.GeneratedProtocolMessageType('ButtonAck', (_message.Message,), dict( + DESCRIPTOR = _BUTTONACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ButtonAck) + )) +_sym_db.RegisterMessage(ButtonAck) + +PinMatrixRequest = _reflection.GeneratedProtocolMessageType('PinMatrixRequest', (_message.Message,), dict( + DESCRIPTOR = _PINMATRIXREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:PinMatrixRequest) + )) +_sym_db.RegisterMessage(PinMatrixRequest) + +PinMatrixAck = _reflection.GeneratedProtocolMessageType('PinMatrixAck', (_message.Message,), dict( + DESCRIPTOR = _PINMATRIXACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:PinMatrixAck) + )) +_sym_db.RegisterMessage(PinMatrixAck) + +Cancel = _reflection.GeneratedProtocolMessageType('Cancel', (_message.Message,), dict( + DESCRIPTOR = _CANCEL, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Cancel) + )) +_sym_db.RegisterMessage(Cancel) + +PassphraseRequest = _reflection.GeneratedProtocolMessageType('PassphraseRequest', (_message.Message,), dict( + DESCRIPTOR = _PASSPHRASEREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:PassphraseRequest) + )) +_sym_db.RegisterMessage(PassphraseRequest) + +PassphraseAck = _reflection.GeneratedProtocolMessageType('PassphraseAck', (_message.Message,), dict( + DESCRIPTOR = _PASSPHRASEACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:PassphraseAck) + )) +_sym_db.RegisterMessage(PassphraseAck) + +GetEntropy = _reflection.GeneratedProtocolMessageType('GetEntropy', (_message.Message,), dict( + DESCRIPTOR = _GETENTROPY, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:GetEntropy) + )) +_sym_db.RegisterMessage(GetEntropy) + +Entropy = _reflection.GeneratedProtocolMessageType('Entropy', (_message.Message,), dict( + DESCRIPTOR = _ENTROPY, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Entropy) + )) +_sym_db.RegisterMessage(Entropy) + +GetPublicKey = _reflection.GeneratedProtocolMessageType('GetPublicKey', (_message.Message,), dict( + DESCRIPTOR = _GETPUBLICKEY, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:GetPublicKey) + )) +_sym_db.RegisterMessage(GetPublicKey) + +PublicKey = _reflection.GeneratedProtocolMessageType('PublicKey', (_message.Message,), dict( + DESCRIPTOR = _PUBLICKEY, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:PublicKey) + )) +_sym_db.RegisterMessage(PublicKey) + +GetAddress = _reflection.GeneratedProtocolMessageType('GetAddress', (_message.Message,), dict( + DESCRIPTOR = _GETADDRESS, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:GetAddress) + )) +_sym_db.RegisterMessage(GetAddress) + +Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict( + DESCRIPTOR = _ADDRESS, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:Address) + )) +_sym_db.RegisterMessage(Address) + +WipeDevice = _reflection.GeneratedProtocolMessageType('WipeDevice', (_message.Message,), dict( + DESCRIPTOR = _WIPEDEVICE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:WipeDevice) + )) +_sym_db.RegisterMessage(WipeDevice) + +LoadDevice = _reflection.GeneratedProtocolMessageType('LoadDevice', (_message.Message,), dict( + DESCRIPTOR = _LOADDEVICE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:LoadDevice) + )) +_sym_db.RegisterMessage(LoadDevice) + +ResetDevice = _reflection.GeneratedProtocolMessageType('ResetDevice', (_message.Message,), dict( + DESCRIPTOR = _RESETDEVICE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ResetDevice) + )) +_sym_db.RegisterMessage(ResetDevice) + +EntropyRequest = _reflection.GeneratedProtocolMessageType('EntropyRequest', (_message.Message,), dict( + DESCRIPTOR = _ENTROPYREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:EntropyRequest) + )) +_sym_db.RegisterMessage(EntropyRequest) + +EntropyAck = _reflection.GeneratedProtocolMessageType('EntropyAck', (_message.Message,), dict( + DESCRIPTOR = _ENTROPYACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:EntropyAck) + )) +_sym_db.RegisterMessage(EntropyAck) + +RecoveryDevice = _reflection.GeneratedProtocolMessageType('RecoveryDevice', (_message.Message,), dict( + DESCRIPTOR = _RECOVERYDEVICE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:RecoveryDevice) + )) +_sym_db.RegisterMessage(RecoveryDevice) + +WordRequest = _reflection.GeneratedProtocolMessageType('WordRequest', (_message.Message,), dict( + DESCRIPTOR = _WORDREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:WordRequest) + )) +_sym_db.RegisterMessage(WordRequest) + +WordAck = _reflection.GeneratedProtocolMessageType('WordAck', (_message.Message,), dict( + DESCRIPTOR = _WORDACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:WordAck) + )) +_sym_db.RegisterMessage(WordAck) + +CharacterRequest = _reflection.GeneratedProtocolMessageType('CharacterRequest', (_message.Message,), dict( + DESCRIPTOR = _CHARACTERREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:CharacterRequest) + )) +_sym_db.RegisterMessage(CharacterRequest) + +CharacterAck = _reflection.GeneratedProtocolMessageType('CharacterAck', (_message.Message,), dict( + DESCRIPTOR = _CHARACTERACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:CharacterAck) + )) +_sym_db.RegisterMessage(CharacterAck) + +SignMessage = _reflection.GeneratedProtocolMessageType('SignMessage', (_message.Message,), dict( + DESCRIPTOR = _SIGNMESSAGE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:SignMessage) + )) +_sym_db.RegisterMessage(SignMessage) + +VerifyMessage = _reflection.GeneratedProtocolMessageType('VerifyMessage', (_message.Message,), dict( + DESCRIPTOR = _VERIFYMESSAGE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:VerifyMessage) + )) +_sym_db.RegisterMessage(VerifyMessage) + +MessageSignature = _reflection.GeneratedProtocolMessageType('MessageSignature', (_message.Message,), dict( + DESCRIPTOR = _MESSAGESIGNATURE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:MessageSignature) + )) +_sym_db.RegisterMessage(MessageSignature) + +EncryptMessage = _reflection.GeneratedProtocolMessageType('EncryptMessage', (_message.Message,), dict( + DESCRIPTOR = _ENCRYPTMESSAGE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:EncryptMessage) + )) +_sym_db.RegisterMessage(EncryptMessage) + +EncryptedMessage = _reflection.GeneratedProtocolMessageType('EncryptedMessage', (_message.Message,), dict( + DESCRIPTOR = _ENCRYPTEDMESSAGE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:EncryptedMessage) + )) +_sym_db.RegisterMessage(EncryptedMessage) + +DecryptMessage = _reflection.GeneratedProtocolMessageType('DecryptMessage', (_message.Message,), dict( + DESCRIPTOR = _DECRYPTMESSAGE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DecryptMessage) + )) +_sym_db.RegisterMessage(DecryptMessage) + +DecryptedMessage = _reflection.GeneratedProtocolMessageType('DecryptedMessage', (_message.Message,), dict( + DESCRIPTOR = _DECRYPTEDMESSAGE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DecryptedMessage) + )) +_sym_db.RegisterMessage(DecryptedMessage) + +CipherKeyValue = _reflection.GeneratedProtocolMessageType('CipherKeyValue', (_message.Message,), dict( + DESCRIPTOR = _CIPHERKEYVALUE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:CipherKeyValue) + )) +_sym_db.RegisterMessage(CipherKeyValue) + +CipheredKeyValue = _reflection.GeneratedProtocolMessageType('CipheredKeyValue', (_message.Message,), dict( + DESCRIPTOR = _CIPHEREDKEYVALUE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:CipheredKeyValue) + )) +_sym_db.RegisterMessage(CipheredKeyValue) + +SignTx = _reflection.GeneratedProtocolMessageType('SignTx', (_message.Message,), dict( + DESCRIPTOR = _SIGNTX, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:SignTx) + )) +_sym_db.RegisterMessage(SignTx) + +TxRequest = _reflection.GeneratedProtocolMessageType('TxRequest', (_message.Message,), dict( + DESCRIPTOR = _TXREQUEST, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:TxRequest) + )) +_sym_db.RegisterMessage(TxRequest) + +TxAck = _reflection.GeneratedProtocolMessageType('TxAck', (_message.Message,), dict( + DESCRIPTOR = _TXACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:TxAck) + )) +_sym_db.RegisterMessage(TxAck) + +RawTxAck = _reflection.GeneratedProtocolMessageType('RawTxAck', (_message.Message,), dict( + DESCRIPTOR = _RAWTXACK, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:RawTxAck) + )) +_sym_db.RegisterMessage(RawTxAck) + +SignIdentity = _reflection.GeneratedProtocolMessageType('SignIdentity', (_message.Message,), dict( + DESCRIPTOR = _SIGNIDENTITY, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:SignIdentity) + )) +_sym_db.RegisterMessage(SignIdentity) + +SignedIdentity = _reflection.GeneratedProtocolMessageType('SignedIdentity', (_message.Message,), dict( + DESCRIPTOR = _SIGNEDIDENTITY, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:SignedIdentity) + )) +_sym_db.RegisterMessage(SignedIdentity) + +ApplyPolicies = _reflection.GeneratedProtocolMessageType('ApplyPolicies', (_message.Message,), dict( + DESCRIPTOR = _APPLYPOLICIES, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ApplyPolicies) + )) +_sym_db.RegisterMessage(ApplyPolicies) + +FlashHash = _reflection.GeneratedProtocolMessageType('FlashHash', (_message.Message,), dict( + DESCRIPTOR = _FLASHHASH, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:FlashHash) + )) +_sym_db.RegisterMessage(FlashHash) + +FlashWrite = _reflection.GeneratedProtocolMessageType('FlashWrite', (_message.Message,), dict( + DESCRIPTOR = _FLASHWRITE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:FlashWrite) + )) +_sym_db.RegisterMessage(FlashWrite) + +FlashHashResponse = _reflection.GeneratedProtocolMessageType('FlashHashResponse', (_message.Message,), dict( + DESCRIPTOR = _FLASHHASHRESPONSE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:FlashHashResponse) + )) +_sym_db.RegisterMessage(FlashHashResponse) + +DebugLinkFlashDump = _reflection.GeneratedProtocolMessageType('DebugLinkFlashDump', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKFLASHDUMP, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkFlashDump) + )) +_sym_db.RegisterMessage(DebugLinkFlashDump) + +DebugLinkFlashDumpResponse = _reflection.GeneratedProtocolMessageType('DebugLinkFlashDumpResponse', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKFLASHDUMPRESPONSE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkFlashDumpResponse) + )) +_sym_db.RegisterMessage(DebugLinkFlashDumpResponse) + +SoftReset = _reflection.GeneratedProtocolMessageType('SoftReset', (_message.Message,), dict( + DESCRIPTOR = _SOFTRESET, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:SoftReset) + )) +_sym_db.RegisterMessage(SoftReset) + +FirmwareErase = _reflection.GeneratedProtocolMessageType('FirmwareErase', (_message.Message,), dict( + DESCRIPTOR = _FIRMWAREERASE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:FirmwareErase) + )) +_sym_db.RegisterMessage(FirmwareErase) + +FirmwareUpload = _reflection.GeneratedProtocolMessageType('FirmwareUpload', (_message.Message,), dict( + DESCRIPTOR = _FIRMWAREUPLOAD, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:FirmwareUpload) + )) +_sym_db.RegisterMessage(FirmwareUpload) + +DebugLinkDecision = _reflection.GeneratedProtocolMessageType('DebugLinkDecision', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKDECISION, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkDecision) + )) +_sym_db.RegisterMessage(DebugLinkDecision) + +DebugLinkGetState = _reflection.GeneratedProtocolMessageType('DebugLinkGetState', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKGETSTATE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkGetState) + )) +_sym_db.RegisterMessage(DebugLinkGetState) + +DebugLinkState = _reflection.GeneratedProtocolMessageType('DebugLinkState', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKSTATE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkState) + )) +_sym_db.RegisterMessage(DebugLinkState) + +DebugLinkStop = _reflection.GeneratedProtocolMessageType('DebugLinkStop', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKSTOP, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkStop) + )) +_sym_db.RegisterMessage(DebugLinkStop) + +DebugLinkLog = _reflection.GeneratedProtocolMessageType('DebugLinkLog', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKLOG, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkLog) + )) +_sym_db.RegisterMessage(DebugLinkLog) + +DebugLinkFillConfig = _reflection.GeneratedProtocolMessageType('DebugLinkFillConfig', (_message.Message,), dict( + DESCRIPTOR = _DEBUGLINKFILLCONFIG, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:DebugLinkFillConfig) + )) +_sym_db.RegisterMessage(DebugLinkFillConfig) + +ChangeWipeCode = _reflection.GeneratedProtocolMessageType('ChangeWipeCode', (_message.Message,), dict( + DESCRIPTOR = _CHANGEWIPECODE, + __module__ = 'messages_pb2' + # @@protoc_insertion_point(class_scope:ChangeWipeCode) + )) +_sym_db.RegisterMessage(ChangeWipeCode) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\032com.keepkey.deviceprotocolB\016KeepKeyMessage')) +_MESSAGETYPE.values_by_name["MessageType_Initialize"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Initialize"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Ping"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Ping"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Success"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Success"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Failure"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Failure"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ChangePin"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ChangePin"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_WipeDevice"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_WipeDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_FirmwareErase"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_FirmwareErase"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_FirmwareUpload"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_FirmwareUpload"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_GetEntropy"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_GetEntropy"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Entropy"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Entropy"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_GetPublicKey"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_GetPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_PublicKey"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_PublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_LoadDevice"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_LoadDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ResetDevice"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ResetDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Features"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Features"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_PinMatrixRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_PinMatrixRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_PinMatrixAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_PinMatrixAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Cancel"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Cancel"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TxRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TxRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TxAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TxAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CipherKeyValue"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CipherKeyValue"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ClearSession"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ClearSession"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ApplySettings"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ApplySettings"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ButtonRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ButtonRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ButtonAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ButtonAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_GetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_GetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Address"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Address"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EntropyRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EntropyRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EntropyAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EntropyAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SignMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SignMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_VerifyMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_VerifyMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_MessageSignature"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_MessageSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_PassphraseRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_PassphraseRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_PassphraseAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_PassphraseAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_RecoveryDevice"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_RecoveryDevice"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_WordRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_WordRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_WordAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_WordAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CipheredKeyValue"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CipheredKeyValue"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EncryptMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EncryptMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EncryptedMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EncryptedMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DecryptMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DecryptMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DecryptedMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DecryptedMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SignIdentity"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SignIdentity"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SignedIdentity"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SignedIdentity"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_GetFeatures"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_GetFeatures"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumTxRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumTxRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumTxAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumTxAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CharacterRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CharacterRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CharacterAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CharacterAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_RawTxAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_RawTxAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ApplyPolicies"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ApplyPolicies"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_FlashHash"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_FlashHash"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_FlashWrite"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_FlashWrite"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_FlashHashResponse"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_FlashHashResponse"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDump"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDump"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDumpResponse"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkFlashDumpResponse"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SoftReset"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SoftReset"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkDecision"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkDecision"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkGetState"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkGetState"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkState"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkState"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkStop"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkStop"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\240\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkLog"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkLog"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_DebugLinkFillConfig"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_DebugLinkFillConfig"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\250\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_GetCoinTable"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_GetCoinTable"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CoinTable"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CoinTable"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumSignMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumSignMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumVerifyMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumVerifyMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumMessageSignature"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumMessageSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ChangeWipeCode"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ChangeWipeCode"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumSignTypedHash"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumSignTypedHash"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EthereumTypedDataSignature"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EthereumTypedDataSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_Ethereum712TypesValues"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_Ethereum712TypesValues"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_RippleGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_RippleGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_RippleAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_RippleAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_RippleSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_RippleSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_RippleSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_RippleSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ThorchainGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ThorchainGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ThorchainAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ThorchainAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ThorchainSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ThorchainSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ThorchainMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_ThorchainSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_ThorchainSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EosGetPublicKey"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EosGetPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EosPublicKey"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EosPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EosSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EosSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EosTxActionRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EosTxActionRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EosTxActionAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EosTxActionAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_EosSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_EosSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_NanoGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_NanoGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_NanoAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_NanoAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_NanoSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_NanoSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_NanoSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_NanoSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SolanaGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SolanaGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SolanaAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SolanaAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SolanaSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SolanaSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SolanaSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SolanaSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SolanaSignMessage"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SolanaSignMessage"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_SolanaMessageSignature"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_SolanaMessageSignature"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceGetPublicKey"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceGetPublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinancePublicKey"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinancePublicKey"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceTxRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceTxRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceTransferMsg"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceTransferMsg"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceOrderMsg"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceOrderMsg"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceCancelMsg"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceCancelMsg"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_BinanceSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_BinanceSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgDelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgDelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgUndelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgUndelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRedelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRedelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRewards"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgRewards"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgIBCTransfer"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_CosmosMsgIBCTransfer"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgSend"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgSend"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgDelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgDelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgUndelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgUndelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRedelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRedelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRewards"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgRewards"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgIBCTransfer"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_TendermintMsgIBCTransfer"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisGetAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisGetAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisAddress"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisAddress"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisSignTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisSignTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRequest"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRequest"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgAck"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgAck"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSend"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSend"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgDelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgDelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgUndelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgUndelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRedelegate"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRedelegate"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRewards"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgRewards"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPAdd"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPAdd"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPRemove"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPRemove"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPStake"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPStake"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPUnstake"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgLPUnstake"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgIBCTransfer"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgIBCTransfer"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSwap"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisMsgSwap"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\220\265\030\001')) +_MESSAGETYPE.values_by_name["MessageType_OsmosisSignedTx"].has_options = True +_MESSAGETYPE.values_by_name["MessageType_OsmosisSignedTx"]._options = _descriptor._ParseOptions(descriptor_pb2.EnumValueOptions(), _b('\230\265\030\001')) # @@protoc_insertion_point(module_scope) diff --git a/keepkeylib/messages_solana_pb2.py b/keepkeylib/messages_solana_pb2.py index 9004c1f5..48436d9f 100644 --- a/keepkeylib/messages_solana_pb2.py +++ b/keepkeylib/messages_solana_pb2.py @@ -1,22 +1,13 @@ -# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! -# NO CHECKED-IN PROTOBUF GENCODE # source: messages-solana.proto -# Protobuf Python Version: 6.33.0 -"""Generated protocol buffer code.""" + +import sys +_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import runtime_version as _runtime_version +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.internal import builder as _builder -_runtime_version.ValidateProtobufRuntimeVersion( - _runtime_version.Domain.PUBLIC, - 6, - 33, - 0, - '', - 'messages-solana.proto' -) +from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -24,26 +15,369 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15messages-solana.proto\"V\n\x10SolanaGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\" \n\rSolanaAddress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"A\n\x0fSolanaTokenInfo\x12\x0c\n\x04mint\x18\x01 \x01(\x0c\x12\x0e\n\x06symbol\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x63imals\x18\x03 \x01(\r\"r\n\x0cSolanaSignTx\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x0e\n\x06raw_tx\x18\x03 \x01(\x0c\x12$\n\ntoken_info\x18\x04 \x03(\x0b\x32\x10.SolanaTokenInfo\"#\n\x0eSolanaSignedTx\x12\x11\n\tsignature\x18\x01 \x01(\x0c\"h\n\x11SolanaSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x14\n\x0cshow_display\x18\x04 \x01(\x08\"?\n\x16SolanaMessageSignature\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x42\x32\n\x1a\x63om.keepkey.deviceprotocolB\x14KeepKeyMessageSolana') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'messages_solana_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\032com.keepkey.deviceprotocolB\024KeepKeyMessageSolana' - _globals['_SOLANAGETADDRESS']._serialized_start=25 - _globals['_SOLANAGETADDRESS']._serialized_end=111 - _globals['_SOLANAADDRESS']._serialized_start=113 - _globals['_SOLANAADDRESS']._serialized_end=145 - _globals['_SOLANATOKENINFO']._serialized_start=147 - _globals['_SOLANATOKENINFO']._serialized_end=212 - _globals['_SOLANASIGNTX']._serialized_start=214 - _globals['_SOLANASIGNTX']._serialized_end=328 - _globals['_SOLANASIGNEDTX']._serialized_start=330 - _globals['_SOLANASIGNEDTX']._serialized_end=365 - _globals['_SOLANASIGNMESSAGE']._serialized_start=367 - _globals['_SOLANASIGNMESSAGE']._serialized_end=471 - _globals['_SOLANAMESSAGESIGNATURE']._serialized_start=473 - _globals['_SOLANAMESSAGESIGNATURE']._serialized_end=536 +DESCRIPTOR = _descriptor.FileDescriptor( + name='messages-solana.proto', + package='', + syntax='proto2', + serialized_pb=_b('\n\x15messages-solana.proto\"V\n\x10SolanaGetAddress\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x14\n\x0cshow_display\x18\x03 \x01(\x08\" \n\rSolanaAddress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"A\n\x0fSolanaTokenInfo\x12\x0c\n\x04mint\x18\x01 \x01(\x0c\x12\x0e\n\x06symbol\x18\x02 \x01(\t\x12\x10\n\x08\x64\x65\x63imals\x18\x03 \x01(\r\"r\n\x0cSolanaSignTx\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x0e\n\x06raw_tx\x18\x03 \x01(\x0c\x12$\n\ntoken_info\x18\x04 \x03(\x0b\x32\x10.SolanaTokenInfo\"#\n\x0eSolanaSignedTx\x12\x11\n\tsignature\x18\x01 \x01(\x0c\"h\n\x11SolanaSignMessage\x12\x11\n\taddress_n\x18\x01 \x03(\r\x12\x19\n\tcoin_name\x18\x02 \x01(\t:\x06Solana\x12\x0f\n\x07message\x18\x03 \x01(\x0c\x12\x14\n\x0cshow_display\x18\x04 \x01(\x08\"?\n\x16SolanaMessageSignature\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x42\x32\n\x1a\x63om.keepkey.deviceprotocolB\x14KeepKeyMessageSolana') +) + + + + +_SOLANAGETADDRESS = _descriptor.Descriptor( + name='SolanaGetAddress', + full_name='SolanaGetAddress', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='SolanaGetAddress.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='coin_name', full_name='SolanaGetAddress.coin_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=True, default_value=_b("Solana").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='show_display', full_name='SolanaGetAddress.show_display', index=2, + number=3, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=25, + serialized_end=111, +) + + +_SOLANAADDRESS = _descriptor.Descriptor( + name='SolanaAddress', + full_name='SolanaAddress', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='SolanaAddress.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=113, + serialized_end=145, +) + + +_SOLANATOKENINFO = _descriptor.Descriptor( + name='SolanaTokenInfo', + full_name='SolanaTokenInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='mint', full_name='SolanaTokenInfo.mint', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='symbol', full_name='SolanaTokenInfo.symbol', 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='decimals', full_name='SolanaTokenInfo.decimals', 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=147, + serialized_end=212, +) + + +_SOLANASIGNTX = _descriptor.Descriptor( + name='SolanaSignTx', + full_name='SolanaSignTx', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='SolanaSignTx.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='coin_name', full_name='SolanaSignTx.coin_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=True, default_value=_b("Solana").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='raw_tx', full_name='SolanaSignTx.raw_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), + _descriptor.FieldDescriptor( + name='token_info', full_name='SolanaSignTx.token_info', index=3, + number=4, 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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=214, + serialized_end=328, +) + + +_SOLANASIGNEDTX = _descriptor.Descriptor( + name='SolanaSignedTx', + full_name='SolanaSignedTx', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='signature', full_name='SolanaSignedTx.signature', 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, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=330, + serialized_end=365, +) + + +_SOLANASIGNMESSAGE = _descriptor.Descriptor( + name='SolanaSignMessage', + full_name='SolanaSignMessage', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='address_n', full_name='SolanaSignMessage.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='coin_name', full_name='SolanaSignMessage.coin_name', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=True, default_value=_b("Solana").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='message', full_name='SolanaSignMessage.message', 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), + _descriptor.FieldDescriptor( + name='show_display', full_name='SolanaSignMessage.show_display', index=3, + number=4, type=8, cpp_type=7, label=1, + has_default_value=False, default_value=False, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=367, + serialized_end=471, +) + + +_SOLANAMESSAGESIGNATURE = _descriptor.Descriptor( + name='SolanaMessageSignature', + full_name='SolanaMessageSignature', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='public_key', full_name='SolanaMessageSignature.public_key', 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, + options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='signature', full_name='SolanaMessageSignature.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), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + options=None, + is_extendable=False, + syntax='proto2', + extension_ranges=[], + oneofs=[ + ], + serialized_start=473, + serialized_end=536, +) + +_SOLANASIGNTX.fields_by_name['token_info'].message_type = _SOLANATOKENINFO +DESCRIPTOR.message_types_by_name['SolanaGetAddress'] = _SOLANAGETADDRESS +DESCRIPTOR.message_types_by_name['SolanaAddress'] = _SOLANAADDRESS +DESCRIPTOR.message_types_by_name['SolanaTokenInfo'] = _SOLANATOKENINFO +DESCRIPTOR.message_types_by_name['SolanaSignTx'] = _SOLANASIGNTX +DESCRIPTOR.message_types_by_name['SolanaSignedTx'] = _SOLANASIGNEDTX +DESCRIPTOR.message_types_by_name['SolanaSignMessage'] = _SOLANASIGNMESSAGE +DESCRIPTOR.message_types_by_name['SolanaMessageSignature'] = _SOLANAMESSAGESIGNATURE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +SolanaGetAddress = _reflection.GeneratedProtocolMessageType('SolanaGetAddress', (_message.Message,), dict( + DESCRIPTOR = _SOLANAGETADDRESS, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaGetAddress) + )) +_sym_db.RegisterMessage(SolanaGetAddress) + +SolanaAddress = _reflection.GeneratedProtocolMessageType('SolanaAddress', (_message.Message,), dict( + DESCRIPTOR = _SOLANAADDRESS, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaAddress) + )) +_sym_db.RegisterMessage(SolanaAddress) + +SolanaTokenInfo = _reflection.GeneratedProtocolMessageType('SolanaTokenInfo', (_message.Message,), dict( + DESCRIPTOR = _SOLANATOKENINFO, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaTokenInfo) + )) +_sym_db.RegisterMessage(SolanaTokenInfo) + +SolanaSignTx = _reflection.GeneratedProtocolMessageType('SolanaSignTx', (_message.Message,), dict( + DESCRIPTOR = _SOLANASIGNTX, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaSignTx) + )) +_sym_db.RegisterMessage(SolanaSignTx) + +SolanaSignedTx = _reflection.GeneratedProtocolMessageType('SolanaSignedTx', (_message.Message,), dict( + DESCRIPTOR = _SOLANASIGNEDTX, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaSignedTx) + )) +_sym_db.RegisterMessage(SolanaSignedTx) + +SolanaSignMessage = _reflection.GeneratedProtocolMessageType('SolanaSignMessage', (_message.Message,), dict( + DESCRIPTOR = _SOLANASIGNMESSAGE, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaSignMessage) + )) +_sym_db.RegisterMessage(SolanaSignMessage) + +SolanaMessageSignature = _reflection.GeneratedProtocolMessageType('SolanaMessageSignature', (_message.Message,), dict( + DESCRIPTOR = _SOLANAMESSAGESIGNATURE, + __module__ = 'messages_solana_pb2' + # @@protoc_insertion_point(class_scope:SolanaMessageSignature) + )) +_sym_db.RegisterMessage(SolanaMessageSignature) + + +DESCRIPTOR.has_options = True +DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\032com.keepkey.deviceprotocolB\024KeepKeyMessageSolana')) # @@protoc_insertion_point(module_scope) diff --git a/tests/test_msg_solana_getaddress.py b/tests/test_msg_solana_getaddress.py new file mode 100644 index 00000000..7b04c325 --- /dev/null +++ b/tests/test_msg_solana_getaddress.py @@ -0,0 +1,161 @@ +# Solana address derivation tests. +# +# Tests SolanaGetAddress message which derives Solana addresses +# (Ed25519 public keys encoded as Base58) from the device seed. +# +# Uses the "all" x12 mnemonic as the master seed. +# Solana BIP-44 path: m/44'/501'/account'/change' + +import unittest +import common +import re + +from keepkeylib import messages_solana_pb2 as solana_proto + +# Base58 alphabet (Bitcoin variant, used by Solana) +BASE58_ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' +BASE58_RE = re.compile('^[' + BASE58_ALPHABET + ']+$') + +# Hardened offset +H = 0x80000000 + + +def _is_valid_solana_address(address): + """Check that an address is a valid Solana Base58 string (32-44 chars).""" + if not isinstance(address, str): + # Handle bytes response from older protobuf + try: + address = address.decode('utf-8') + except (AttributeError, UnicodeDecodeError): + return False + if len(address) < 32 or len(address) > 44: + return False + if not BASE58_RE.match(address): + return False + return True + + +class TestMsgSolanaGetAddress(common.KeepKeyTest): + """Test Solana address derivation from the device.""" + + def test_solana_get_address(self): + """Derive Solana address at standard path m/44'/501'/0'/0'.""" + self.requires_firmware("7.14.0") + self.setup_mnemonic_allallall() + + resp = self.client.call( + solana_proto.SolanaGetAddress( + address_n=[H + 44, H + 501, H + 0, H + 0], + show_display=False, + ) + ) + + self.assertTrue( + isinstance(resp, solana_proto.SolanaAddress), + "Expected SolanaAddress response, got %s" % type(resp).__name__ + ) + + address = resp.address + # Handle bytes vs str + if isinstance(address, bytes): + address = address.decode('utf-8') + + self.assertTrue( + _is_valid_solana_address(address), + "Invalid Solana address format: '%s' (len=%d)" % (address, len(address)) + ) + + def test_solana_different_accounts(self): + """Different account indices must produce different addresses.""" + self.requires_firmware("7.14.0") + self.setup_mnemonic_allallall() + + # Account 0: m/44'/501'/0'/0' + resp0 = self.client.call( + solana_proto.SolanaGetAddress( + address_n=[H + 44, H + 501, H + 0, H + 0], + show_display=False, + ) + ) + # Account 1: m/44'/501'/1'/0' + resp1 = self.client.call( + solana_proto.SolanaGetAddress( + address_n=[H + 44, H + 501, H + 1, H + 0], + show_display=False, + ) + ) + + self.assertTrue( + isinstance(resp0, solana_proto.SolanaAddress), + "Expected SolanaAddress for account 0, got %s" % type(resp0).__name__ + ) + self.assertTrue( + isinstance(resp1, solana_proto.SolanaAddress), + "Expected SolanaAddress for account 1, got %s" % type(resp1).__name__ + ) + + addr0 = resp0.address + addr1 = resp1.address + if isinstance(addr0, bytes): + addr0 = addr0.decode('utf-8') + if isinstance(addr1, bytes): + addr1 = addr1.decode('utf-8') + + # Both must be valid + self.assertTrue( + _is_valid_solana_address(addr0), + "Account 0 address invalid: '%s'" % addr0 + ) + self.assertTrue( + _is_valid_solana_address(addr1), + "Account 1 address invalid: '%s'" % addr1 + ) + + # Must be different + self.assertTrue( + addr0 != addr1, + "Account 0 and account 1 produced identical addresses: %s" % addr0 + ) + + def test_solana_deterministic(self): + """Same path must produce the same address every time.""" + self.requires_firmware("7.14.0") + self.setup_mnemonic_allallall() + + resp1 = self.client.call( + solana_proto.SolanaGetAddress( + address_n=[H + 44, H + 501, H + 0, H + 0], + show_display=False, + ) + ) + resp2 = self.client.call( + solana_proto.SolanaGetAddress( + address_n=[H + 44, H + 501, H + 0, H + 0], + show_display=False, + ) + ) + + self.assertTrue( + isinstance(resp1, solana_proto.SolanaAddress), + "Expected SolanaAddress (call 1), got %s" % type(resp1).__name__ + ) + self.assertTrue( + isinstance(resp2, solana_proto.SolanaAddress), + "Expected SolanaAddress (call 2), got %s" % type(resp2).__name__ + ) + + addr1 = resp1.address + addr2 = resp2.address + if isinstance(addr1, bytes): + addr1 = addr1.decode('utf-8') + if isinstance(addr2, bytes): + addr2 = addr2.decode('utf-8') + + self.assertTrue( + addr1 == addr2, + "Determinism violated: '%s' != '%s'" % (addr1, addr2) + ) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_msg_solana_signtx.py b/tests/test_msg_solana_signtx.py index e333e949..cd968347 100644 --- a/tests/test_msg_solana_signtx.py +++ b/tests/test_msg_solana_signtx.py @@ -96,37 +96,6 @@ def test_solana_sign_system_transfer(self): self.assertEqual(len(resp.signature), 64) self.assertFalse(all(b == 0 for b in resp.signature)) - def test_solana_sign_with_token_info(self): - """Test Solana signing with host-provided token metadata.""" - self.requires_fullFeature() - self.setup_mnemonic_allallall() - - from_pubkey = b'\x11' * 32 - to_pubkey = b'\x22' * 32 - raw_tx = build_system_transfer_tx(from_pubkey, to_pubkey, 500000000) - - # Include token info for display (even though this is a SOL transfer, - # it tests that the token_info field is accepted) - usdc_mint = b'\x06\xdd\xf6\xe1\xd7\x65\xa1\x93' \ - b'\xd9\xcb\xe1\x46\xce\xeb\x79\xac' \ - b'\x1c\xb4\x85\xed\x5f\x5b\x37\x91' \ - b'\x3a\x8c\xf5\x85\x7e\xff\x00\xa9' - - msg = messages.SolanaSignTx( - address_n=parse_path("m/44'/501'/0'/0'"), - raw_tx=raw_tx, - token_info=[ - messages.SolanaTokenInfo( - mint=usdc_mint, - symbol="USDC", - decimals=6, - ), - ], - ) - resp = self.client.call(msg) - - self.assertEqual(len(resp.signature), 64) - def test_solana_sign_message(self): """Test Solana arbitrary message signing.""" self.requires_fullFeature() From c2543915fb32d1506f7bc65c2deca2441e1995e5 Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 20:18:44 -0600 Subject: [PATCH 7/9] fix(ci): point vendored protocol submodule to fork --- .gitmodules | 4 ++-- device-protocol | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 7f7cad9b..3a9702e8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "device-protocol"] path = device-protocol -url = https://github.com/keepkey/device-protocol.git -branch = master +url = https://github.com/BitHighlander/device-protocol.git +branch = feature/solana-proto [submodule "keepkeylib/eth/ethereum-lists"] path = keepkeylib/eth/ethereum-lists url = https://github.com/keepkey/ethereum-lists.git diff --git a/device-protocol b/device-protocol index 09e88a95..e58c51a2 160000 --- a/device-protocol +++ b/device-protocol @@ -1 +1 @@ -Subproject commit 09e88a9529196ff0e7346d72c57d97022d2785af +Subproject commit e58c51a262e376721b1e7cb0197b37ed7751fc0a From 255984fbdf77e19c32a6f87639929ffb5e0b8169 Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 21:11:57 -0600 Subject: [PATCH 8/9] fix(tests): skip TON/TRON/MayaChain tests when protos unavailable Use @unittest.skipUnless guards so these tests are skipped gracefully when protobuf messages are not available in the build, rather than failing with import/mapping errors. --- tests/test_msg_mayachain_getaddress.py | 7 +++++++ tests/test_msg_ton_signtx.py | 7 +++++++ tests/test_msg_tron_signtx.py | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/tests/test_msg_mayachain_getaddress.py b/tests/test_msg_mayachain_getaddress.py index 372092e8..b7ff6390 100644 --- a/tests/test_msg_mayachain_getaddress.py +++ b/tests/test_msg_mayachain_getaddress.py @@ -1,6 +1,12 @@ import unittest import common +try: + import keepkeylib.messages_mayachain_pb2 as _maya_msgs + _has_maya = True +except Exception: + _has_maya = False + import keepkeylib.messages_pb2 as proto import keepkeylib.types_pb2 as proto_types from keepkeylib.client import CallException @@ -8,6 +14,7 @@ DEFAULT_BIP32_PATH = "m/44h/931h/0h/0/0" +@unittest.skipUnless(_has_maya, "MayaChain protobuf messages not available in this build") class TestMsgMayaChainGetAddress(common.KeepKeyTest): def test_mayachain_get_address(self): diff --git a/tests/test_msg_ton_signtx.py b/tests/test_msg_ton_signtx.py index f9dce441..2eb2ff03 100644 --- a/tests/test_msg_ton_signtx.py +++ b/tests/test_msg_ton_signtx.py @@ -8,6 +8,12 @@ import pytest import unittest + +try: + from keepkeylib import messages_pb2 as _msgs + _has_ton = hasattr(_msgs, 'TonGetAddress') +except Exception: + _has_ton = False import common import binascii import struct @@ -50,6 +56,7 @@ def make_ton_address(workchain=0, hash_bytes=None, bounceable=True, testnet=Fals return base64.b64encode(raw).decode('ascii') +@unittest.skipUnless(_has_ton, "TON protobuf messages not available in this build") class TestMsgTonSignTx(common.KeepKeyTest): def test_ton_get_address(self): diff --git a/tests/test_msg_tron_signtx.py b/tests/test_msg_tron_signtx.py index 0fc89f8c..996b925b 100644 --- a/tests/test_msg_tron_signtx.py +++ b/tests/test_msg_tron_signtx.py @@ -8,6 +8,12 @@ import pytest import unittest + +try: + from keepkeylib import messages_pb2 as _msgs + _has_tron = hasattr(_msgs, 'TronGetAddress') +except Exception: + _has_tron = False import common import binascii import struct @@ -18,6 +24,7 @@ from keepkeylib.tools import parse_path +@unittest.skipUnless(_has_tron, "TRON protobuf messages not available in this build") class TestMsgTronSignTx(common.KeepKeyTest): def test_tron_get_address(self): From 3c0e241f5ac501c6fab6c6bcac56634c4958dd9b Mon Sep 17 00:00:00 2001 From: highlander Date: Tue, 17 Mar 2026 21:20:25 -0600 Subject: [PATCH 9/9] fix(tests): check MayaChain mapping registration, not just import The MayachainGetAddress class imports fine but may not be registered in map_class_to_type if MessageType enum lacks the entry. Check the actual dispatch dict to decide whether to skip the test. --- tests/test_msg_mayachain_getaddress.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/test_msg_mayachain_getaddress.py b/tests/test_msg_mayachain_getaddress.py index b7ff6390..01b006cf 100644 --- a/tests/test_msg_mayachain_getaddress.py +++ b/tests/test_msg_mayachain_getaddress.py @@ -2,8 +2,12 @@ import common try: - import keepkeylib.messages_mayachain_pb2 as _maya_msgs - _has_maya = True + from keepkeylib import messages_mayachain_pb2 as _maya_msgs + from keepkeylib import mapping as _mapping + # Verify request class is registered in wire mapping (not just importable). + # build_map() runs at import; if MayachainGetAddress is missing from + # MessageType enum it won't be in the dispatch dict. + _has_maya = _maya_msgs.MayachainGetAddress in _mapping.map_class_to_type except Exception: _has_maya = False @@ -14,7 +18,7 @@ DEFAULT_BIP32_PATH = "m/44h/931h/0h/0/0" -@unittest.skipUnless(_has_maya, "MayaChain protobuf messages not available in this build") +@unittest.skipUnless(_has_maya, "MayaChain message mapping not registered in this build") class TestMsgMayaChainGetAddress(common.KeepKeyTest): def test_mayachain_get_address(self):