# 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\"+\n\tTimestamp\x12\x0f\n\x07seconds\x18\x01 \x01(\x03\x12\r\n\x05nanos\x18\x02 \x01(\x05\"\x07\n\x05\x45mpty\"\t\n\x07PingReq\"\n\n\x08PongResp\"\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\"=\n\x0bGetBlockReq\x12\x0f\n\x05index\x18\x01 \x01(\x04H\x00\x12\x14\n\nafter_hash\x18\x02 \x01(\x0cH\x00\x42\x07\n\x05query\"K\n\x0cGetBlockResp\x12 \n\tnode_info\x18\x01 \x01(\x0b\x32\r.qrl.NodeInfo\x12\x19\n\x05\x62lock\x18\x02 \x01(\x0b\x32\n.qrl.Block\"\r\n\x0bGetStatsReq\"\xd5\x01\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\"%\n\x12GetAddressStateReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\"7\n\x13GetAddressStateResp\x12 \n\x05state\x18\x01 \x01(\x0b\x32\x11.qrl.AddressState\"\x1d\n\x0cGetObjectReq\x12\r\n\x05query\x18\x01 \x01(\x0c\"\xa2\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\x1b\n\x05\x62lock\x18\x04 \x01(\x0b\x32\n.qrl.BlockH\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\"\x82\x01\n\x10TransferCoinsReq\x12\x14\n\x0c\x61\x64\x64ress_from\x18\x01 \x01(\x0c\x12\x12\n\naddress_to\x18\x02 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x03 \x01(\x04\x12\x0b\n\x03\x66\x65\x65\x18\x04 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x05 \x01(\x0c\x12\x16\n\x0exmss_ots_index\x18\x06 \x01(\x04\"C\n\x11TransferCoinsResp\x12.\n\x14transaction_unsigned\x18\x01 \x01(\x0b\x32\x10.qrl.Transaction\"B\n\x12PushTransactionReq\x12,\n\x12transaction_signed\x18\x01 \x01(\x0b\x32\x10.qrl.Transaction\",\n\x13PushTransactionResp\x12\x15\n\rsome_response\x18\x01 \x01(\t\"\xc6\x01\n\x0bTokenTxnReq\x12\x14\n\x0c\x61\x64\x64ress_from\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\x12\x16\n\x0exmss_ots_index\x18\t \x01(\x04\"\x9b\x01\n\x13TransferTokenTxnReq\x12\x14\n\x0c\x61\x64\x64ress_from\x18\x01 \x01(\x0c\x12\x12\n\naddress_to\x18\x02 \x01(\x0c\x12\x14\n\x0ctoken_txhash\x18\x03 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x04 \x01(\x04\x12\x0b\n\x03\x66\x65\x65\x18\x05 \x01(\x04\x12\x0f\n\x07xmss_pk\x18\x06 \x01(\x0c\x12\x16\n\x0exmss_ots_index\x18\x07 \x01(\x04\"\x82\x01\n\x0bSlaveTxnReq\x12\x14\n\x0c\x61\x64\x64ress_from\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\x12\x16\n\x0exmss_ots_index\x18\x06 \x01(\x04\"\x16\n\x14GetLocalAddressesReq\"*\n\x15GetLocalAddressesResp\x12\x11\n\taddresses\x18\x01 \x03(\x0c\"\x1f\n\x0cGetWalletReq\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\x0c\",\n\rGetWalletResp\x12\x1b\n\x06wallet\x18\x01 \x01(\x0b\x32\x0b.qrl.Wallet\"\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\"+\n\x0bWalletStore\x12\x1c\n\x07wallets\x18\x01 \x03(\x0b\x32\x0b.qrl.Wallet\"?\n\x06Wallet\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x10\n\x08mnemonic\x18\x02 \x01(\t\x12\x12\n\nxmss_index\x18\x03 \x01(\x05\"\'\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\"\xfc\x02\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\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\"\xe5\x01\n\x0b\x42lockHeader\x12\x14\n\x0c\x62lock_number\x18\x01 \x01(\x04\x12\r\n\x05\x65poch\x18\x02 \x01(\x04\x12!\n\ttimestamp\x18\x03 \x01(\x0b\x32\x0e.qrl.Timestamp\x12\x13\n\x0bhash_header\x18\x04 \x01(\x0c\x12\x18\n\x10hash_header_prev\x18\x05 \x01(\x0c\x12\x14\n\x0creward_block\x18\x06 \x01(\x04\x12\x12\n\nreward_fee\x18\x07 \x01(\x04\x12\x13\n\x0bmerkle_root\x18\x08 \x01(\x0c\x12\x14\n\x0cmining_nonce\x18\t \x01(\r\x12\n\n\x02PK\x18\n \x01(\x0c\"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\"U\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\"\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(\t\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\"\xe1\x08\n\x0bTransaction\x12#\n\x04type\x18\x01 \x01(\x0e\x32\x15.qrl.Transaction.Type\x12\x11\n\taddr_from\x18\x02 \x01(\x0c\x12\x0b\n\x03\x66\x65\x65\x18\x03 \x01(\x04\x12\x12\n\npublic_key\x18\x04 \x01(\x0c\x12\x11\n\tsignature\x18\x05 \x01(\x0c\x12\r\n\x05nonce\x18\x06 \x01(\x04\x12\x18\n\x10transaction_hash\x18\x07 \x01(\x0c\x12\x16\n\x0exmss_ots_index\x18\x08 \x01(\x04\x12-\n\x08transfer\x18\t \x01(\x0b\x32\x19.qrl.Transaction.TransferH\x00\x12-\n\x08\x63oinbase\x18\n \x01(\x0b\x32\x19.qrl.Transaction.CoinBaseH\x00\x12\x36\n\tlatticePK\x18\x0b \x01(\x0b\x32!.qrl.Transaction.LatticePublicKeyH\x00\x12+\n\x07message\x18\x0c \x01(\x0b\x32\x18.qrl.Transaction.MessageH\x00\x12\'\n\x05token\x18\r \x01(\x0b\x32\x16.qrl.Transaction.TokenH\x00\x12\x38\n\x0etransfer_token\x18\x0e \x01(\x0b\x32\x1e.qrl.Transaction.TransferTokenH\x00\x12\'\n\x05slave\x18\x0f \x01(\x0b\x32\x16.qrl.Transaction.SlaveH\x00\x1a+\n\x08Transfer\x12\x0f\n\x07\x61\x64\x64r_to\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x1aU\n\x08\x43oinBase\x12\x0f\n\x07\x61\x64\x64r_to\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x04\x12\x14\n\x0c\x62lock_number\x18\x03 \x01(\x04\x12\x12\n\nheaderhash\x18\x04 \x01(\x0c\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\x1a\x46\n\rTransferToken\x12\x14\n\x0ctoken_txhash\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64r_to\x18\x02 \x01(\x0c\x12\x0e\n\x06\x61mount\x18\x03 \x01(\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(\r\"r\n\x04Type\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0c\n\x08TRANSFER\x10\x01\x12\x0c\n\x08\x43OINBASE\x10\x02\x12\x0b\n\x07LATTICE\x10\x03\x12\x0b\n\x07MESSAGE\x10\x04\x12\t\n\x05TOKEN\x10\x05\x12\x11\n\rTRANSFERTOKEN\x10\x06\x12\t\n\x05SLAVE\x10\x07\x42\x11\n\x0ftransactionType\"!\n\tTokenList\x12\x14\n\x0ctoken_txhash\x18\x01 \x03(\x0c\"5\n\x11TokenDetailedList\x12 \n\x06tokens\x18\x01 \x03(\x0b\x32\x10.qrl.Transaction\"G\n\rTokenMetadata\x12\x14\n\x0ctoken_txhash\x18\x01 \x01(\x0c\x12 \n\x18transfer_token_tx_hashes\x18\x02 \x03(\x0c\",\n\x1a\x43ollectEphemeralMessageReq\x12\x0e\n\x06msg_id\x18\x01 \x01(\x0c\"Q\n\x1b\x43ollectEphemeralMessageResp\x12\x32\n\x12\x65phemeral_metadata\x18\x01 \x01(\x0b\x32\x16.qrl.EphemeralMetadata\"T\n\x17PushEphemeralMessageReq\x12\x39\n\x11\x65phemeral_message\x18\x01 \x01(\x0b\x32\x1e.qrl.EncryptedEphemeralMessage\"\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\"l\n\x17\x45phemeralChannelPayload\x12\x13\n\x0bprf512_seed\x18\x01 \x01(\x0c\x12\x1b\n\x13\x64ilithium_signature\x18\x02 \x01(\x0c\x12\x11\n\taddr_from\x18\x03 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\":\n\x17\x45phemeralMessagePayload\x12\x11\n\taddr_from\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\";\n\x11LatticePublicKeys\x12&\n\x0clattice_keys\x18\x01 \x03(\x0b\x32\x10.qrl.Transaction\"]\n\x11\x45phemeralMetadata\x12H\n encrypted_ephemeral_message_list\x18\x02 \x03(\x0b\x32\x1e.qrl.EncryptedEphemeralMessage\" \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\"w\n\rBlockMetaData\x12\x11\n\tis_orphan\x18\x01 \x01(\x08\x12\x18\n\x10\x62lock_difficulty\x18\x02 \x01(\x0c\x12\x1d\n\x15\x63umulative_difficulty\x18\x03 \x01(\x0c\x12\x1a\n\x12\x63hild_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\" \n\x0bStateLoader\x12\x11\n\taddresses\x18\x01 \x03(\x0c\"%\n\x0cStateObjects\x12\x15\n\rstate_loaders\x18\x01 \x03(\x0c\"\x0f\n\rLRUStateCache\"m\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\x11\n\ttimestamp\x18\x04 \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(\r2\x9e\x07\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\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>\n\rTransferCoins\x12\x15.qrl.TransferCoinsReq\x1a\x16.qrl.TransferCoinsResp\x12\x44\n\x0fPushTransaction\x12\x17.qrl.PushTransactionReq\x1a\x18.qrl.PushTransactionResp\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\x12N\n\x14PushEphemeralMessage\x12\x1c.qrl.PushEphemeralMessageReq\x1a\x18.qrl.PushTransactionResp\x12\\\n\x17\x43ollectEphemeralMessage\x12\x1f.qrl.CollectEphemeralMessageReq\x1a .qrl.CollectEphemeralMessageResp\x12:\n\x14GetTokenDetailedList\x12\n.qrl.Empty\x1a\x16.qrl.TokenDetailedList2\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=1034,
  serialized_end=1117,
)
_sym_db.RegisterEnumDescriptor(_GETLATESTDATAREQ_FILTER)

