# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: qrl.proto

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 message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='qrl.proto',
  package='qrl',
  syntax='proto3',
  serialized_pb=_b('\n\tqrl.proto\x12\x03qrl\"\x07\n\x05\x45mpty\"\x11\n\x0fGetNodeStateReq\"/\n\x10GetNodeStateResp\x12\x1b\n\x04info\x18\x01 \x01(\x0b\x32\r.qrl.NodeInfo\"\x12\n\x10GetKnownPeersReq\"U\n\x11GetKnownPeersResp\x12 \n\tnode_info\x18\x01 \x01(\x0b\x32\r.qrl.NodeInfo\x12\x1e\n\x0bknown_peers\x18\x02 \x03(\x0b\x32\t.qrl.Peer\"\x11\n\x0fGetPeersStatReq\"5\n\x10GetPeersStatResp\x12!\n\npeers_stat\x18\x01 \x03(\x0b\x32\r.qrl.PeerStat\")\n\x0bGetStatsReq\x12\x1a\n\x12include_timeseries\x18\x01 \x01(\x08\"\x84\x02\n\x0cGetStatsResp\x12 \n\tnode_info\x18\x01 \x01(\x0b\x32\r.qrl.NodeInfo\x12\r\n\x05\x65poch\x18\x02 \x01(\x04\x12\x16\n\x0euptime_network\x18\x03 \x01(\x04\x12\x19\n\x11\x62lock_last_reward\x18\x04 \x01(\x04\x12\x17\n\x0f\x62lock_time_mean\x18\x05 \x01(\x04\x12\x15\n\rblock_time_sd\x18\x06 \x01(\x04\x12\x1a\n\x12\x63oins_total_supply\x18\x07 \x01(\x04\x12\x15\n\rcoins_emitted\x18\x08 \x01(\x04\x12-\n\x10\x62lock_timeseries\x18\t \x03(\x0b\x32\x13.qrl.BlockDataPoint\"!\n\x13GetAddressFromPKReq\x12\n\n\x02pk\x18\x01 \x01(\x0c\"\'\n\x14GetAddressFromPKResp\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"\xb2\x01\n\x0e\x42lockDataPoint\x12\x0e\n\x06number\x18\x01 \x01(\x04\x12\x12\n\ndifficulty\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12\x11\n\ttime_last\x18\x04 \x01(\x04\x12\x13\n\x0btime_movavg\x18\x05 \x01(\x04\x12\x12\n\nhash_power\x18\x06 \x01(\x02\x12\x13\n\x0bheader_hash\x18\x07 \x01(\x0c\x12\x18\n\x10header_hash_prev\x18\x08 \x01(\x0c\"g\n\x12GetAddressStateReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x1c\n\x14\x65xclude_ots_bitfield\x18\x02 \x01(\x08\x12\"\n\x1a\x65xclude_transaction_hashes\x18\x03 \x01(\x08\"7\n\x13GetAddressStateResp\x12 \n\x05state\x18\x01 \x01(\x0b\x32\x11.qrl.AddressState\"\"\n\x0fParseAddressReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"J\n\x10ParseAddressResp\x12\x10\n\x08is_valid\x18\x01 \x01(\x08\x12$\n\x04\x64\x65sc\x18\x02 \x01(\x0b\x32\x16.qrl.AddressDescriptor\"\x1d\n\x0cGetObjectReq\x12\r\n\x05query\x18\x01 \x01(\x0c\"\xb3\x01\n\rGetObjectResp\x12\r\n\x05\x66ound\x18\x01 \x01(\x08\x12*\n\raddress_state\x18\x02 \x01(\x0b\x32\x11.qrl.AddressStateH\x00\x12/\n\x0btransaction\x18\x03 \x01(\x0b\x32\x18.qrl.TransactionExtendedH\x00\x12,\n\x0e\x62lock_extended\x18\x04 \x01(\x0b\x32\x12.qrl.BlockExtendedH\x00\x42\x08\n\x06result\"\xb7\x01\n\x10GetLatestDataReq\x12,\n\x06\x66ilter\x18\x01 \x01(\x0e\x32\x1c.qrl.GetLatestDataReq.Filter\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x10\n\x08quantity\x18\x03 \x01(\r\"S\n\x06\x46ilter\x12\x07\n\x03\x41LL\x10\x00\x12\x10\n\x0c\x42LOCKHEADERS\x10\x01\x12\x10\n\x0cTRANSACTIONS\x10\x02\x12\x1c\n\x18TRANSACTIONS_UNCONFIRMED\x10\x03\"\xaf\x01\n\x11GetLatestDataResp\x12.\n\x0c\x62lockheaders\x18\x01 \x03(\x0b\x32\x18.qrl.BlockHeaderExtended\x12.\n\x0ctransactions\x18\x02 \x03(\x0b\x32\x18.qrl.TransactionExtended\x12:\n\x18transactions_unconfirmed\x18\x03 \x03(\x0b\x32\x18.qrl.TransactionExtended\"l\n\x10TransferCoinsReq\x12\x13\n\x0bmaster_addr\x18\x01 \x01(\x0c\x12\x14\n\x0c\x61\x64\x64resses_to\x18\x02 \x03(\x0c\x12\x0f\n\x07\x61mounts\x18\x03 \x03(\x04\x12\x0b\n\x03\x66\x65\x65\x18\x04 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x05 \x01(\x0c\"T\n\x11TransferCoinsResp\x12?\n\x1d\x65xtended_transaction_unsigned\x18\x01 \x01(\x0b\x32\x18.qrl.TransactionExtended\"B\n\x12PushTransactionReq\x12,\n\x12transaction_signed\x18\x01 \x01(\x0b\x32\x10.qrl.Transaction\"\xca\x01\n\x13PushTransactionResp\x12\x39\n\nerror_code\x18\x01 \x01(\x0e\x32%.qrl.PushTransactionResp.ResponseCode\x12\x19\n\x11\x65rror_description\x18\x02 \x01(\t\x12\x0f\n\x07tx_hash\x18\x03 \x01(\x0c\"L\n\x0cResponseCode\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\x12\x15\n\x11VALIDATION_FAILED\x10\x02\x12\r\n\tSUBMITTED\x10\x03\"S\n\rMessageTxnReq\x12\x13\n\x0bmaster_addr\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\x12\x0b\n\x03\x66\x65\x65\x18\x03 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x04 \x01(\x0c\"\xad\x01\n\x0bTokenTxnReq\x12\x13\n\x0bmaster_addr\x18\x01 \x01(\x0c\x12\x0e\n\x06symbol\x18\x02 \x01(\x0c\x12\x0c\n\x04name\x18\x03 \x01(\x0c\x12\r\n\x05owner\x18\x04 \x01(\x0c\x12\x10\n\x08\x64\x65\x63imals\x18\x05 \x01(\x04\x12,\n\x10initial_balances\x18\x06 \x03(\x0b\x32\x12.qrl.AddressAmount\x12\x0b\n\x03\x66\x65\x65\x18\x07 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x08 \x01(\x0c\"\x85\x01\n\x13TransferTokenTxnReq\x12\x13\n\x0bmaster_addr\x18\x01 \x01(\x0c\x12\x14\n\x0c\x61\x64\x64resses_to\x18\x02 \x03(\x0c\x12\x14\n\x0ctoken_txhash\x18\x03 \x01(\x0c\x12\x0f\n\x07\x61mounts\x18\x04 \x03(\x04\x12\x0b\n\x03\x66\x65\x65\x18\x05 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x06 \x01(\x0c\"i\n\x0bSlaveTxnReq\x12\x13\n\x0bmaster_addr\x18\x01 \x01(\x0c\x12\x11\n\tslave_pks\x18\x02 \x03(\x0c\x12\x14\n\x0c\x61\x63\x63\x65ss_types\x18\x03 \x03(\r\x12\x0b\n\x03\x66\x65\x65\x18\x04 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x05 \x01(\x0c\"H\n\x0fMiniTransaction\x12\x18\n\x10transaction_hash\x18\x01 \x01(\t\x12\x0b\n\x03out\x18\x02 \x01(\x08\x12\x0e\n\x06\x61mount\x18\x03 \x01(\x04\".\n\x1bGetTransactionsByAddressReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"`\n\x1cGetTransactionsByAddressResp\x12/\n\x11mini_transactions\x18\x01 \x03(\x0b\x32\x14.qrl.MiniTransaction\x12\x0f\n\x07\x62\x61lance\x18\x02 \x01(\x04\"$\n\x11GetTransactionReq\x12\x0f\n\x07tx_hash\x18\x01 \x01(\x0c\"z\n\x12GetTransactionResp\x12\x1c\n\x02tx\x18\x01 \x01(\x0b\x32\x10.qrl.Transaction\x12\x15\n\rconfirmations\x18\x02 \x01(\x04\x12\x14\n\x0c\x62lock_number\x18\x03 \x01(\x04\x12\x19\n\x11\x62lock_header_hash\x18\x04 \x01(\x0c\" \n\rGetBalanceReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"!\n\x0eGetBalanceResp\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\x04\"\x1c\n\tGetOTSReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"A\n\nGetOTSResp\x12\x14\n\x0cots_bitfield\x18\x01 \x03(\x0c\x12\x1d\n\x15next_unused_ots_index\x18\x02 \x01(\x04\"\x0e\n\x0cGetHeightReq\"\x1f\n\rGetHeightResp\x12\x0e\n\x06height\x18\x01 \x01(\x04\"\"\n\x0bGetBlockReq\x12\x13\n\x0bheader_hash\x18\x01 \x01(\x0c\")\n\x0cGetBlockResp\x12\x19\n\x05\x62lock\x18\x01 \x01(\x0b\x32\n.qrl.Block\"+\n\x13GetBlockByNumberReq\x12\x14\n\x0c\x62lock_number\x18\x01 \x01(\x04\"1\n\x14GetBlockByNumberResp\x12\x19\n\x05\x62lock\x18\x01 \x01(\x0b\x32\n.qrl.Block\"\x16\n\x14GetLocalAddressesReq\"*\n\x15GetLocalAddressesResp\x12\x11\n\taddresses\x18\x01 \x03(\x0c\"\x8d\x02\n\x08NodeInfo\x12\x0f\n\x07version\x18\x01 \x01(\t\x12\"\n\x05state\x18\x02 \x01(\x0e\x32\x13.qrl.NodeInfo.State\x12\x17\n\x0fnum_connections\x18\x03 \x01(\r\x12\x17\n\x0fnum_known_peers\x18\x04 \x01(\r\x12\x0e\n\x06uptime\x18\x05 \x01(\x04\x12\x14\n\x0c\x62lock_height\x18\x06 \x01(\x04\x12\x17\n\x0f\x62lock_last_hash\x18\x07 \x01(\x0c\x12\x12\n\nnetwork_id\x18\x08 \x01(\t\"G\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08UNSYNCED\x10\x01\x12\x0b\n\x07SYNCING\x10\x02\x12\n\n\x06SYNCED\x10\x03\x12\n\n\x06\x46ORKED\x10\x04\"\x85\x01\n\x11\x41\x64\x64ressDescriptor\x12\x15\n\rhash_function\x18\x01 \x01(\t\x12\x18\n\x10signature_scheme\x18\x02 \x01(\t\x12\x13\n\x0btree_height\x18\x03 \x01(\r\x12\x12\n\nsignatures\x18\x04 \x01(\r\x12\x16\n\x0e\x61\x64\x64ress_format\x18\x05 \x01(\t\"\'\n\x0bStoredPeers\x12\x18\n\x05peers\x18\x01 \x03(\x0b\x32\t.qrl.Peer\"\x12\n\x04Peer\x12\n\n\x02ip\x18\x01 \x01(\t\"\x91\x03\n\x0c\x41\x64\x64ressState\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x0f\n\x07\x62\x61lance\x18\x02 \x01(\x04\x12\r\n\x05nonce\x18\x03 \x01(\x04\x12\x14\n\x0cots_bitfield\x18\x04 \x03(\x0c\x12\x1a\n\x12transaction_hashes\x18\x05 \x03(\x0c\x12-\n\x06tokens\x18\x06 \x03(\x0b\x32\x1d.qrl.AddressState.TokensEntry\x12&\n\x0elatticePK_list\x18\x07 \x03(\x0b\x32\x0e.qrl.LatticePK\x12H\n\x15slave_pks_access_type\x18\x08 \x03(\x0b\x32).qrl.AddressState.SlavePksAccessTypeEntry\x12\x13\n\x0bots_counter\x18\t \x01(\x04\x1a-\n\x0bTokensEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\x1a\x39\n\x17SlavePksAccessTypeEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"C\n\tLatticePK\x12\x0e\n\x06txhash\x18\x01 \x01(\x0c\x12\x14\n\x0c\x64ilithium_pk\x18\x02 \x01(\x0c\x12\x10\n\x08kyber_pk\x18\x03 \x01(\x0c\"0\n\rAddressAmount\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\"\xd7\x01\n\x0b\x42lockHeader\x12\x13\n\x0bhash_header\x18\x01 \x01(\x0c\x12\x14\n\x0c\x62lock_number\x18\x02 \x01(\x04\x12\x19\n\x11timestamp_seconds\x18\x03 \x01(\x04\x12\x18\n\x10hash_header_prev\x18\x04 \x01(\x0c\x12\x14\n\x0creward_block\x18\x05 \x01(\x04\x12\x12\n\nreward_fee\x18\x06 \x01(\x04\x12\x13\n\x0bmerkle_root\x18\x07 \x01(\x0c\x12\x14\n\x0cmining_nonce\x18\x08 \x01(\r\x12\x13\n\x0b\x65xtra_nonce\x18\t \x01(\x04\"i\n\x13\x42lockHeaderExtended\x12 \n\x06header\x18\x01 \x01(\x0b\x32\x10.qrl.BlockHeader\x12\x30\n\x11transaction_count\x18\x02 \x01(\x0b\x32\x15.qrl.TransactionCount\"q\n\x10TransactionCount\x12/\n\x05\x63ount\x18\x01 \x03(\x0b\x32 .qrl.TransactionCount.CountEntry\x1a,\n\nCountEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\r\n\x05value\x18\x02 \x01(\r:\x02\x38\x01\"\x91\x01\n\x13TransactionExtended\x12 \n\x06header\x18\x01 \x01(\x0b\x32\x10.qrl.BlockHeader\x12\x1c\n\x02tx\x18\x02 \x01(\x0b\x32\x10.qrl.Transaction\x12\x11\n\taddr_from\x18\x03 \x01(\x0c\x12\x0c\n\x04size\x18\x04 \x01(\x04\x12\x19\n\x11timestamp_seconds\x18\x05 \x01(\x04\"\xa6\x01\n\rBlockExtended\x12 \n\x06header\x18\x01 \x01(\x0b\x32\x10.qrl.BlockHeader\x12\x37\n\x15\x65xtended_transactions\x18\x02 \x03(\x0b\x32\x18.qrl.TransactionExtended\x12,\n\x0fgenesis_balance\x18\x03 \x03(\x0b\x32\x13.qrl.GenesisBalance\x12\x0c\n\x04size\x18\x04 \x01(\x04\"\x7f\n\x05\x42lock\x12 \n\x06header\x18\x01 \x01(\x0b\x32\x10.qrl.BlockHeader\x12&\n\x0ctransactions\x18\x02 \x03(\x0b\x32\x10.qrl.Transaction\x12,\n\x0fgenesis_balance\x18\x03 \x03(\x0b\x32\x13.qrl.GenesisBalance\"2\n\x0eGenesisBalance\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\x12\x0f\n\x07\x62\x61lance\x18\x02 \x01(\x04\"D\n\x11\x42lockMetaDataList\x12/\n\x13\x62lock_number_hashes\x18\x01 \x03(\x0b\x32\x12.qrl.BlockMetaData\"\x8c\x07\n\x0bTransaction\x12\x13\n\x0bmaster_addr\x18\x01 \x01(\x0c\x12\x0b\n\x03\x66\x65\x65\x18\x02 \x01(\x04\x12\x12\n\npublic_key\x18\x03 \x01(\x0c\x12\x11\n\tsignature\x18\x04 \x01(\x0c\x12\r\n\x05nonce\x18\x05 \x01(\x04\x12\x18\n\x10transaction_hash\x18\x06 \x01(\x0c\x12-\n\x08transfer\x18\x07 \x01(\x0b\x32\x19.qrl.Transaction.TransferH\x00\x12-\n\x08\x63oinbase\x18\x08 \x01(\x0b\x32\x19.qrl.Transaction.CoinBaseH\x00\x12\x36\n\tlatticePK\x18\t \x01(\x0b\x32!.qrl.Transaction.LatticePublicKeyH\x00\x12+\n\x07message\x18\n \x01(\x0b\x32\x18.qrl.Transaction.MessageH\x00\x12\'\n\x05token\x18\x0b \x01(\x0b\x32\x16.qrl.Transaction.TokenH\x00\x12\x38\n\x0etransfer_token\x18\x0c \x01(\x0b\x32\x1e.qrl.Transaction.TransferTokenH\x00\x12\'\n\x05slave\x18\r \x01(\x0b\x32\x16.qrl.Transaction.SlaveH\x00\x1a-\n\x08Transfer\x12\x10\n\x08\x61\x64\x64rs_to\x18\x01 \x03(\x0c\x12\x0f\n\x07\x61mounts\x18\x02 \x03(\x04\x1a+\n\x08\x43oinBase\x12\x0f\n\x07\x61\x64\x64r_to\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1a:\n\x10LatticePublicKey\x12\x10\n\x08kyber_pk\x18\x01 \x01(\x0c\x12\x14\n\x0c\x64ilithium_pk\x18\x02 \x01(\x0c\x1a\x1f\n\x07Message\x12\x14\n\x0cmessage_hash\x18\x01 \x01(\x0c\x1at\n\x05Token\x12\x0e\n\x06symbol\x18\x01 \x01(\x0c\x12\x0c\n\x04name\x18\x02 \x01(\x0c\x12\r\n\x05owner\x18\x03 \x01(\x0c\x12\x10\n\x08\x64\x65\x63imals\x18\x04 \x01(\x04\x12,\n\x10initial_balances\x18\x05 \x03(\x0b\x32\x12.qrl.AddressAmount\x1aH\n\rTransferToken\x12\x14\n\x0ctoken_txhash\x18\x01 \x01(\x0c\x12\x10\n\x08\x61\x64\x64rs_to\x18\x02 \x03(\x0c\x12\x0f\n\x07\x61mounts\x18\x03 \x03(\x04\x1a\x30\n\x05Slave\x12\x11\n\tslave_pks\x18\x01 \x03(\x0c\x12\x14\n\x0c\x61\x63\x63\x65ss_types\x18\x02 \x03(\rB\x11\n\x0ftransactionType\"!\n\tTokenList\x12\x14\n\x0ctoken_txhash\x18\x01 \x03(\x0c\"G\n\rTokenMetadata\x12\x14\n\x0ctoken_txhash\x18\x01 \x01(\x0c\x12 \n\x18transfer_token_tx_hashes\x18\x02 \x03(\x0c\"\xc4\x01\n\x19\x45ncryptedEphemeralMessage\x12\x0e\n\x06msg_id\x18\x01 \x01(\x0c\x12\x0b\n\x03ttl\x18\x02 \x01(\x04\x12\x0b\n\x03ttr\x18\x03 \x01(\x04\x12\x37\n\x07\x63hannel\x18\x05 \x01(\x0b\x32&.qrl.EncryptedEphemeralMessage.Channel\x12\r\n\x05nonce\x18\x06 \x01(\x04\x12\x0f\n\x07payload\x18\x07 \x01(\x0c\x1a$\n\x07\x43hannel\x12\x19\n\x11\x65nc_aes256_symkey\x18\x04 \x01(\x0c\" \n\x0b\x41\x64\x64ressList\x12\x11\n\taddresses\x18\x01 \x03(\x0c\"`\n\x0f\x42lockHeightData\x12\x14\n\x0c\x62lock_number\x18\x01 \x01(\x04\x12\x18\n\x10\x62lock_headerhash\x18\x02 \x01(\x0c\x12\x1d\n\x15\x63umulative_difficulty\x18\x03 \x01(\x0c\"\x81\x01\n\rBlockMetaData\x12\x18\n\x10\x62lock_difficulty\x18\x01 \x01(\x0c\x12\x1d\n\x15\x63umulative_difficulty\x18\x02 \x01(\x0c\x12\x1a\n\x12\x63hild_headerhashes\x18\x03 \x03(\x0c\x12\x1b\n\x13last_N_headerhashes\x18\x04 \x03(\x0c\"A\n\x12\x42lockNumberMapping\x12\x12\n\nheaderhash\x18\x01 \x01(\x0c\x12\x17\n\x0fprev_headerhash\x18\x02 \x01(\x0c\"a\n\x0bStateLoader\x12\x11\n\taddresses\x18\x01 \x03(\x0c\x12\x14\n\x0ctoken_txhash\x18\x02 \x03(\x0c\x12\x0e\n\x06txhash\x18\x03 \x03(\x0c\x12\x19\n\x11total_coin_supply\x18\x04 \x01(\x04\"%\n\x0cStateObjects\x12\x15\n\rstate_loaders\x18\x01 \x03(\x0c\"\x0f\n\rLRUStateCache\"X\n\x08PeerStat\x12\x0f\n\x07peer_ip\x18\x01 \x01(\x0c\x12\x0c\n\x04port\x18\x02 \x01(\r\x12-\n\x10node_chain_state\x18\x03 \x01(\x0b\x32\x13.qrl.NodeChainState\"~\n\x0eNodeChainState\x12\x14\n\x0c\x62lock_number\x18\x01 \x01(\x04\x12\x13\n\x0bheader_hash\x18\x02 \x01(\x0c\x12\x1d\n\x15\x63umulative_difficulty\x18\x03 \x01(\x0c\x12\x0f\n\x07version\x18\x04 \x01(\t\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\"<\n\x0eNodeHeaderHash\x12\x14\n\x0c\x62lock_number\x18\x01 \x01(\x04\x12\x14\n\x0cheaderhashes\x18\x02 \x03(\x0c\"-\n\x12P2PAcknowledgement\x12\x17\n\x0f\x62ytes_processed\x18\x01 \x01(\r\"|\n\x08PeerInfo\x12\x0f\n\x07peer_ip\x18\x01 \x01(\x0c\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x18\n\x10\x62\x61nned_timestamp\x18\x03 \x01(\r\x12\x13\n\x0b\x63redibility\x18\x04 \x01(\r\x12\"\n\x1alast_connections_timestamp\x18\x05 \x03(\r\".\n\x05Peers\x12%\n\x0epeer_info_list\x18\x01 \x03(\x0b\x32\r.qrl.PeerInfo2\xe8\n\n\tPublicAPI\x12;\n\x0cGetNodeState\x12\x14.qrl.GetNodeStateReq\x1a\x15.qrl.GetNodeStateResp\x12>\n\rGetKnownPeers\x12\x15.qrl.GetKnownPeersReq\x1a\x16.qrl.GetKnownPeersResp\x12;\n\x0cGetPeersStat\x12\x14.qrl.GetPeersStatReq\x1a\x15.qrl.GetPeersStatResp\x12/\n\x08GetStats\x12\x10.qrl.GetStatsReq\x1a\x11.qrl.GetStatsResp\x12\x44\n\x0fGetAddressState\x12\x17.qrl.GetAddressStateReq\x1a\x18.qrl.GetAddressStateResp\x12\x32\n\tGetObject\x12\x11.qrl.GetObjectReq\x1a\x12.qrl.GetObjectResp\x12>\n\rGetLatestData\x12\x15.qrl.GetLatestDataReq\x1a\x16.qrl.GetLatestDataResp\x12\x44\n\x0fPushTransaction\x12\x17.qrl.PushTransactionReq\x1a\x18.qrl.PushTransactionResp\x12>\n\rTransferCoins\x12\x15.qrl.TransferCoinsReq\x1a\x16.qrl.TransferCoinsResp\x12;\n\x0cParseAddress\x12\x14.qrl.ParseAddressReq\x1a\x15.qrl.ParseAddressResp\x12G\n\x10GetAddressFromPK\x12\x18.qrl.GetAddressFromPKReq\x1a\x19.qrl.GetAddressFromPKResp\x12;\n\rGetMessageTxn\x12\x12.qrl.MessageTxnReq\x1a\x16.qrl.TransferCoinsResp\x12\x37\n\x0bGetTokenTxn\x12\x10.qrl.TokenTxnReq\x1a\x16.qrl.TransferCoinsResp\x12G\n\x13GetTransferTokenTxn\x12\x18.qrl.TransferTokenTxnReq\x1a\x16.qrl.TransferCoinsResp\x12\x37\n\x0bGetSlaveTxn\x12\x10.qrl.SlaveTxnReq\x1a\x16.qrl.TransferCoinsResp\x12_\n\x18GetTransactionsByAddress\x12 .qrl.GetTransactionsByAddressReq\x1a!.qrl.GetTransactionsByAddressResp\x12\x41\n\x0eGetTransaction\x12\x16.qrl.GetTransactionReq\x1a\x17.qrl.GetTransactionResp\x12\x35\n\nGetBalance\x12\x12.qrl.GetBalanceReq\x1a\x13.qrl.GetBalanceResp\x12)\n\x06GetOTS\x12\x0e.qrl.GetOTSReq\x1a\x0f.qrl.GetOTSResp\x12\x32\n\tGetHeight\x12\x11.qrl.GetHeightReq\x1a\x12.qrl.GetHeightResp\x12/\n\x08GetBlock\x12\x10.qrl.GetBlockReq\x1a\x11.qrl.GetBlockResp\x12G\n\x10GetBlockByNumber\x12\x18.qrl.GetBlockByNumberReq\x1a\x19.qrl.GetBlockByNumberResp2\n\n\x08\x41\x64minAPIb\x06proto3')
)