_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=2451,
  serialized_end=2522,
)
_sym_db.RegisterEnumDescriptor(_NODEINFO_STATE)

_TRANSACTION_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='qrl.Transaction.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRANSFER', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='COINBASE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LATTICE', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MESSAGE', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TOKEN', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TRANSFERTOKEN', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SLAVE', index=7, number=7,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=4978,
  serialized_end=5092,
)
_sym_db.RegisterEnumDescriptor(_TRANSACTION_TYPE)


_TIMESTAMP = _descriptor.Descriptor(
  name='Timestamp',
  full_name='qrl.Timestamp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='seconds', full_name='qrl.Timestamp.seconds', index=0,
      number=1, type=3, cpp_type=2, 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),
    _descriptor.FieldDescriptor(
      name='nanos', full_name='qrl.Timestamp.nanos', index=1,
      number=2, type=5, cpp_type=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=18,
  serialized_end=61,
)


_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=63,
  serialized_end=70,
)


_PINGREQ = _descriptor.Descriptor(
  name='PingReq',
  full_name='qrl.PingReq',
  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=72,
  serialized_end=81,
)


_PONGRESP = _descriptor.Descriptor(
  name='PongResp',
  full_name='qrl.PongResp',
  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=83,
  serialized_end=93,
)


_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=95,
  serialized_end=112,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=114,
  serialized_end=161,
)