_GETLATESTDATAREQ_FILTER = _descriptor.EnumDescriptor(
  name='Filter',
  full_name='qrl.GetLatestDataReq.Filter',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ALL', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BLOCKHEADERS', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRANSACTIONS', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRANSACTIONS_UNCONFIRMED', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1427,
  serialized_end=1510,
)
_sym_db.RegisterEnumDescriptor(_GETLATESTDATAREQ_FILTER)

_PUSHTRANSACTIONRESP_RESPONSECODE = _descriptor.EnumDescriptor(
  name='ResponseCode',
  full_name='qrl.PushTransactionResp.ResponseCode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERROR', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VALIDATION_FAILED', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SUBMITTED', index=3, number=3,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=2081,
  serialized_end=2157,
)
_sym_db.RegisterEnumDescriptor(_PUSHTRANSACTIONRESP_RESPONSECODE)

_NODEINFO_STATE = _descriptor.EnumDescriptor(
  name='State',
  full_name='qrl.NodeInfo.State',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNSYNCED', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SYNCING', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SYNCED', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FORKED', index=4, number=4,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=3702,
  serialized_end=3773,
)
_sym_db.RegisterEnumDescriptor(_NODEINFO_STATE)


_EMPTY = _descriptor.Descriptor(
  name='Empty',
  full_name='qrl.Empty',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=18,
  serialized_end=25,
)


_GETNODESTATEREQ = _descriptor.Descriptor(
  name='GetNodeStateReq',
  full_name='qrl.GetNodeStateReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=27,
  serialized_end=44,
)


_GETNODESTATERESP = _descriptor.Descriptor(
  name='GetNodeStateResp',
  full_name='qrl.GetNodeStateResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='info', full_name='qrl.GetNodeStateResp.info', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=46,
  serialized_end=93,
)


_GETKNOWNPEERSREQ = _descriptor.Descriptor(
  name='GetKnownPeersReq',
  full_name='qrl.GetKnownPeersReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=95,
  serialized_end=113,
)


_GETKNOWNPEERSRESP = _descriptor.Descriptor(
  name='GetKnownPeersResp',
  full_name='qrl.GetKnownPeersResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='node_info', full_name='qrl.GetKnownPeersResp.node_info', 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='known_peers', full_name='qrl.GetKnownPeersResp.known_peers', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=115,
  serialized_end=200,
)


_GETPEERSSTATREQ = _descriptor.Descriptor(
  name='GetPeersStatReq',
  full_name='qrl.GetPeersStatReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=202,
  serialized_end=219,
)


_GETPEERSSTATRESP = _descriptor.Descriptor(
  name='GetPeersStatResp',
  full_name='qrl.GetPeersStatResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='peers_stat', full_name='qrl.GetPeersStatResp.peers_stat', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=221,
  serialized_end=274,
)


_GETSTATSREQ = _descriptor.Descriptor(
  name='GetStatsReq',
  full_name='qrl.GetStatsReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='include_timeseries', full_name='qrl.GetStatsReq.include_timeseries', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=276,
  serialized_end=317,
)


_GETSTATSRESP = _descriptor.Descriptor(
  name='GetStatsResp',
  full_name='qrl.GetStatsResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='node_info', full_name='qrl.GetStatsResp.node_info', 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='epoch', full_name='qrl.GetStatsResp.epoch', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='uptime_network', full_name='qrl.GetStatsResp.uptime_network', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_last_reward', full_name='qrl.GetStatsResp.block_last_reward', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_time_mean', full_name='qrl.GetStatsResp.block_time_mean', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_time_sd', full_name='qrl.GetStatsResp.block_time_sd', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='coins_total_supply', full_name='qrl.GetStatsResp.coins_total_supply', index=6,
      number=7, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='coins_emitted', full_name='qrl.GetStatsResp.coins_emitted', index=7,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_timeseries', full_name='qrl.GetStatsResp.block_timeseries', index=8,
      number=9, 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=320,
  serialized_end=580,
)


_GETADDRESSFROMPKREQ = _descriptor.Descriptor(
  name='GetAddressFromPKReq',
  full_name='qrl.GetAddressFromPKReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pk', full_name='qrl.GetAddressFromPKReq.pk', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=582,
  serialized_end=615,
)


_GETADDRESSFROMPKRESP = _descriptor.Descriptor(
  name='GetAddressFromPKResp',
  full_name='qrl.GetAddressFromPKResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.GetAddressFromPKResp.address', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=617,
  serialized_end=656,
)


_BLOCKDATAPOINT = _descriptor.Descriptor(
  name='BlockDataPoint',
  full_name='qrl.BlockDataPoint',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='number', full_name='qrl.BlockDataPoint.number', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='difficulty', full_name='qrl.BlockDataPoint.difficulty', 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='timestamp', full_name='qrl.BlockDataPoint.timestamp', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='time_last', full_name='qrl.BlockDataPoint.time_last', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='time_movavg', full_name='qrl.BlockDataPoint.time_movavg', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hash_power', full_name='qrl.BlockDataPoint.hash_power', index=5,
      number=6, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='header_hash', full_name='qrl.BlockDataPoint.header_hash', 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),
    _descriptor.FieldDescriptor(
      name='header_hash_prev', full_name='qrl.BlockDataPoint.header_hash_prev', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=659,
  serialized_end=837,
)


_GETADDRESSSTATEREQ = _descriptor.Descriptor(
  name='GetAddressStateReq',
  full_name='qrl.GetAddressStateReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.GetAddressStateReq.address', 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='exclude_ots_bitfield', full_name='qrl.GetAddressStateReq.exclude_ots_bitfield', 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='exclude_transaction_hashes', full_name='qrl.GetAddressStateReq.exclude_transaction_hashes', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=839,
  serialized_end=942,
)


_GETADDRESSSTATERESP = _descriptor.Descriptor(
  name='GetAddressStateResp',
  full_name='qrl.GetAddressStateResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='state', full_name='qrl.GetAddressStateResp.state', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=944,
  serialized_end=999,
)


_PARSEADDRESSREQ = _descriptor.Descriptor(
  name='ParseAddressReq',
  full_name='qrl.ParseAddressReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.ParseAddressReq.address', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1001,
  serialized_end=1035,
)


_PARSEADDRESSRESP = _descriptor.Descriptor(
  name='ParseAddressResp',
  full_name='qrl.ParseAddressResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='is_valid', full_name='qrl.ParseAddressResp.is_valid', 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='desc', full_name='qrl.ParseAddressResp.desc', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1037,
  serialized_end=1111,
)


_GETOBJECTREQ = _descriptor.Descriptor(
  name='GetObjectReq',
  full_name='qrl.GetObjectReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='query', full_name='qrl.GetObjectReq.query', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1113,
  serialized_end=1142,
)