_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=163,
  serialized_end=181,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=183,
  serialized_end=268,
)


_GETBLOCKREQ = _descriptor.Descriptor(
  name='GetBlockReq',
  full_name='qrl.GetBlockReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='index', full_name='qrl.GetBlockReq.index', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='after_hash', full_name='qrl.GetBlockReq.after_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='query', full_name='qrl.GetBlockReq.query',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=270,
  serialized_end=331,
)


_GETBLOCKRESP = _descriptor.Descriptor(
  name='GetBlockResp',
  full_name='qrl.GetBlockResp',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='node_info', full_name='qrl.GetBlockResp.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),
    _descriptor.FieldDescriptor(
      name='block', full_name='qrl.GetBlockResp.block', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=333,
  serialized_end=408,
)


_GETSTATSREQ = _descriptor.Descriptor(
  name='GetStatsReq',
  full_name='qrl.GetStatsReq',
  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=410,
  serialized_end=423,
)


_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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=426,
  serialized_end=639,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=641,
  serialized_end=678,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=680,
  serialized_end=735,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=737,
  serialized_end=766,
)


_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),
    _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),
    _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),
    _descriptor.FieldDescriptor(
      name='block', full_name='qrl.GetObjectResp.block', 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),
  ],
  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=769,
  serialized_end=931,
)


_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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _GETLATESTDATAREQ_FILTER,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=934,
  serialized_end=1117,
)


_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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1120,
  serialized_end=1295,
)


_TRANSFERCOINSREQ = _descriptor.Descriptor(
  name='TransferCoinsReq',
  full_name='qrl.TransferCoinsReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address_from', full_name='qrl.TransferCoinsReq.address_from', 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),
    _descriptor.FieldDescriptor(
      name='address_to', full_name='qrl.TransferCoinsReq.address_to', 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),
    _descriptor.FieldDescriptor(
      name='amount', full_name='qrl.TransferCoinsReq.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),
    _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),
    _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),
    _descriptor.FieldDescriptor(
      name='xmss_ots_index', full_name='qrl.TransferCoinsReq.xmss_ots_index', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1298,
  serialized_end=1428,
)


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


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1499,
  serialized_end=1565,
)


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


_TOKENTXNREQ = _descriptor.Descriptor(
  name='TokenTxnReq',
  full_name='qrl.TokenTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address_from', full_name='qrl.TokenTxnReq.address_from', 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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _descriptor.FieldDescriptor(
      name='xmss_ots_index', full_name='qrl.TokenTxnReq.xmss_ots_index', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1614,
  serialized_end=1812,
)


_TRANSFERTOKENTXNREQ = _descriptor.Descriptor(
  name='TransferTokenTxnReq',
  full_name='qrl.TransferTokenTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address_from', full_name='qrl.TransferTokenTxnReq.address_from', 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),
    _descriptor.FieldDescriptor(
      name='address_to', full_name='qrl.TransferTokenTxnReq.address_to', 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),
    _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),
    _descriptor.FieldDescriptor(
      name='amount', full_name='qrl.TransferTokenTxnReq.amount', 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),
    _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),
    _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),
    _descriptor.FieldDescriptor(
      name='xmss_ots_index', full_name='qrl.TransferTokenTxnReq.xmss_ots_index', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1815,
  serialized_end=1970,
)


_SLAVETXNREQ = _descriptor.Descriptor(
  name='SlaveTxnReq',
  full_name='qrl.SlaveTxnReq',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address_from', full_name='qrl.SlaveTxnReq.address_from', 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),
    _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),
    _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),
    _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),
    _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),
    _descriptor.FieldDescriptor(
      name='xmss_ots_index', full_name='qrl.SlaveTxnReq.xmss_ots_index', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1973,
  serialized_end=2103,
)


_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=2105,
  serialized_end=2127,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2129,
  serialized_end=2171,
)


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


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


_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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _NODEINFO_STATE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2253,
  serialized_end=2522,
)


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


_WALLET = _descriptor.Descriptor(
  name='Wallet',
  full_name='qrl.Wallet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='address', full_name='qrl.Wallet.address', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='mnemonic', full_name='qrl.Wallet.mnemonic', 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),
    _descriptor.FieldDescriptor(
      name='xmss_index', full_name='qrl.Wallet.xmss_index', index=2,
      number=3, type=5, cpp_type=1, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2569,
  serialized_end=2632,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2634,
  serialized_end=2673,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2675,
  serialized_end=2693,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2972,
  serialized_end=3017,
)

_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3019,
  serialized_end=3076,
)

_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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[_ADDRESSSTATE_TOKENSENTRY, _ADDRESSSTATE_SLAVEPKSACCESSTYPEENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2696,
  serialized_end=3076,
)


_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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3078,
  serialized_end=3145,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3147,
  serialized_end=3195,
)