_GETOBJECTRESP = _descriptor.Descriptor(
  name='GetObjectResp',
  full_name='qrl.GetObjectResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='found', full_name='qrl.GetObjectResp.found', 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='address_state', full_name='qrl.GetObjectResp.address_state', 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='transaction', full_name='qrl.GetObjectResp.transaction', 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),
    _descriptor.FieldDescriptor(
      name='block_extended', full_name='qrl.GetObjectResp.block_extended', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='result', full_name='qrl.GetObjectResp.result',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1145,
  serialized_end=1324,
)


_GETLATESTDATAREQ = _descriptor.Descriptor(
  name='GetLatestDataReq',
  full_name='qrl.GetLatestDataReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='filter', full_name='qrl.GetLatestDataReq.filter', 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='offset', full_name='qrl.GetLatestDataReq.offset', 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='quantity', full_name='qrl.GetLatestDataReq.quantity', 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=[
    _GETLATESTDATAREQ_FILTER,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1327,
  serialized_end=1510,
)


_GETLATESTDATARESP = _descriptor.Descriptor(
  name='GetLatestDataResp',
  full_name='qrl.GetLatestDataResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='blockheaders', full_name='qrl.GetLatestDataResp.blockheaders', 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='transactions', full_name='qrl.GetLatestDataResp.transactions', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transactions_unconfirmed', full_name='qrl.GetLatestDataResp.transactions_unconfirmed', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1513,
  serialized_end=1688,
)


_TRANSFERCOINSREQ = _descriptor.Descriptor(
  name='TransferCoinsReq',
  full_name='qrl.TransferCoinsReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='master_addr', full_name='qrl.TransferCoinsReq.master_addr', 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='addresses_to', full_name='qrl.TransferCoinsReq.addresses_to', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='amounts', full_name='qrl.TransferCoinsReq.amounts', index=2,
      number=3, type=4, cpp_type=4, 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='fee', full_name='qrl.TransferCoinsReq.fee', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xmss_pk', full_name='qrl.TransferCoinsReq.xmss_pk', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1690,
  serialized_end=1798,
)


_TRANSFERCOINSRESP = _descriptor.Descriptor(
  name='TransferCoinsResp',
  full_name='qrl.TransferCoinsResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='extended_transaction_unsigned', full_name='qrl.TransferCoinsResp.extended_transaction_unsigned', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1800,
  serialized_end=1884,
)


_PUSHTRANSACTIONREQ = _descriptor.Descriptor(
  name='PushTransactionReq',
  full_name='qrl.PushTransactionReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='transaction_signed', full_name='qrl.PushTransactionReq.transaction_signed', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1886,
  serialized_end=1952,
)


_PUSHTRANSACTIONRESP = _descriptor.Descriptor(
  name='PushTransactionResp',
  full_name='qrl.PushTransactionResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='error_code', full_name='qrl.PushTransactionResp.error_code', 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='error_description', full_name='qrl.PushTransactionResp.error_description', 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='tx_hash', full_name='qrl.PushTransactionResp.tx_hash', 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=[
    _PUSHTRANSACTIONRESP_RESPONSECODE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1955,
  serialized_end=2157,
)


_MESSAGETXNREQ = _descriptor.Descriptor(
  name='MessageTxnReq',
  full_name='qrl.MessageTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='master_addr', full_name='qrl.MessageTxnReq.master_addr', 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='qrl.MessageTxnReq.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='fee', full_name='qrl.MessageTxnReq.fee', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xmss_pk', full_name='qrl.MessageTxnReq.xmss_pk', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2159,
  serialized_end=2242,
)


_TOKENTXNREQ = _descriptor.Descriptor(
  name='TokenTxnReq',
  full_name='qrl.TokenTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='master_addr', full_name='qrl.TokenTxnReq.master_addr', 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='qrl.TokenTxnReq.symbol', 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='name', full_name='qrl.TokenTxnReq.name', 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='owner', full_name='qrl.TokenTxnReq.owner', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='decimals', full_name='qrl.TokenTxnReq.decimals', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='initial_balances', full_name='qrl.TokenTxnReq.initial_balances', index=5,
      number=6, 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='fee', full_name='qrl.TokenTxnReq.fee', index=6,
      number=7, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xmss_pk', full_name='qrl.TokenTxnReq.xmss_pk', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2245,
  serialized_end=2418,
)


_TRANSFERTOKENTXNREQ = _descriptor.Descriptor(
  name='TransferTokenTxnReq',
  full_name='qrl.TransferTokenTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='master_addr', full_name='qrl.TransferTokenTxnReq.master_addr', 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='addresses_to', full_name='qrl.TransferTokenTxnReq.addresses_to', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='token_txhash', full_name='qrl.TransferTokenTxnReq.token_txhash', 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='amounts', full_name='qrl.TransferTokenTxnReq.amounts', index=3,
      number=4, type=4, cpp_type=4, 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='fee', full_name='qrl.TransferTokenTxnReq.fee', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xmss_pk', full_name='qrl.TransferTokenTxnReq.xmss_pk', index=5,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2421,
  serialized_end=2554,
)


_SLAVETXNREQ = _descriptor.Descriptor(
  name='SlaveTxnReq',
  full_name='qrl.SlaveTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='master_addr', full_name='qrl.SlaveTxnReq.master_addr', 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='slave_pks', full_name='qrl.SlaveTxnReq.slave_pks', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='access_types', full_name='qrl.SlaveTxnReq.access_types', index=2,
      number=3, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fee', full_name='qrl.SlaveTxnReq.fee', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='xmss_pk', full_name='qrl.SlaveTxnReq.xmss_pk', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2556,
  serialized_end=2661,
)


_MINITRANSACTION = _descriptor.Descriptor(
  name='MiniTransaction',
  full_name='qrl.MiniTransaction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='transaction_hash', full_name='qrl.MiniTransaction.transaction_hash', 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='out', full_name='qrl.MiniTransaction.out', 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='amount', full_name='qrl.MiniTransaction.amount', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2663,
  serialized_end=2735,
)


_GETTRANSACTIONSBYADDRESSREQ = _descriptor.Descriptor(
  name='GetTransactionsByAddressReq',
  full_name='qrl.GetTransactionsByAddressReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.GetTransactionsByAddressReq.address', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2737,
  serialized_end=2783,
)


_GETTRANSACTIONSBYADDRESSRESP = _descriptor.Descriptor(
  name='GetTransactionsByAddressResp',
  full_name='qrl.GetTransactionsByAddressResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='mini_transactions', full_name='qrl.GetTransactionsByAddressResp.mini_transactions', 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='balance', full_name='qrl.GetTransactionsByAddressResp.balance', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2785,
  serialized_end=2881,
)


_GETTRANSACTIONREQ = _descriptor.Descriptor(
  name='GetTransactionReq',
  full_name='qrl.GetTransactionReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tx_hash', full_name='qrl.GetTransactionReq.tx_hash', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2883,
  serialized_end=2919,
)


_GETTRANSACTIONRESP = _descriptor.Descriptor(
  name='GetTransactionResp',
  full_name='qrl.GetTransactionResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='tx', full_name='qrl.GetTransactionResp.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),
    _descriptor.FieldDescriptor(
      name='confirmations', full_name='qrl.GetTransactionResp.confirmations', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.GetTransactionResp.block_number', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_header_hash', full_name='qrl.GetTransactionResp.block_header_hash', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2921,
  serialized_end=3043,
)


_GETBALANCEREQ = _descriptor.Descriptor(
  name='GetBalanceReq',
  full_name='qrl.GetBalanceReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.GetBalanceReq.address', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3045,
  serialized_end=3077,
)


_GETBALANCERESP = _descriptor.Descriptor(
  name='GetBalanceResp',
  full_name='qrl.GetBalanceResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='balance', full_name='qrl.GetBalanceResp.balance', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3079,
  serialized_end=3112,
)


_GETOTSREQ = _descriptor.Descriptor(
  name='GetOTSReq',
  full_name='qrl.GetOTSReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.GetOTSReq.address', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3114,
  serialized_end=3142,
)


_GETOTSRESP = _descriptor.Descriptor(
  name='GetOTSResp',
  full_name='qrl.GetOTSResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ots_bitfield', full_name='qrl.GetOTSResp.ots_bitfield', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='next_unused_ots_index', full_name='qrl.GetOTSResp.next_unused_ots_index', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3144,
  serialized_end=3209,
)


_GETHEIGHTREQ = _descriptor.Descriptor(
  name='GetHeightReq',
  full_name='qrl.GetHeightReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3211,
  serialized_end=3225,
)


_GETHEIGHTRESP = _descriptor.Descriptor(
  name='GetHeightResp',
  full_name='qrl.GetHeightResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='height', full_name='qrl.GetHeightResp.height', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3227,
  serialized_end=3258,
)


_GETBLOCKREQ = _descriptor.Descriptor(
  name='GetBlockReq',
  full_name='qrl.GetBlockReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header_hash', full_name='qrl.GetBlockReq.header_hash', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3260,
  serialized_end=3294,
)


_GETBLOCKRESP = _descriptor.Descriptor(
  name='GetBlockResp',
  full_name='qrl.GetBlockResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block', full_name='qrl.GetBlockResp.block', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3296,
  serialized_end=3337,
)


_GETBLOCKBYNUMBERREQ = _descriptor.Descriptor(
  name='GetBlockByNumberReq',
  full_name='qrl.GetBlockByNumberReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.GetBlockByNumberReq.block_number', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3339,
  serialized_end=3382,
)


_GETBLOCKBYNUMBERRESP = _descriptor.Descriptor(
  name='GetBlockByNumberResp',
  full_name='qrl.GetBlockByNumberResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block', full_name='qrl.GetBlockByNumberResp.block', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3384,
  serialized_end=3433,
)


_GETLOCALADDRESSESREQ = _descriptor.Descriptor(
  name='GetLocalAddressesReq',
  full_name='qrl.GetLocalAddressesReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3435,
  serialized_end=3457,
)


_GETLOCALADDRESSESRESP = _descriptor.Descriptor(
  name='GetLocalAddressesResp',
  full_name='qrl.GetLocalAddressesResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addresses', full_name='qrl.GetLocalAddressesResp.addresses', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3459,
  serialized_end=3501,
)


_NODEINFO = _descriptor.Descriptor(
  name='NodeInfo',
  full_name='qrl.NodeInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='qrl.NodeInfo.version', 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='state', full_name='qrl.NodeInfo.state', index=1,
      number=2, 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='num_connections', full_name='qrl.NodeInfo.num_connections', 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='num_known_peers', full_name='qrl.NodeInfo.num_known_peers', 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='uptime', full_name='qrl.NodeInfo.uptime', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_height', full_name='qrl.NodeInfo.block_height', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_last_hash', full_name='qrl.NodeInfo.block_last_hash', 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),
    _descriptor.FieldDescriptor(
      name='network_id', full_name='qrl.NodeInfo.network_id', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NODEINFO_STATE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3504,
  serialized_end=3773,
)


_ADDRESSDESCRIPTOR = _descriptor.Descriptor(
  name='AddressDescriptor',
  full_name='qrl.AddressDescriptor',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash_function', full_name='qrl.AddressDescriptor.hash_function', 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_scheme', full_name='qrl.AddressDescriptor.signature_scheme', 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='tree_height', full_name='qrl.AddressDescriptor.tree_height', 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='signatures', full_name='qrl.AddressDescriptor.signatures', 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='address_format', full_name='qrl.AddressDescriptor.address_format', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3776,
  serialized_end=3909,
)


_STOREDPEERS = _descriptor.Descriptor(
  name='StoredPeers',
  full_name='qrl.StoredPeers',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='peers', full_name='qrl.StoredPeers.peers', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3911,
  serialized_end=3950,
)


_PEER = _descriptor.Descriptor(
  name='Peer',
  full_name='qrl.Peer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ip', full_name='qrl.Peer.ip', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3952,
  serialized_end=3970,
)


_ADDRESSSTATE_TOKENSENTRY = _descriptor.Descriptor(
  name='TokensEntry',
  full_name='qrl.AddressState.TokensEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='qrl.AddressState.TokensEntry.key', 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='value', full_name='qrl.AddressState.TokensEntry.value', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4270,
  serialized_end=4315,
)

_ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY = _descriptor.Descriptor(
  name='SlavePksAccessTypeEntry',
  full_name='qrl.AddressState.SlavePksAccessTypeEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='qrl.AddressState.SlavePksAccessTypeEntry.key', 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='value', full_name='qrl.AddressState.SlavePksAccessTypeEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4317,
  serialized_end=4374,
)

_ADDRESSSTATE = _descriptor.Descriptor(
  name='AddressState',
  full_name='qrl.AddressState',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.AddressState.address', 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='balance', full_name='qrl.AddressState.balance', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='nonce', full_name='qrl.AddressState.nonce', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ots_bitfield', full_name='qrl.AddressState.ots_bitfield', index=3,
      number=4, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transaction_hashes', full_name='qrl.AddressState.transaction_hashes', index=4,
      number=5, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tokens', full_name='qrl.AddressState.tokens', index=5,
      number=6, 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='latticePK_list', full_name='qrl.AddressState.latticePK_list', index=6,
      number=7, 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='slave_pks_access_type', full_name='qrl.AddressState.slave_pks_access_type', index=7,
      number=8, 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='ots_counter', full_name='qrl.AddressState.ots_counter', index=8,
      number=9, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_ADDRESSSTATE_TOKENSENTRY, _ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3973,
  serialized_end=4374,
)


_LATTICEPK = _descriptor.Descriptor(
  name='LatticePK',
  full_name='qrl.LatticePK',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='txhash', full_name='qrl.LatticePK.txhash', 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='dilithium_pk', full_name='qrl.LatticePK.dilithium_pk', 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='kyber_pk', full_name='qrl.LatticePK.kyber_pk', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4376,
  serialized_end=4443,
)


_ADDRESSAMOUNT = _descriptor.Descriptor(
  name='AddressAmount',
  full_name='qrl.AddressAmount',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.AddressAmount.address', 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='amount', full_name='qrl.AddressAmount.amount', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4445,
  serialized_end=4493,
)


_BLOCKHEADER = _descriptor.Descriptor(
  name='BlockHeader',
  full_name='qrl.BlockHeader',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hash_header', full_name='qrl.BlockHeader.hash_header', 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='block_number', full_name='qrl.BlockHeader.block_number', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timestamp_seconds', full_name='qrl.BlockHeader.timestamp_seconds', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='hash_header_prev', full_name='qrl.BlockHeader.hash_header_prev', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='reward_block', full_name='qrl.BlockHeader.reward_block', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='reward_fee', full_name='qrl.BlockHeader.reward_fee', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='merkle_root', full_name='qrl.BlockHeader.merkle_root', 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),
    _descriptor.FieldDescriptor(
      name='mining_nonce', full_name='qrl.BlockHeader.mining_nonce', 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='extra_nonce', full_name='qrl.BlockHeader.extra_nonce', index=8,
      number=9, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4496,
  serialized_end=4711,
)


_BLOCKHEADEREXTENDED = _descriptor.Descriptor(
  name='BlockHeaderExtended',
  full_name='qrl.BlockHeaderExtended',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='qrl.BlockHeaderExtended.header', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transaction_count', full_name='qrl.BlockHeaderExtended.transaction_count', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4713,
  serialized_end=4818,
)


_TRANSACTIONCOUNT_COUNTENTRY = _descriptor.Descriptor(
  name='CountEntry',
  full_name='qrl.TransactionCount.CountEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='qrl.TransactionCount.CountEntry.key', 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='value', full_name='qrl.TransactionCount.CountEntry.value', 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=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4889,
  serialized_end=4933,
)

_TRANSACTIONCOUNT = _descriptor.Descriptor(
  name='TransactionCount',
  full_name='qrl.TransactionCount',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='count', full_name='qrl.TransactionCount.count', 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=[_TRANSACTIONCOUNT_COUNTENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4820,
  serialized_end=4933,
)


_TRANSACTIONEXTENDED = _descriptor.Descriptor(
  name='TransactionExtended',
  full_name='qrl.TransactionExtended',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='qrl.TransactionExtended.header', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tx', full_name='qrl.TransactionExtended.tx', 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='addr_from', full_name='qrl.TransactionExtended.addr_from', 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='size', full_name='qrl.TransactionExtended.size', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timestamp_seconds', full_name='qrl.TransactionExtended.timestamp_seconds', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4936,
  serialized_end=5081,
)


_BLOCKEXTENDED = _descriptor.Descriptor(
  name='BlockExtended',
  full_name='qrl.BlockExtended',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='qrl.BlockExtended.header', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='extended_transactions', full_name='qrl.BlockExtended.extended_transactions', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='genesis_balance', full_name='qrl.BlockExtended.genesis_balance', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='size', full_name='qrl.BlockExtended.size', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5084,
  serialized_end=5250,
)


_BLOCK = _descriptor.Descriptor(
  name='Block',
  full_name='qrl.Block',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='header', full_name='qrl.Block.header', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transactions', full_name='qrl.Block.transactions', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='genesis_balance', full_name='qrl.Block.genesis_balance', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5252,
  serialized_end=5379,
)


_GENESISBALANCE = _descriptor.Descriptor(
  name='GenesisBalance',
  full_name='qrl.GenesisBalance',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.GenesisBalance.address', 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='balance', full_name='qrl.GenesisBalance.balance', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5381,
  serialized_end=5431,
)


_BLOCKMETADATALIST = _descriptor.Descriptor(
  name='BlockMetaDataList',
  full_name='qrl.BlockMetaDataList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_number_hashes', full_name='qrl.BlockMetaDataList.block_number_hashes', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5433,
  serialized_end=5501,
)


_TRANSACTION_TRANSFER = _descriptor.Descriptor(
  name='Transfer',
  full_name='qrl.Transaction.Transfer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addrs_to', full_name='qrl.Transaction.Transfer.addrs_to', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='amounts', full_name='qrl.Transaction.Transfer.amounts', index=1,
      number=2, type=4, cpp_type=4, 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5968,
  serialized_end=6013,
)

_TRANSACTION_COINBASE = _descriptor.Descriptor(
  name='CoinBase',
  full_name='qrl.Transaction.CoinBase',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addr_to', full_name='qrl.Transaction.CoinBase.addr_to', 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='amount', full_name='qrl.Transaction.CoinBase.amount', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6015,
  serialized_end=6058,
)

_TRANSACTION_LATTICEPUBLICKEY = _descriptor.Descriptor(
  name='LatticePublicKey',
  full_name='qrl.Transaction.LatticePublicKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='kyber_pk', full_name='qrl.Transaction.LatticePublicKey.kyber_pk', 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='dilithium_pk', full_name='qrl.Transaction.LatticePublicKey.dilithium_pk', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6060,
  serialized_end=6118,
)

_TRANSACTION_MESSAGE = _descriptor.Descriptor(
  name='Message',
  full_name='qrl.Transaction.Message',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='message_hash', full_name='qrl.Transaction.Message.message_hash', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6120,
  serialized_end=6151,
)

_TRANSACTION_TOKEN = _descriptor.Descriptor(
  name='Token',
  full_name='qrl.Transaction.Token',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='symbol', full_name='qrl.Transaction.Token.symbol', 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='name', full_name='qrl.Transaction.Token.name', 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='owner', full_name='qrl.Transaction.Token.owner', 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='decimals', full_name='qrl.Transaction.Token.decimals', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='initial_balances', full_name='qrl.Transaction.Token.initial_balances', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6153,
  serialized_end=6269,
)

_TRANSACTION_TRANSFERTOKEN = _descriptor.Descriptor(
  name='TransferToken',
  full_name='qrl.Transaction.TransferToken',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='token_txhash', full_name='qrl.Transaction.TransferToken.token_txhash', 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='addrs_to', full_name='qrl.Transaction.TransferToken.addrs_to', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='amounts', full_name='qrl.Transaction.TransferToken.amounts', index=2,
      number=3, type=4, cpp_type=4, 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6271,
  serialized_end=6343,
)

_TRANSACTION_SLAVE = _descriptor.Descriptor(
  name='Slave',
  full_name='qrl.Transaction.Slave',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='slave_pks', full_name='qrl.Transaction.Slave.slave_pks', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='access_types', full_name='qrl.Transaction.Slave.access_types', index=1,
      number=2, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6345,
  serialized_end=6393,
)

_TRANSACTION = _descriptor.Descriptor(
  name='Transaction',
  full_name='qrl.Transaction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='master_addr', full_name='qrl.Transaction.master_addr', 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='fee', full_name='qrl.Transaction.fee', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='public_key', full_name='qrl.Transaction.public_key', 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='signature', full_name='qrl.Transaction.signature', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='nonce', full_name='qrl.Transaction.nonce', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transaction_hash', full_name='qrl.Transaction.transaction_hash', index=5,
      number=6, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='transfer', full_name='qrl.Transaction.transfer', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='coinbase', full_name='qrl.Transaction.coinbase', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='latticePK', full_name='qrl.Transaction.latticePK', index=8,
      number=9, 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='message', full_name='qrl.Transaction.message', index=9,
      number=10, 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='token', full_name='qrl.Transaction.token', index=10,
      number=11, 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='transfer_token', full_name='qrl.Transaction.transfer_token', index=11,
      number=12, 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='slave', full_name='qrl.Transaction.slave', index=12,
      number=13, 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=[_TRANSACTION_TRANSFER, _TRANSACTION_COINBASE, _TRANSACTION_LATTICEPUBLICKEY, _TRANSACTION_MESSAGE, _TRANSACTION_TOKEN, _TRANSACTION_TRANSFERTOKEN, _TRANSACTION_SLAVE, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='transactionType', full_name='qrl.Transaction.transactionType',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=5504,
  serialized_end=6412,
)


_TOKENLIST = _descriptor.Descriptor(
  name='TokenList',
  full_name='qrl.TokenList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='token_txhash', full_name='qrl.TokenList.token_txhash', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6414,
  serialized_end=6447,
)


_TOKENMETADATA = _descriptor.Descriptor(
  name='TokenMetadata',
  full_name='qrl.TokenMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='token_txhash', full_name='qrl.TokenMetadata.token_txhash', 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='transfer_token_tx_hashes', full_name='qrl.TokenMetadata.transfer_token_tx_hashes', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6449,
  serialized_end=6520,
)


_ENCRYPTEDEPHEMERALMESSAGE_CHANNEL = _descriptor.Descriptor(
  name='Channel',
  full_name='qrl.EncryptedEphemeralMessage.Channel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='enc_aes256_symkey', full_name='qrl.EncryptedEphemeralMessage.Channel.enc_aes256_symkey', index=0,
      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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6683,
  serialized_end=6719,
)

_ENCRYPTEDEPHEMERALMESSAGE = _descriptor.Descriptor(
  name='EncryptedEphemeralMessage',
  full_name='qrl.EncryptedEphemeralMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='msg_id', full_name='qrl.EncryptedEphemeralMessage.msg_id', 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='ttl', full_name='qrl.EncryptedEphemeralMessage.ttl', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ttr', full_name='qrl.EncryptedEphemeralMessage.ttr', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='channel', full_name='qrl.EncryptedEphemeralMessage.channel', index=3,
      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='nonce', full_name='qrl.EncryptedEphemeralMessage.nonce', index=4,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='payload', full_name='qrl.EncryptedEphemeralMessage.payload', index=5,
      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=[_ENCRYPTEDEPHEMERALMESSAGE_CHANNEL, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6523,
  serialized_end=6719,
)


_ADDRESSLIST = _descriptor.Descriptor(
  name='AddressList',
  full_name='qrl.AddressList',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addresses', full_name='qrl.AddressList.addresses', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6721,
  serialized_end=6753,
)


_BLOCKHEIGHTDATA = _descriptor.Descriptor(
  name='BlockHeightData',
  full_name='qrl.BlockHeightData',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.BlockHeightData.block_number', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='block_headerhash', full_name='qrl.BlockHeightData.block_headerhash', 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='cumulative_difficulty', full_name='qrl.BlockHeightData.cumulative_difficulty', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6755,
  serialized_end=6851,
)


_BLOCKMETADATA = _descriptor.Descriptor(
  name='BlockMetaData',
  full_name='qrl.BlockMetaData',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_difficulty', full_name='qrl.BlockMetaData.block_difficulty', 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='cumulative_difficulty', full_name='qrl.BlockMetaData.cumulative_difficulty', 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='child_headerhashes', full_name='qrl.BlockMetaData.child_headerhashes', index=2,
      number=3, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='last_N_headerhashes', full_name='qrl.BlockMetaData.last_N_headerhashes', index=3,
      number=4, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6854,
  serialized_end=6983,
)


_BLOCKNUMBERMAPPING = _descriptor.Descriptor(
  name='BlockNumberMapping',
  full_name='qrl.BlockNumberMapping',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='headerhash', full_name='qrl.BlockNumberMapping.headerhash', 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='prev_headerhash', full_name='qrl.BlockNumberMapping.prev_headerhash', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6985,
  serialized_end=7050,
)


_STATELOADER = _descriptor.Descriptor(
  name='StateLoader',
  full_name='qrl.StateLoader',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addresses', full_name='qrl.StateLoader.addresses', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='token_txhash', full_name='qrl.StateLoader.token_txhash', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='txhash', full_name='qrl.StateLoader.txhash', index=2,
      number=3, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='total_coin_supply', full_name='qrl.StateLoader.total_coin_supply', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7052,
  serialized_end=7149,
)


_STATEOBJECTS = _descriptor.Descriptor(
  name='StateObjects',
  full_name='qrl.StateObjects',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='state_loaders', full_name='qrl.StateObjects.state_loaders', index=0,
      number=1, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7151,
  serialized_end=7188,
)


_LRUSTATECACHE = _descriptor.Descriptor(
  name='LRUStateCache',
  full_name='qrl.LRUStateCache',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7190,
  serialized_end=7205,
)


_PEERSTAT = _descriptor.Descriptor(
  name='PeerStat',
  full_name='qrl.PeerStat',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='peer_ip', full_name='qrl.PeerStat.peer_ip', 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='port', full_name='qrl.PeerStat.port', 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='node_chain_state', full_name='qrl.PeerStat.node_chain_state', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7207,
  serialized_end=7295,
)


_NODECHAINSTATE = _descriptor.Descriptor(
  name='NodeChainState',
  full_name='qrl.NodeChainState',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.NodeChainState.block_number', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='header_hash', full_name='qrl.NodeChainState.header_hash', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cumulative_difficulty', full_name='qrl.NodeChainState.cumulative_difficulty', 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='version', full_name='qrl.NodeChainState.version', 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='timestamp', full_name='qrl.NodeChainState.timestamp', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7297,
  serialized_end=7423,
)


_NODEHEADERHASH = _descriptor.Descriptor(
  name='NodeHeaderHash',
  full_name='qrl.NodeHeaderHash',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.NodeHeaderHash.block_number', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='headerhashes', full_name='qrl.NodeHeaderHash.headerhashes', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7425,
  serialized_end=7485,
)


_P2PACKNOWLEDGEMENT = _descriptor.Descriptor(
  name='P2PAcknowledgement',
  full_name='qrl.P2PAcknowledgement',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bytes_processed', full_name='qrl.P2PAcknowledgement.bytes_processed', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7487,
  serialized_end=7532,
)


_PEERINFO = _descriptor.Descriptor(
  name='PeerInfo',
  full_name='qrl.PeerInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='peer_ip', full_name='qrl.PeerInfo.peer_ip', 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='port', full_name='qrl.PeerInfo.port', 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='banned_timestamp', full_name='qrl.PeerInfo.banned_timestamp', 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='credibility', full_name='qrl.PeerInfo.credibility', 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='last_connections_timestamp', full_name='qrl.PeerInfo.last_connections_timestamp', index=4,
      number=5, type=13, cpp_type=3, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7534,
  serialized_end=7658,
)


_PEERS = _descriptor.Descriptor(
  name='Peers',
  full_name='qrl.Peers',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='peer_info_list', full_name='qrl.Peers.peer_info_list', 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='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=7660,
  serialized_end=7706,
)

_GETNODESTATERESP.fields_by_name['info'].message_type = _NODEINFO
_GETKNOWNPEERSRESP.fields_by_name['node_info'].message_type = _NODEINFO
_GETKNOWNPEERSRESP.fields_by_name['known_peers'].message_type = _PEER
_GETPEERSSTATRESP.fields_by_name['peers_stat'].message_type = _PEERSTAT
_GETSTATSRESP.fields_by_name['node_info'].message_type = _NODEINFO
_GETSTATSRESP.fields_by_name['block_timeseries'].message_type = _BLOCKDATAPOINT
_GETADDRESSSTATERESP.fields_by_name['state'].message_type = _ADDRESSSTATE
_PARSEADDRESSRESP.fields_by_name['desc'].message_type = _ADDRESSDESCRIPTOR
_GETOBJECTRESP.fields_by_name['address_state'].message_type = _ADDRESSSTATE
_GETOBJECTRESP.fields_by_name['transaction'].message_type = _TRANSACTIONEXTENDED
_GETOBJECTRESP.fields_by_name['block_extended'].message_type = _BLOCKEXTENDED
_GETOBJECTRESP.oneofs_by_name['result'].fields.append(
  _GETOBJECTRESP.fields_by_name['address_state'])
_GETOBJECTRESP.fields_by_name['address_state'].containing_oneof = _GETOBJECTRESP.oneofs_by_name['result']
_GETOBJECTRESP.oneofs_by_name['result'].fields.append(
  _GETOBJECTRESP.fields_by_name['transaction'])
_GETOBJECTRESP.fields_by_name['transaction'].containing_oneof = _GETOBJECTRESP.oneofs_by_name['result']
_GETOBJECTRESP.oneofs_by_name['result'].fields.append(
  _GETOBJECTRESP.fields_by_name['block_extended'])
_GETOBJECTRESP.fields_by_name['block_extended'].containing_oneof = _GETOBJECTRESP.oneofs_by_name['result']
_GETLATESTDATAREQ.fields_by_name['filter'].enum_type = _GETLATESTDATAREQ_FILTER
_GETLATESTDATAREQ_FILTER.containing_type = _GETLATESTDATAREQ
_GETLATESTDATARESP.fields_by_name['blockheaders'].message_type = _BLOCKHEADEREXTENDED
_GETLATESTDATARESP.fields_by_name['transactions'].message_type = _TRANSACTIONEXTENDED
_GETLATESTDATARESP.fields_by_name['transactions_unconfirmed'].message_type = _TRANSACTIONEXTENDED
_TRANSFERCOINSRESP.fields_by_name['extended_transaction_unsigned'].message_type = _TRANSACTIONEXTENDED
_PUSHTRANSACTIONREQ.fields_by_name['transaction_signed'].message_type = _TRANSACTION
_PUSHTRANSACTIONRESP.fields_by_name['error_code'].enum_type = _PUSHTRANSACTIONRESP_RESPONSECODE
_PUSHTRANSACTIONRESP_RESPONSECODE.containing_type = _PUSHTRANSACTIONRESP
_TOKENTXNREQ.fields_by_name['initial_balances'].message_type = _ADDRESSAMOUNT
_GETTRANSACTIONSBYADDRESSRESP.fields_by_name['mini_transactions'].message_type = _MINITRANSACTION
_GETTRANSACTIONRESP.fields_by_name['tx'].message_type = _TRANSACTION
_GETBLOCKRESP.fields_by_name['block'].message_type = _BLOCK
_GETBLOCKBYNUMBERRESP.fields_by_name['block'].message_type = _BLOCK
_NODEINFO.fields_by_name['state'].enum_type = _NODEINFO_STATE
_NODEINFO_STATE.containing_type = _NODEINFO
_STOREDPEERS.fields_by_name['peers'].message_type = _PEER
_ADDRESSSTATE_TOKENSENTRY.containing_type = _ADDRESSSTATE
_ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY.containing_type = _ADDRESSSTATE
_ADDRESSSTATE.fields_by_name['tokens'].message_type = _ADDRESSSTATE_TOKENSENTRY
_ADDRESSSTATE.fields_by_name['latticePK_list'].message_type = _LATTICEPK
_ADDRESSSTATE.fields_by_name['slave_pks_access_type'].message_type = _ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY
_BLOCKHEADEREXTENDED.fields_by_name['header'].message_type = _BLOCKHEADER
_BLOCKHEADEREXTENDED.fields_by_name['transaction_count'].message_type = _TRANSACTIONCOUNT
_TRANSACTIONCOUNT_COUNTENTRY.containing_type = _TRANSACTIONCOUNT
_TRANSACTIONCOUNT.fields_by_name['count'].message_type = _TRANSACTIONCOUNT_COUNTENTRY
_TRANSACTIONEXTENDED.fields_by_name['header'].message_type = _BLOCKHEADER
_TRANSACTIONEXTENDED.fields_by_name['tx'].message_type = _TRANSACTION
_BLOCKEXTENDED.fields_by_name['header'].message_type = _BLOCKHEADER
_BLOCKEXTENDED.fields_by_name['extended_transactions'].message_type = _TRANSACTIONEXTENDED
_BLOCKEXTENDED.fields_by_name['genesis_balance'].message_type = _GENESISBALANCE
_BLOCK.fields_by_name['header'].message_type = _BLOCKHEADER
_BLOCK.fields_by_name['transactions'].message_type = _TRANSACTION
_BLOCK.fields_by_name['genesis_balance'].message_type = _GENESISBALANCE
_BLOCKMETADATALIST.fields_by_name['block_number_hashes'].message_type = _BLOCKMETADATA
_TRANSACTION_TRANSFER.containing_type = _TRANSACTION
_TRANSACTION_COINBASE.containing_type = _TRANSACTION
_TRANSACTION_LATTICEPUBLICKEY.containing_type = _TRANSACTION
_TRANSACTION_MESSAGE.containing_type = _TRANSACTION
_TRANSACTION_TOKEN.fields_by_name['initial_balances'].message_type = _ADDRESSAMOUNT
_TRANSACTION_TOKEN.containing_type = _TRANSACTION
_TRANSACTION_TRANSFERTOKEN.containing_type = _TRANSACTION
_TRANSACTION_SLAVE.containing_type = _TRANSACTION
_TRANSACTION.fields_by_name['transfer'].message_type = _TRANSACTION_TRANSFER
_TRANSACTION.fields_by_name['coinbase'].message_type = _TRANSACTION_COINBASE
_TRANSACTION.fields_by_name['latticePK'].message_type = _TRANSACTION_LATTICEPUBLICKEY
_TRANSACTION.fields_by_name['message'].message_type = _TRANSACTION_MESSAGE
_TRANSACTION.fields_by_name['token'].message_type = _TRANSACTION_TOKEN
_TRANSACTION.fields_by_name['transfer_token'].message_type = _TRANSACTION_TRANSFERTOKEN
_TRANSACTION.fields_by_name['slave'].message_type = _TRANSACTION_SLAVE
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['transfer'])
_TRANSACTION.fields_by_name['transfer'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['coinbase'])
_TRANSACTION.fields_by_name['coinbase'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['latticePK'])
_TRANSACTION.fields_by_name['latticePK'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['message'])
_TRANSACTION.fields_by_name['message'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['token'])
_TRANSACTION.fields_by_name['token'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['transfer_token'])
_TRANSACTION.fields_by_name['transfer_token'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_TRANSACTION.oneofs_by_name['transactionType'].fields.append(
  _TRANSACTION.fields_by_name['slave'])
_TRANSACTION.fields_by_name['slave'].containing_oneof = _TRANSACTION.oneofs_by_name['transactionType']
_ENCRYPTEDEPHEMERALMESSAGE_CHANNEL.containing_type = _ENCRYPTEDEPHEMERALMESSAGE
_ENCRYPTEDEPHEMERALMESSAGE.fields_by_name['channel'].message_type = _ENCRYPTEDEPHEMERALMESSAGE_CHANNEL
_PEERSTAT.fields_by_name['node_chain_state'].message_type = _NODECHAINSTATE
_PEERS.fields_by_name['peer_info_list'].message_type = _PEERINFO
DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
DESCRIPTOR.message_types_by_name['GetNodeStateReq'] = _GETNODESTATEREQ
DESCRIPTOR.message_types_by_name['GetNodeStateResp'] = _GETNODESTATERESP
DESCRIPTOR.message_types_by_name['GetKnownPeersReq'] = _GETKNOWNPEERSREQ
DESCRIPTOR.message_types_by_name['GetKnownPeersResp'] = _GETKNOWNPEERSRESP
DESCRIPTOR.message_types_by_name['GetPeersStatReq'] = _GETPEERSSTATREQ
DESCRIPTOR.message_types_by_name['GetPeersStatResp'] = _GETPEERSSTATRESP
DESCRIPTOR.message_types_by_name['GetStatsReq'] = _GETSTATSREQ
DESCRIPTOR.message_types_by_name['GetStatsResp'] = _GETSTATSRESP
DESCRIPTOR.message_types_by_name['GetAddressFromPKReq'] = _GETADDRESSFROMPKREQ
DESCRIPTOR.message_types_by_name['GetAddressFromPKResp'] = _GETADDRESSFROMPKRESP
DESCRIPTOR.message_types_by_name['BlockDataPoint'] = _BLOCKDATAPOINT
DESCRIPTOR.message_types_by_name['GetAddressStateReq'] = _GETADDRESSSTATEREQ
DESCRIPTOR.message_types_by_name['GetAddressStateResp'] = _GETADDRESSSTATERESP
DESCRIPTOR.message_types_by_name['ParseAddressReq'] = _PARSEADDRESSREQ
DESCRIPTOR.message_types_by_name['ParseAddressResp'] = _PARSEADDRESSRESP
DESCRIPTOR.message_types_by_name['GetObjectReq'] = _GETOBJECTREQ
DESCRIPTOR.message_types_by_name['GetObjectResp'] = _GETOBJECTRESP
DESCRIPTOR.message_types_by_name['GetLatestDataReq'] = _GETLATESTDATAREQ
DESCRIPTOR.message_types_by_name['GetLatestDataResp'] = _GETLATESTDATARESP
DESCRIPTOR.message_types_by_name['TransferCoinsReq'] = _TRANSFERCOINSREQ
DESCRIPTOR.message_types_by_name['TransferCoinsResp'] = _TRANSFERCOINSRESP
DESCRIPTOR.message_types_by_name['PushTransactionReq'] = _PUSHTRANSACTIONREQ
DESCRIPTOR.message_types_by_name['PushTransactionResp'] = _PUSHTRANSACTIONRESP
DESCRIPTOR.message_types_by_name['MessageTxnReq'] = _MESSAGETXNREQ
DESCRIPTOR.message_types_by_name['TokenTxnReq'] = _TOKENTXNREQ
DESCRIPTOR.message_types_by_name['TransferTokenTxnReq'] = _TRANSFERTOKENTXNREQ
DESCRIPTOR.message_types_by_name['SlaveTxnReq'] = _SLAVETXNREQ
DESCRIPTOR.message_types_by_name['MiniTransaction'] = _MINITRANSACTION
DESCRIPTOR.message_types_by_name['GetTransactionsByAddressReq'] = _GETTRANSACTIONSBYADDRESSREQ
DESCRIPTOR.message_types_by_name['GetTransactionsByAddressResp'] = _GETTRANSACTIONSBYADDRESSRESP
DESCRIPTOR.message_types_by_name['GetTransactionReq'] = _GETTRANSACTIONREQ
DESCRIPTOR.message_types_by_name['GetTransactionResp'] = _GETTRANSACTIONRESP
DESCRIPTOR.message_types_by_name['GetBalanceReq'] = _GETBALANCEREQ
DESCRIPTOR.message_types_by_name['GetBalanceResp'] = _GETBALANCERESP
DESCRIPTOR.message_types_by_name['GetOTSReq'] = _GETOTSREQ
DESCRIPTOR.message_types_by_name['GetOTSResp'] = _GETOTSRESP
DESCRIPTOR.message_types_by_name['GetHeightReq'] = _GETHEIGHTREQ
DESCRIPTOR.message_types_by_name['GetHeightResp'] = _GETHEIGHTRESP
DESCRIPTOR.message_types_by_name['GetBlockReq'] = _GETBLOCKREQ
DESCRIPTOR.message_types_by_name['GetBlockResp'] = _GETBLOCKRESP
DESCRIPTOR.message_types_by_name['GetBlockByNumberReq'] = _GETBLOCKBYNUMBERREQ
DESCRIPTOR.message_types_by_name['GetBlockByNumberResp'] = _GETBLOCKBYNUMBERRESP
DESCRIPTOR.message_types_by_name['GetLocalAddressesReq'] = _GETLOCALADDRESSESREQ
DESCRIPTOR.message_types_by_name['GetLocalAddressesResp'] = _GETLOCALADDRESSESRESP
DESCRIPTOR.message_types_by_name['NodeInfo'] = _NODEINFO
DESCRIPTOR.message_types_by_name['AddressDescriptor'] = _ADDRESSDESCRIPTOR
DESCRIPTOR.message_types_by_name['StoredPeers'] = _STOREDPEERS
DESCRIPTOR.message_types_by_name['Peer'] = _PEER
DESCRIPTOR.message_types_by_name['AddressState'] = _ADDRESSSTATE
DESCRIPTOR.message_types_by_name['LatticePK'] = _LATTICEPK
DESCRIPTOR.message_types_by_name['AddressAmount'] = _ADDRESSAMOUNT
DESCRIPTOR.message_types_by_name['BlockHeader'] = _BLOCKHEADER
DESCRIPTOR.message_types_by_name['BlockHeaderExtended'] = _BLOCKHEADEREXTENDED
DESCRIPTOR.message_types_by_name['TransactionCount'] = _TRANSACTIONCOUNT
DESCRIPTOR.message_types_by_name['TransactionExtended'] = _TRANSACTIONEXTENDED
DESCRIPTOR.message_types_by_name['BlockExtended'] = _BLOCKEXTENDED
DESCRIPTOR.message_types_by_name['Block'] = _BLOCK
DESCRIPTOR.message_types_by_name['GenesisBalance'] = _GENESISBALANCE
DESCRIPTOR.message_types_by_name['BlockMetaDataList'] = _BLOCKMETADATALIST
DESCRIPTOR.message_types_by_name['Transaction'] = _TRANSACTION
DESCRIPTOR.message_types_by_name['TokenList'] = _TOKENLIST
DESCRIPTOR.message_types_by_name['TokenMetadata'] = _TOKENMETADATA
DESCRIPTOR.message_types_by_name['EncryptedEphemeralMessage'] = _ENCRYPTEDEPHEMERALMESSAGE
DESCRIPTOR.message_types_by_name['AddressList'] = _ADDRESSLIST
DESCRIPTOR.message_types_by_name['BlockHeightData'] = _BLOCKHEIGHTDATA
DESCRIPTOR.message_types_by_name['BlockMetaData'] = _BLOCKMETADATA
DESCRIPTOR.message_types_by_name['BlockNumberMapping'] = _BLOCKNUMBERMAPPING
DESCRIPTOR.message_types_by_name['StateLoader'] = _STATELOADER
DESCRIPTOR.message_types_by_name['StateObjects'] = _STATEOBJECTS
DESCRIPTOR.message_types_by_name['LRUStateCache'] = _LRUSTATECACHE
DESCRIPTOR.message_types_by_name['PeerStat'] = _PEERSTAT
DESCRIPTOR.message_types_by_name['NodeChainState'] = _NODECHAINSTATE
DESCRIPTOR.message_types_by_name['NodeHeaderHash'] = _NODEHEADERHASH
DESCRIPTOR.message_types_by_name['P2PAcknowledgement'] = _P2PACKNOWLEDGEMENT
DESCRIPTOR.message_types_by_name['PeerInfo'] = _PEERINFO
DESCRIPTOR.message_types_by_name['Peers'] = _PEERS
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), dict(
  DESCRIPTOR = _EMPTY,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.Empty)
  ))
_sym_db.RegisterMessage(Empty)

GetNodeStateReq = _reflection.GeneratedProtocolMessageType('GetNodeStateReq', (_message.Message,), dict(
  DESCRIPTOR = _GETNODESTATEREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetNodeStateReq)
  ))
_sym_db.RegisterMessage(GetNodeStateReq)

GetNodeStateResp = _reflection.GeneratedProtocolMessageType('GetNodeStateResp', (_message.Message,), dict(
  DESCRIPTOR = _GETNODESTATERESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetNodeStateResp)
  ))
_sym_db.RegisterMessage(GetNodeStateResp)

GetKnownPeersReq = _reflection.GeneratedProtocolMessageType('GetKnownPeersReq', (_message.Message,), dict(
  DESCRIPTOR = _GETKNOWNPEERSREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetKnownPeersReq)
  ))
_sym_db.RegisterMessage(GetKnownPeersReq)

GetKnownPeersResp = _reflection.GeneratedProtocolMessageType('GetKnownPeersResp', (_message.Message,), dict(
  DESCRIPTOR = _GETKNOWNPEERSRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetKnownPeersResp)
  ))
_sym_db.RegisterMessage(GetKnownPeersResp)

GetPeersStatReq = _reflection.GeneratedProtocolMessageType('GetPeersStatReq', (_message.Message,), dict(
  DESCRIPTOR = _GETPEERSSTATREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetPeersStatReq)
  ))
_sym_db.RegisterMessage(GetPeersStatReq)

GetPeersStatResp = _reflection.GeneratedProtocolMessageType('GetPeersStatResp', (_message.Message,), dict(
  DESCRIPTOR = _GETPEERSSTATRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetPeersStatResp)
  ))