_BLOCKHEADER = _descriptor.Descriptor(
  name='BlockHeader',
  full_name='qrl.BlockHeader',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.BlockHeader.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),
    _descriptor.FieldDescriptor(
      name='epoch', full_name='qrl.BlockHeader.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),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='qrl.BlockHeader.timestamp', 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),
    _descriptor.FieldDescriptor(
      name='hash_header', full_name='qrl.BlockHeader.hash_header', 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),
    _descriptor.FieldDescriptor(
      name='hash_header_prev', full_name='qrl.BlockHeader.hash_header_prev', 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),
    _descriptor.FieldDescriptor(
      name='reward_block', full_name='qrl.BlockHeader.reward_block', 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),
    _descriptor.FieldDescriptor(
      name='reward_fee', full_name='qrl.BlockHeader.reward_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),
    _descriptor.FieldDescriptor(
      name='merkle_root', full_name='qrl.BlockHeader.merkle_root', 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),
    _descriptor.FieldDescriptor(
      name='mining_nonce', full_name='qrl.BlockHeader.mining_nonce', index=8,
      number=9, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='PK', full_name='qrl.BlockHeader.PK', index=9,
      number=10, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3198,
  serialized_end=3427,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3429,
  serialized_end=3534,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=_descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')),
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3605,
  serialized_end=3649,
)

_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),
  ],
  extensions=[
  ],
  nested_types=[_TRANSACTIONCOUNT_COUNTENTRY, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3536,
  serialized_end=3649,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3651,
  serialized_end=3736,
)


_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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3738,
  serialized_end=3865,
)


_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=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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3867,
  serialized_end=3917,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3919,
  serialized_end=3987,
)


_TRANSACTION_TRANSFER = _descriptor.Descriptor(
  name='Transfer',
  full_name='qrl.Transaction.Transfer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addr_to', full_name='qrl.Transaction.Transfer.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),
    _descriptor.FieldDescriptor(
      name='amount', full_name='qrl.Transaction.Transfer.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4513,
  serialized_end=4556,
)

_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),
    _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),
    _descriptor.FieldDescriptor(
      name='block_number', full_name='qrl.Transaction.CoinBase.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),
    _descriptor.FieldDescriptor(
      name='headerhash', full_name='qrl.Transaction.CoinBase.headerhash', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4558,
  serialized_end=4643,
)

_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4645,
  serialized_end=4703,
)

_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4705,
  serialized_end=4736,
)

_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),
    _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),
    _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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4738,
  serialized_end=4854,
)

_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),
    _descriptor.FieldDescriptor(
      name='addr_to', full_name='qrl.Transaction.TransferToken.addr_to', 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),
    _descriptor.FieldDescriptor(
      name='amount', full_name='qrl.Transaction.TransferToken.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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4856,
  serialized_end=4926,
)

_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4928,
  serialized_end=4976,
)

_TRANSACTION = _descriptor.Descriptor(
  name='Transaction',
  full_name='qrl.Transaction',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='qrl.Transaction.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='addr_from', full_name='qrl.Transaction.addr_from', 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),
    _descriptor.FieldDescriptor(
      name='fee', full_name='qrl.Transaction.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),
    _descriptor.FieldDescriptor(
      name='public_key', full_name='qrl.Transaction.public_key', 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),
    _descriptor.FieldDescriptor(
      name='signature', full_name='qrl.Transaction.signature', 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),
    _descriptor.FieldDescriptor(
      name='nonce', full_name='qrl.Transaction.nonce', 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),
    _descriptor.FieldDescriptor(
      name='transaction_hash', full_name='qrl.Transaction.transaction_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),
    _descriptor.FieldDescriptor(
      name='xmss_ots_index', full_name='qrl.Transaction.xmss_ots_index', 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),
    _descriptor.FieldDescriptor(
      name='transfer', full_name='qrl.Transaction.transfer', 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),
    _descriptor.FieldDescriptor(
      name='coinbase', full_name='qrl.Transaction.coinbase', 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),
    _descriptor.FieldDescriptor(
      name='latticePK', full_name='qrl.Transaction.latticePK', 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),
    _descriptor.FieldDescriptor(
      name='message', full_name='qrl.Transaction.message', 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),
    _descriptor.FieldDescriptor(
      name='token', full_name='qrl.Transaction.token', 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),
    _descriptor.FieldDescriptor(
      name='transfer_token', full_name='qrl.Transaction.transfer_token', index=13,
      number=14, 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),
    _descriptor.FieldDescriptor(
      name='slave', full_name='qrl.Transaction.slave', index=14,
      number=15, 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),
  ],
  extensions=[
  ],
  nested_types=[_TRANSACTION_TRANSFER, _TRANSACTION_COINBASE, _TRANSACTION_LATTICEPUBLICKEY, _TRANSACTION_MESSAGE, _TRANSACTION_TOKEN, _TRANSACTION_TRANSFERTOKEN, _TRANSACTION_SLAVE, ],
  enum_types=[
    _TRANSACTION_TYPE,
  ],
  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=3990,
  serialized_end=5111,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5113,
  serialized_end=5146,
)


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


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5203,
  serialized_end=5274,
)


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


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


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


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5652,
  serialized_end=5688,
)