_sym_db.RegisterMessage(GetPeersStatResp)

GetStatsReq = _reflection.GeneratedProtocolMessageType('GetStatsReq', (_message.Message,), dict(
  DESCRIPTOR = _GETSTATSREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetStatsReq)
  ))
_sym_db.RegisterMessage(GetStatsReq)

GetStatsResp = _reflection.GeneratedProtocolMessageType('GetStatsResp', (_message.Message,), dict(
  DESCRIPTOR = _GETSTATSRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetStatsResp)
  ))
_sym_db.RegisterMessage(GetStatsResp)

GetAddressFromPKReq = _reflection.GeneratedProtocolMessageType('GetAddressFromPKReq', (_message.Message,), dict(
  DESCRIPTOR = _GETADDRESSFROMPKREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetAddressFromPKReq)
  ))
_sym_db.RegisterMessage(GetAddressFromPKReq)

GetAddressFromPKResp = _reflection.GeneratedProtocolMessageType('GetAddressFromPKResp', (_message.Message,), dict(
  DESCRIPTOR = _GETADDRESSFROMPKRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetAddressFromPKResp)
  ))
_sym_db.RegisterMessage(GetAddressFromPKResp)

BlockDataPoint = _reflection.GeneratedProtocolMessageType('BlockDataPoint', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKDATAPOINT,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockDataPoint)
  ))