_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),
    _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),
    _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),
    _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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[_ENCRYPTEDEPHEMERALMESSAGE_CHANNEL, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5492,
  serialized_end=5688,
)


_EPHEMERALCHANNELPAYLOAD = _descriptor.Descriptor(
  name='EphemeralChannelPayload',
  full_name='qrl.EphemeralChannelPayload',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='prf512_seed', full_name='qrl.EphemeralChannelPayload.prf512_seed', 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),
    _descriptor.FieldDescriptor(
      name='dilithium_signature', full_name='qrl.EphemeralChannelPayload.dilithium_signature', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='addr_from', full_name='qrl.EphemeralChannelPayload.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),
    _descriptor.FieldDescriptor(
      name='data', full_name='qrl.EphemeralChannelPayload.data', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5690,
  serialized_end=5798,
)


_EPHEMERALMESSAGEPAYLOAD = _descriptor.Descriptor(
  name='EphemeralMessagePayload',
  full_name='qrl.EphemeralMessagePayload',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='addr_from', full_name='qrl.EphemeralMessagePayload.addr_from', 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),
    _descriptor.FieldDescriptor(
      name='data', full_name='qrl.EphemeralMessagePayload.data', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5800,
  serialized_end=5858,
)


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


_EPHEMERALMETADATA = _descriptor.Descriptor(
  name='EphemeralMetadata',
  full_name='qrl.EphemeralMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='encrypted_ephemeral_message_list', full_name='qrl.EphemeralMetadata.encrypted_ephemeral_message_list', index=0,
      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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5921,
  serialized_end=6014,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6016,
  serialized_end=6048,
)


_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),
    _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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6050,
  serialized_end=6146,
)


_BLOCKMETADATA = _descriptor.Descriptor(
  name='BlockMetaData',
  full_name='qrl.BlockMetaData',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='is_orphan', full_name='qrl.BlockMetaData.is_orphan', 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),
    _descriptor.FieldDescriptor(
      name='block_difficulty', full_name='qrl.BlockMetaData.block_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),
    _descriptor.FieldDescriptor(
      name='cumulative_difficulty', full_name='qrl.BlockMetaData.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),
    _descriptor.FieldDescriptor(
      name='child_headerhashes', full_name='qrl.BlockMetaData.child_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6148,
  serialized_end=6267,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6269,
  serialized_end=6334,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6336,
  serialized_end=6368,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6370,
  serialized_end=6407,
)


_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=6409,
  serialized_end=6424,
)


_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),
    _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),
    _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),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='qrl.NodeChainState.timestamp', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6426,
  serialized_end=6535,
)


_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),
    _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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6537,
  serialized_end=6597,
)


_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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=6599,
  serialized_end=6644,
)

_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
_GETBLOCKREQ.oneofs_by_name['query'].fields.append(
  _GETBLOCKREQ.fields_by_name['index'])
_GETBLOCKREQ.fields_by_name['index'].containing_oneof = _GETBLOCKREQ.oneofs_by_name['query']
_GETBLOCKREQ.oneofs_by_name['query'].fields.append(
  _GETBLOCKREQ.fields_by_name['after_hash'])