_sym_db.RegisterMessage(BlockDataPoint)

GetAddressStateReq = _reflection.GeneratedProtocolMessageType('GetAddressStateReq', (_message.Message,), dict(
  DESCRIPTOR = _GETADDRESSSTATEREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetAddressStateReq)
  ))
_sym_db.RegisterMessage(GetAddressStateReq)

GetAddressStateResp = _reflection.GeneratedProtocolMessageType('GetAddressStateResp', (_message.Message,), dict(
  DESCRIPTOR = _GETADDRESSSTATERESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetAddressStateResp)
  ))
_sym_db.RegisterMessage(GetAddressStateResp)

ParseAddressReq = _reflection.GeneratedProtocolMessageType('ParseAddressReq', (_message.Message,), dict(
  DESCRIPTOR = _PARSEADDRESSREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.ParseAddressReq)
  ))
_sym_db.RegisterMessage(ParseAddressReq)

ParseAddressResp = _reflection.GeneratedProtocolMessageType('ParseAddressResp', (_message.Message,), dict(
  DESCRIPTOR = _PARSEADDRESSRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.ParseAddressResp)
  ))
_sym_db.RegisterMessage(ParseAddressResp)

GetObjectReq = _reflection.GeneratedProtocolMessageType('GetObjectReq', (_message.Message,), dict(
  DESCRIPTOR = _GETOBJECTREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetObjectReq)
  ))
_sym_db.RegisterMessage(GetObjectReq)

GetObjectResp = _reflection.GeneratedProtocolMessageType('GetObjectResp', (_message.Message,), dict(
  DESCRIPTOR = _GETOBJECTRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetObjectResp)
  ))
_sym_db.RegisterMessage(GetObjectResp)

GetLatestDataReq = _reflection.GeneratedProtocolMessageType('GetLatestDataReq', (_message.Message,), dict(
  DESCRIPTOR = _GETLATESTDATAREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetLatestDataReq)
  ))
_sym_db.RegisterMessage(GetLatestDataReq)

GetLatestDataResp = _reflection.GeneratedProtocolMessageType('GetLatestDataResp', (_message.Message,), dict(
  DESCRIPTOR = _GETLATESTDATARESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetLatestDataResp)
  ))
_sym_db.RegisterMessage(GetLatestDataResp)

TransferCoinsReq = _reflection.GeneratedProtocolMessageType('TransferCoinsReq', (_message.Message,), dict(
  DESCRIPTOR = _TRANSFERCOINSREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TransferCoinsReq)
  ))
_sym_db.RegisterMessage(TransferCoinsReq)

TransferCoinsResp = _reflection.GeneratedProtocolMessageType('TransferCoinsResp', (_message.Message,), dict(
  DESCRIPTOR = _TRANSFERCOINSRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TransferCoinsResp)
  ))
_sym_db.RegisterMessage(TransferCoinsResp)

PushTransactionReq = _reflection.GeneratedProtocolMessageType('PushTransactionReq', (_message.Message,), dict(
  DESCRIPTOR = _PUSHTRANSACTIONREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.PushTransactionReq)
  ))
_sym_db.RegisterMessage(PushTransactionReq)

PushTransactionResp = _reflection.GeneratedProtocolMessageType('PushTransactionResp', (_message.Message,), dict(
  DESCRIPTOR = _PUSHTRANSACTIONRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.PushTransactionResp)
  ))
_sym_db.RegisterMessage(PushTransactionResp)

MessageTxnReq = _reflection.GeneratedProtocolMessageType('MessageTxnReq', (_message.Message,), dict(
  DESCRIPTOR = _MESSAGETXNREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.MessageTxnReq)
  ))
_sym_db.RegisterMessage(MessageTxnReq)

TokenTxnReq = _reflection.GeneratedProtocolMessageType('TokenTxnReq', (_message.Message,), dict(
  DESCRIPTOR = _TOKENTXNREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TokenTxnReq)
  ))
_sym_db.RegisterMessage(TokenTxnReq)

TransferTokenTxnReq = _reflection.GeneratedProtocolMessageType('TransferTokenTxnReq', (_message.Message,), dict(
  DESCRIPTOR = _TRANSFERTOKENTXNREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TransferTokenTxnReq)
  ))
_sym_db.RegisterMessage(TransferTokenTxnReq)

SlaveTxnReq = _reflection.GeneratedProtocolMessageType('SlaveTxnReq', (_message.Message,), dict(
  DESCRIPTOR = _SLAVETXNREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.SlaveTxnReq)
  ))
_sym_db.RegisterMessage(SlaveTxnReq)

MiniTransaction = _reflection.GeneratedProtocolMessageType('MiniTransaction', (_message.Message,), dict(
  DESCRIPTOR = _MINITRANSACTION,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.MiniTransaction)
  ))
_sym_db.RegisterMessage(MiniTransaction)

GetTransactionsByAddressReq = _reflection.GeneratedProtocolMessageType('GetTransactionsByAddressReq', (_message.Message,), dict(
  DESCRIPTOR = _GETTRANSACTIONSBYADDRESSREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetTransactionsByAddressReq)
  ))
_sym_db.RegisterMessage(GetTransactionsByAddressReq)

GetTransactionsByAddressResp = _reflection.GeneratedProtocolMessageType('GetTransactionsByAddressResp', (_message.Message,), dict(
  DESCRIPTOR = _GETTRANSACTIONSBYADDRESSRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetTransactionsByAddressResp)
  ))
_sym_db.RegisterMessage(GetTransactionsByAddressResp)

GetTransactionReq = _reflection.GeneratedProtocolMessageType('GetTransactionReq', (_message.Message,), dict(
  DESCRIPTOR = _GETTRANSACTIONREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetTransactionReq)
  ))
_sym_db.RegisterMessage(GetTransactionReq)

GetTransactionResp = _reflection.GeneratedProtocolMessageType('GetTransactionResp', (_message.Message,), dict(
  DESCRIPTOR = _GETTRANSACTIONRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetTransactionResp)
  ))
_sym_db.RegisterMessage(GetTransactionResp)

GetBalanceReq = _reflection.GeneratedProtocolMessageType('GetBalanceReq', (_message.Message,), dict(
  DESCRIPTOR = _GETBALANCEREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetBalanceReq)
  ))
_sym_db.RegisterMessage(GetBalanceReq)

GetBalanceResp = _reflection.GeneratedProtocolMessageType('GetBalanceResp', (_message.Message,), dict(
  DESCRIPTOR = _GETBALANCERESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetBalanceResp)
  ))
_sym_db.RegisterMessage(GetBalanceResp)

GetOTSReq = _reflection.GeneratedProtocolMessageType('GetOTSReq', (_message.Message,), dict(
  DESCRIPTOR = _GETOTSREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetOTSReq)
  ))
_sym_db.RegisterMessage(GetOTSReq)

GetOTSResp = _reflection.GeneratedProtocolMessageType('GetOTSResp', (_message.Message,), dict(
  DESCRIPTOR = _GETOTSRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetOTSResp)
  ))
_sym_db.RegisterMessage(GetOTSResp)

GetHeightReq = _reflection.GeneratedProtocolMessageType('GetHeightReq', (_message.Message,), dict(
  DESCRIPTOR = _GETHEIGHTREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetHeightReq)
  ))
_sym_db.RegisterMessage(GetHeightReq)

GetHeightResp = _reflection.GeneratedProtocolMessageType('GetHeightResp', (_message.Message,), dict(
  DESCRIPTOR = _GETHEIGHTRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetHeightResp)
  ))
_sym_db.RegisterMessage(GetHeightResp)

GetBlockReq = _reflection.GeneratedProtocolMessageType('GetBlockReq', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetBlockReq)
  ))
_sym_db.RegisterMessage(GetBlockReq)

GetBlockResp = _reflection.GeneratedProtocolMessageType('GetBlockResp', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetBlockResp)
  ))
_sym_db.RegisterMessage(GetBlockResp)

GetBlockByNumberReq = _reflection.GeneratedProtocolMessageType('GetBlockByNumberReq', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKBYNUMBERREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetBlockByNumberReq)
  ))
_sym_db.RegisterMessage(GetBlockByNumberReq)

GetBlockByNumberResp = _reflection.GeneratedProtocolMessageType('GetBlockByNumberResp', (_message.Message,), dict(
  DESCRIPTOR = _GETBLOCKBYNUMBERRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetBlockByNumberResp)
  ))
_sym_db.RegisterMessage(GetBlockByNumberResp)

GetLocalAddressesReq = _reflection.GeneratedProtocolMessageType('GetLocalAddressesReq', (_message.Message,), dict(
  DESCRIPTOR = _GETLOCALADDRESSESREQ,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetLocalAddressesReq)
  ))
_sym_db.RegisterMessage(GetLocalAddressesReq)

GetLocalAddressesResp = _reflection.GeneratedProtocolMessageType('GetLocalAddressesResp', (_message.Message,), dict(
  DESCRIPTOR = _GETLOCALADDRESSESRESP,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GetLocalAddressesResp)
  ))
_sym_db.RegisterMessage(GetLocalAddressesResp)

NodeInfo = _reflection.GeneratedProtocolMessageType('NodeInfo', (_message.Message,), dict(
  DESCRIPTOR = _NODEINFO,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.NodeInfo)
  ))
_sym_db.RegisterMessage(NodeInfo)

AddressDescriptor = _reflection.GeneratedProtocolMessageType('AddressDescriptor', (_message.Message,), dict(
  DESCRIPTOR = _ADDRESSDESCRIPTOR,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.AddressDescriptor)
  ))
_sym_db.RegisterMessage(AddressDescriptor)

StoredPeers = _reflection.GeneratedProtocolMessageType('StoredPeers', (_message.Message,), dict(
  DESCRIPTOR = _STOREDPEERS,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.StoredPeers)
  ))
_sym_db.RegisterMessage(StoredPeers)

Peer = _reflection.GeneratedProtocolMessageType('Peer', (_message.Message,), dict(
  DESCRIPTOR = _PEER,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.Peer)
  ))
_sym_db.RegisterMessage(Peer)

AddressState = _reflection.GeneratedProtocolMessageType('AddressState', (_message.Message,), dict(

  TokensEntry = _reflection.GeneratedProtocolMessageType('TokensEntry', (_message.Message,), dict(
    DESCRIPTOR = _ADDRESSSTATE_TOKENSENTRY,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.AddressState.TokensEntry)
    ))
  ,

  SlavePksAccessTypeEntry = _reflection.GeneratedProtocolMessageType('SlavePksAccessTypeEntry', (_message.Message,), dict(
    DESCRIPTOR = _ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.AddressState.SlavePksAccessTypeEntry)
    ))
  ,
  DESCRIPTOR = _ADDRESSSTATE,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.AddressState)
  ))
_sym_db.RegisterMessage(AddressState)
_sym_db.RegisterMessage(AddressState.TokensEntry)
_sym_db.RegisterMessage(AddressState.SlavePksAccessTypeEntry)

LatticePK = _reflection.GeneratedProtocolMessageType('LatticePK', (_message.Message,), dict(
  DESCRIPTOR = _LATTICEPK,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.LatticePK)
  ))
_sym_db.RegisterMessage(LatticePK)

AddressAmount = _reflection.GeneratedProtocolMessageType('AddressAmount', (_message.Message,), dict(
  DESCRIPTOR = _ADDRESSAMOUNT,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.AddressAmount)
  ))
_sym_db.RegisterMessage(AddressAmount)

BlockHeader = _reflection.GeneratedProtocolMessageType('BlockHeader', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKHEADER,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockHeader)
  ))
_sym_db.RegisterMessage(BlockHeader)

BlockHeaderExtended = _reflection.GeneratedProtocolMessageType('BlockHeaderExtended', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKHEADEREXTENDED,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockHeaderExtended)
  ))
_sym_db.RegisterMessage(BlockHeaderExtended)

TransactionCount = _reflection.GeneratedProtocolMessageType('TransactionCount', (_message.Message,), dict(

  CountEntry = _reflection.GeneratedProtocolMessageType('CountEntry', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTIONCOUNT_COUNTENTRY,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.TransactionCount.CountEntry)
    ))
  ,
  DESCRIPTOR = _TRANSACTIONCOUNT,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TransactionCount)
  ))