_GETBLOCKREQ.fields_by_name['after_hash'].containing_oneof = _GETBLOCKREQ.oneofs_by_name['query']
_GETBLOCKRESP.fields_by_name['node_info'].message_type = _NODEINFO
_GETBLOCKRESP.fields_by_name['block'].message_type = _BLOCK
_GETSTATSRESP.fields_by_name['node_info'].message_type = _NODEINFO
_GETADDRESSSTATERESP.fields_by_name['state'].message_type = _ADDRESSSTATE
_GETOBJECTRESP.fields_by_name['address_state'].message_type = _ADDRESSSTATE
_GETOBJECTRESP.fields_by_name['transaction'].message_type = _TRANSACTIONEXTENDED
_GETOBJECTRESP.fields_by_name['block'].message_type = _BLOCK
_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'])
_GETOBJECTRESP.fields_by_name['block'].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['transaction_unsigned'].message_type = _TRANSACTION
_PUSHTRANSACTIONREQ.fields_by_name['transaction_signed'].message_type = _TRANSACTION
_TOKENTXNREQ.fields_by_name['initial_balances'].message_type = _ADDRESSAMOUNT
_GETWALLETRESP.fields_by_name['wallet'].message_type = _WALLET
_NODEINFO.fields_by_name['state'].enum_type = _NODEINFO_STATE
_NODEINFO_STATE.containing_type = _NODEINFO
_WALLETSTORE.fields_by_name['wallets'].message_type = _WALLET
_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
_BLOCKHEADER.fields_by_name['timestamp'].message_type = _TIMESTAMP
_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
_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['type'].enum_type = _TRANSACTION_TYPE
_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_TYPE.containing_type = _TRANSACTION
_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']
_TOKENDETAILEDLIST.fields_by_name['tokens'].message_type = _TRANSACTION
_COLLECTEPHEMERALMESSAGERESP.fields_by_name['ephemeral_metadata'].message_type = _EPHEMERALMETADATA
_PUSHEPHEMERALMESSAGEREQ.fields_by_name['ephemeral_message'].message_type = _ENCRYPTEDEPHEMERALMESSAGE
_ENCRYPTEDEPHEMERALMESSAGE_CHANNEL.containing_type = _ENCRYPTEDEPHEMERALMESSAGE
_ENCRYPTEDEPHEMERALMESSAGE.fields_by_name['channel'].message_type = _ENCRYPTEDEPHEMERALMESSAGE_CHANNEL
_LATTICEPUBLICKEYS.fields_by_name['lattice_keys'].message_type = _TRANSACTION
_EPHEMERALMETADATA.fields_by_name['encrypted_ephemeral_message_list'].message_type = _ENCRYPTEDEPHEMERALMESSAGE
DESCRIPTOR.message_types_by_name['Timestamp'] = _TIMESTAMP
DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
DESCRIPTOR.message_types_by_name['PingReq'] = _PINGREQ
DESCRIPTOR.message_types_by_name['PongResp'] = _PONGRESP
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['GetBlockReq'] = _GETBLOCKREQ
DESCRIPTOR.message_types_by_name['GetBlockResp'] = _GETBLOCKRESP
DESCRIPTOR.message_types_by_name['GetStatsReq'] = _GETSTATSREQ
DESCRIPTOR.message_types_by_name['GetStatsResp'] = _GETSTATSRESP
DESCRIPTOR.message_types_by_name['GetAddressStateReq'] = _GETADDRESSSTATEREQ
DESCRIPTOR.message_types_by_name['GetAddressStateResp'] = _GETADDRESSSTATERESP
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['TokenTxnReq'] = _TOKENTXNREQ
DESCRIPTOR.message_types_by_name['TransferTokenTxnReq'] = _TRANSFERTOKENTXNREQ
DESCRIPTOR.message_types_by_name['SlaveTxnReq'] = _SLAVETXNREQ
DESCRIPTOR.message_types_by_name['GetLocalAddressesReq'] = _GETLOCALADDRESSESREQ
DESCRIPTOR.message_types_by_name['GetLocalAddressesResp'] = _GETLOCALADDRESSESRESP
DESCRIPTOR.message_types_by_name['GetWalletReq'] = _GETWALLETREQ
DESCRIPTOR.message_types_by_name['GetWalletResp'] = _GETWALLETRESP
DESCRIPTOR.message_types_by_name['NodeInfo'] = _NODEINFO
DESCRIPTOR.message_types_by_name['WalletStore'] = _WALLETSTORE
DESCRIPTOR.message_types_by_name['Wallet'] = _WALLET
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['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['TokenDetailedList'] = _TOKENDETAILEDLIST
DESCRIPTOR.message_types_by_name['TokenMetadata'] = _TOKENMETADATA
DESCRIPTOR.message_types_by_name['CollectEphemeralMessageReq'] = _COLLECTEPHEMERALMESSAGEREQ
DESCRIPTOR.message_types_by_name['CollectEphemeralMessageResp'] = _COLLECTEPHEMERALMESSAGERESP
DESCRIPTOR.message_types_by_name['PushEphemeralMessageReq'] = _PUSHEPHEMERALMESSAGEREQ
DESCRIPTOR.message_types_by_name['EncryptedEphemeralMessage'] = _ENCRYPTEDEPHEMERALMESSAGE
DESCRIPTOR.message_types_by_name['EphemeralChannelPayload'] = _EPHEMERALCHANNELPAYLOAD
DESCRIPTOR.message_types_by_name['EphemeralMessagePayload'] = _EPHEMERALMESSAGEPAYLOAD
DESCRIPTOR.message_types_by_name['LatticePublicKeys'] = _LATTICEPUBLICKEYS
DESCRIPTOR.message_types_by_name['EphemeralMetadata'] = _EPHEMERALMETADATA
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['NodeChainState'] = _NODECHAINSTATE
DESCRIPTOR.message_types_by_name['NodeHeaderHash'] = _NODEHEADERHASH
DESCRIPTOR.message_types_by_name['P2PAcknowledgement'] = _P2PACKNOWLEDGEMENT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

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

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

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

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)

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)

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)

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)

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)

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)

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)

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

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

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

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

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

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)

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)

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

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

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

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

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

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)

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

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

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

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

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)

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)