_sym_db.RegisterMessage(TransactionCount)
_sym_db.RegisterMessage(TransactionCount.CountEntry)

TransactionExtended = _reflection.GeneratedProtocolMessageType('TransactionExtended', (_message.Message,), dict(
  DESCRIPTOR = _TRANSACTIONEXTENDED,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TransactionExtended)
  ))
_sym_db.RegisterMessage(TransactionExtended)

BlockExtended = _reflection.GeneratedProtocolMessageType('BlockExtended', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKEXTENDED,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockExtended)
  ))
_sym_db.RegisterMessage(BlockExtended)

Block = _reflection.GeneratedProtocolMessageType('Block', (_message.Message,), dict(
  DESCRIPTOR = _BLOCK,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.Block)
  ))
_sym_db.RegisterMessage(Block)

GenesisBalance = _reflection.GeneratedProtocolMessageType('GenesisBalance', (_message.Message,), dict(
  DESCRIPTOR = _GENESISBALANCE,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.GenesisBalance)
  ))
_sym_db.RegisterMessage(GenesisBalance)

BlockMetaDataList = _reflection.GeneratedProtocolMessageType('BlockMetaDataList', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKMETADATALIST,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockMetaDataList)
  ))
_sym_db.RegisterMessage(BlockMetaDataList)

Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), dict(

  Transfer = _reflection.GeneratedProtocolMessageType('Transfer', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_TRANSFER,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.Transfer)
    ))
  ,

  CoinBase = _reflection.GeneratedProtocolMessageType('CoinBase', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_COINBASE,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.CoinBase)
    ))
  ,

  LatticePublicKey = _reflection.GeneratedProtocolMessageType('LatticePublicKey', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_LATTICEPUBLICKEY,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.LatticePublicKey)
    ))
  ,

  Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_MESSAGE,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.Message)
    ))
  ,

  Token = _reflection.GeneratedProtocolMessageType('Token', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_TOKEN,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.Token)
    ))
  ,

  TransferToken = _reflection.GeneratedProtocolMessageType('TransferToken', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_TRANSFERTOKEN,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.TransferToken)
    ))
  ,

  Slave = _reflection.GeneratedProtocolMessageType('Slave', (_message.Message,), dict(
    DESCRIPTOR = _TRANSACTION_SLAVE,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.Transaction.Slave)
    ))
  ,
  DESCRIPTOR = _TRANSACTION,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.Transaction)
  ))
_sym_db.RegisterMessage(Transaction)
_sym_db.RegisterMessage(Transaction.Transfer)
_sym_db.RegisterMessage(Transaction.CoinBase)
_sym_db.RegisterMessage(Transaction.LatticePublicKey)
_sym_db.RegisterMessage(Transaction.Message)
_sym_db.RegisterMessage(Transaction.Token)
_sym_db.RegisterMessage(Transaction.TransferToken)
_sym_db.RegisterMessage(Transaction.Slave)

TokenList = _reflection.GeneratedProtocolMessageType('TokenList', (_message.Message,), dict(
  DESCRIPTOR = _TOKENLIST,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TokenList)
  ))
_sym_db.RegisterMessage(TokenList)

TokenMetadata = _reflection.GeneratedProtocolMessageType('TokenMetadata', (_message.Message,), dict(
  DESCRIPTOR = _TOKENMETADATA,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.TokenMetadata)
  ))
_sym_db.RegisterMessage(TokenMetadata)

EncryptedEphemeralMessage = _reflection.GeneratedProtocolMessageType('EncryptedEphemeralMessage', (_message.Message,), dict(

  Channel = _reflection.GeneratedProtocolMessageType('Channel', (_message.Message,), dict(
    DESCRIPTOR = _ENCRYPTEDEPHEMERALMESSAGE_CHANNEL,
    __module__ = 'qrl_pb2'
    # @@protoc_insertion_point(class_scope:qrl.EncryptedEphemeralMessage.Channel)
    ))
  ,
  DESCRIPTOR = _ENCRYPTEDEPHEMERALMESSAGE,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.EncryptedEphemeralMessage)
  ))
_sym_db.RegisterMessage(EncryptedEphemeralMessage)
_sym_db.RegisterMessage(EncryptedEphemeralMessage.Channel)

AddressList = _reflection.GeneratedProtocolMessageType('AddressList', (_message.Message,), dict(
  DESCRIPTOR = _ADDRESSLIST,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.AddressList)
  ))
_sym_db.RegisterMessage(AddressList)

BlockHeightData = _reflection.GeneratedProtocolMessageType('BlockHeightData', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKHEIGHTDATA,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockHeightData)
  ))
_sym_db.RegisterMessage(BlockHeightData)

BlockMetaData = _reflection.GeneratedProtocolMessageType('BlockMetaData', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKMETADATA,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockMetaData)
  ))
_sym_db.RegisterMessage(BlockMetaData)

BlockNumberMapping = _reflection.GeneratedProtocolMessageType('BlockNumberMapping', (_message.Message,), dict(
  DESCRIPTOR = _BLOCKNUMBERMAPPING,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.BlockNumberMapping)
  ))
_sym_db.RegisterMessage(BlockNumberMapping)

StateLoader = _reflection.GeneratedProtocolMessageType('StateLoader', (_message.Message,), dict(
  DESCRIPTOR = _STATELOADER,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.StateLoader)
  ))
_sym_db.RegisterMessage(StateLoader)

StateObjects = _reflection.GeneratedProtocolMessageType('StateObjects', (_message.Message,), dict(
  DESCRIPTOR = _STATEOBJECTS,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.StateObjects)
  ))
_sym_db.RegisterMessage(StateObjects)

LRUStateCache = _reflection.GeneratedProtocolMessageType('LRUStateCache', (_message.Message,), dict(
  DESCRIPTOR = _LRUSTATECACHE,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.LRUStateCache)
  ))
_sym_db.RegisterMessage(LRUStateCache)

PeerStat = _reflection.GeneratedProtocolMessageType('PeerStat', (_message.Message,), dict(
  DESCRIPTOR = _PEERSTAT,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.PeerStat)
  ))
_sym_db.RegisterMessage(PeerStat)

NodeChainState = _reflection.GeneratedProtocolMessageType('NodeChainState', (_message.Message,), dict(
  DESCRIPTOR = _NODECHAINSTATE,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.NodeChainState)
  ))
_sym_db.RegisterMessage(NodeChainState)

NodeHeaderHash = _reflection.GeneratedProtocolMessageType('NodeHeaderHash', (_message.Message,), dict(
  DESCRIPTOR = _NODEHEADERHASH,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.NodeHeaderHash)
  ))
_sym_db.RegisterMessage(NodeHeaderHash)

P2PAcknowledgement = _reflection.GeneratedProtocolMessageType('P2PAcknowledgement', (_message.Message,), dict(
  DESCRIPTOR = _P2PACKNOWLEDGEMENT,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.P2PAcknowledgement)
  ))
_sym_db.RegisterMessage(P2PAcknowledgement)

PeerInfo = _reflection.GeneratedProtocolMessageType('PeerInfo', (_message.Message,), dict(
  DESCRIPTOR = _PEERINFO,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.PeerInfo)
  ))
_sym_db.RegisterMessage(PeerInfo)

Peers = _reflection.GeneratedProtocolMessageType('Peers', (_message.Message,), dict(
  DESCRIPTOR = _PEERS,
  __module__ = 'qrl_pb2'
  # @@protoc_insertion_point(class_scope:qrl.Peers)
  ))
_sym_db.RegisterMessage(Peers)


_ADDRESSSTATE_TOKENSENTRY.has_options = True
_ADDRESSSTATE_TOKENSENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY.has_options = True
_ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))
_TRANSACTIONCOUNT_COUNTENTRY.has_options = True
_TRANSACTIONCOUNT_COUNTENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001'))

_PUBLICAPI = _descriptor.ServiceDescriptor(
  name='PublicAPI',
  full_name='qrl.PublicAPI',
  file=DESCRIPTOR,
  index=0,
  options=None,
  serialized_start=7709,
  serialized_end=9093,
  methods=[
  _descriptor.MethodDescriptor(
    name='GetNodeState',
    full_name='qrl.PublicAPI.GetNodeState',
    index=0,
    containing_service=None,
    input_type=_GETNODESTATEREQ,
    output_type=_GETNODESTATERESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetKnownPeers',
    full_name='qrl.PublicAPI.GetKnownPeers',
    index=1,
    containing_service=None,
    input_type=_GETKNOWNPEERSREQ,
    output_type=_GETKNOWNPEERSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetPeersStat',
    full_name='qrl.PublicAPI.GetPeersStat',
    index=2,
    containing_service=None,
    input_type=_GETPEERSSTATREQ,
    output_type=_GETPEERSSTATRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetStats',
    full_name='qrl.PublicAPI.GetStats',
    index=3,
    containing_service=None,
    input_type=_GETSTATSREQ,
    output_type=_GETSTATSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetAddressState',
    full_name='qrl.PublicAPI.GetAddressState',
    index=4,
    containing_service=None,
    input_type=_GETADDRESSSTATEREQ,
    output_type=_GETADDRESSSTATERESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetObject',
    full_name='qrl.PublicAPI.GetObject',
    index=5,
    containing_service=None,
    input_type=_GETOBJECTREQ,
    output_type=_GETOBJECTRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetLatestData',
    full_name='qrl.PublicAPI.GetLatestData',
    index=6,
    containing_service=None,
    input_type=_GETLATESTDATAREQ,
    output_type=_GETLATESTDATARESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='PushTransaction',
    full_name='qrl.PublicAPI.PushTransaction',
    index=7,
    containing_service=None,
    input_type=_PUSHTRANSACTIONREQ,
    output_type=_PUSHTRANSACTIONRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='TransferCoins',
    full_name='qrl.PublicAPI.TransferCoins',
    index=8,
    containing_service=None,
    input_type=_TRANSFERCOINSREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='ParseAddress',
    full_name='qrl.PublicAPI.ParseAddress',
    index=9,
    containing_service=None,
    input_type=_PARSEADDRESSREQ,
    output_type=_PARSEADDRESSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetAddressFromPK',
    full_name='qrl.PublicAPI.GetAddressFromPK',
    index=10,
    containing_service=None,
    input_type=_GETADDRESSFROMPKREQ,
    output_type=_GETADDRESSFROMPKRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetMessageTxn',
    full_name='qrl.PublicAPI.GetMessageTxn',
    index=11,
    containing_service=None,
    input_type=_MESSAGETXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTokenTxn',
    full_name='qrl.PublicAPI.GetTokenTxn',
    index=12,
    containing_service=None,
    input_type=_TOKENTXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTransferTokenTxn',
    full_name='qrl.PublicAPI.GetTransferTokenTxn',
    index=13,
    containing_service=None,
    input_type=_TRANSFERTOKENTXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetSlaveTxn',
    full_name='qrl.PublicAPI.GetSlaveTxn',
    index=14,
    containing_service=None,
    input_type=_SLAVETXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTransactionsByAddress',
    full_name='qrl.PublicAPI.GetTransactionsByAddress',
    index=15,
    containing_service=None,
    input_type=_GETTRANSACTIONSBYADDRESSREQ,
    output_type=_GETTRANSACTIONSBYADDRESSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTransaction',
    full_name='qrl.PublicAPI.GetTransaction',
    index=16,
    containing_service=None,
    input_type=_GETTRANSACTIONREQ,
    output_type=_GETTRANSACTIONRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBalance',
    full_name='qrl.PublicAPI.GetBalance',
    index=17,
    containing_service=None,
    input_type=_GETBALANCEREQ,
    output_type=_GETBALANCERESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetOTS',
    full_name='qrl.PublicAPI.GetOTS',
    index=18,
    containing_service=None,
    input_type=_GETOTSREQ,
    output_type=_GETOTSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetHeight',
    full_name='qrl.PublicAPI.GetHeight',
    index=19,
    containing_service=None,
    input_type=_GETHEIGHTREQ,
    output_type=_GETHEIGHTRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBlock',
    full_name='qrl.PublicAPI.GetBlock',
    index=20,
    containing_service=None,
    input_type=_GETBLOCKREQ,
    output_type=_GETBLOCKRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetBlockByNumber',
    full_name='qrl.PublicAPI.GetBlockByNumber',
    index=21,
    containing_service=None,
    input_type=_GETBLOCKBYNUMBERREQ,
    output_type=_GETBLOCKBYNUMBERRESP,
    options=None,
  ),
])
_sym_db.RegisterServiceDescriptor(_PUBLICAPI)

DESCRIPTOR.services_by_name['PublicAPI'] = _PUBLICAPI


_ADMINAPI = _descriptor.ServiceDescriptor(
  name='AdminAPI',
  full_name='qrl.AdminAPI',
  file=DESCRIPTOR,
  index=1,
  options=None,
  serialized_start=9095,
  serialized_end=9105,
  methods=[
])
_sym_db.RegisterServiceDescriptor(_ADMINAPI)

DESCRIPTOR.services_by_name['AdminAPI'] = _ADMINAPI

# @@protoc_insertion_point(module_scope)