_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=6647,
  serialized_end=7573,
  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='GetStats',
    full_name='qrl.PublicAPI.GetStats',
    index=2,
    containing_service=None,
    input_type=_GETSTATSREQ,
    output_type=_GETSTATSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetAddressState',
    full_name='qrl.PublicAPI.GetAddressState',
    index=3,
    containing_service=None,
    input_type=_GETADDRESSSTATEREQ,
    output_type=_GETADDRESSSTATERESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetObject',
    full_name='qrl.PublicAPI.GetObject',
    index=4,
    containing_service=None,
    input_type=_GETOBJECTREQ,
    output_type=_GETOBJECTRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetLatestData',
    full_name='qrl.PublicAPI.GetLatestData',
    index=5,
    containing_service=None,
    input_type=_GETLATESTDATAREQ,
    output_type=_GETLATESTDATARESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='TransferCoins',
    full_name='qrl.PublicAPI.TransferCoins',
    index=6,
    containing_service=None,
    input_type=_TRANSFERCOINSREQ,
    output_type=_TRANSFERCOINSRESP,
    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='GetTokenTxn',
    full_name='qrl.PublicAPI.GetTokenTxn',
    index=8,
    containing_service=None,
    input_type=_TOKENTXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTransferTokenTxn',
    full_name='qrl.PublicAPI.GetTransferTokenTxn',
    index=9,
    containing_service=None,
    input_type=_TRANSFERTOKENTXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetSlaveTxn',
    full_name='qrl.PublicAPI.GetSlaveTxn',
    index=10,
    containing_service=None,
    input_type=_SLAVETXNREQ,
    output_type=_TRANSFERCOINSRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='PushEphemeralMessage',
    full_name='qrl.PublicAPI.PushEphemeralMessage',
    index=11,
    containing_service=None,
    input_type=_PUSHEPHEMERALMESSAGEREQ,
    output_type=_PUSHTRANSACTIONRESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='CollectEphemeralMessage',
    full_name='qrl.PublicAPI.CollectEphemeralMessage',
    index=12,
    containing_service=None,
    input_type=_COLLECTEPHEMERALMESSAGEREQ,
    output_type=_COLLECTEPHEMERALMESSAGERESP,
    options=None,
  ),
  _descriptor.MethodDescriptor(
    name='GetTokenDetailedList',
    full_name='qrl.PublicAPI.GetTokenDetailedList',
    index=13,
    containing_service=None,
    input_type=_EMPTY,
    output_type=_TOKENDETAILEDLIST,
    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=7575,
  serialized_end=7585,
  methods=[
])
_sym_db.RegisterServiceDescriptor(_ADMINAPI)

DESCRIPTOR.services_by_name['AdminAPI'] = _ADMINAPI

# @@protoc_insertion_point(module_scope)
