44 std::string compress_integer_array(
const std::vector<T> &v) {
46 s.resize(v.size() * (
sizeof(
T) * 8 / 7 + 1));
47 char *ptr = (
char *) s.data();
50 s.resize(ptr - s.data());
55 std::vector<T> decompress_integer_array(
const std::string &s) {
59 const std::string::const_iterator end = s.end();
60 for (std::string::const_iterator i = s.begin(); i != end; std::advance(i, read)) {
72#define CORE_RPC_STATUS_OK "OK"
73#define CORE_RPC_STATUS_BUSY "BUSY"
74#define CORE_RPC_STATUS_NOT_MINING "NOT MINING"
83#define CORE_RPC_VERSION_MAJOR 2
84#define CORE_RPC_VERSION_MINOR 6
85#define MAKE_CORE_RPC_VERSION(major, minor) (((major)<<16)|(minor))
86#define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
147 std::vector<block_complete_entry>
blocks;
178 std::vector<block_complete_entry>
blocks;
2313 if (this_ref.compress) {
2314 const_cast<std::string &
>(this_ref.compressed_data) = compress_integer_array(
2315 this_ref.data.distribution);
2320 if (this_ref.compress) {
2322 const_cast<std::vector<uint64_t> &
>(this_ref.data.distribution) = decompress_integer_array<uint64_t>(
2323 this_ref.compressed_data);
#define KV_SERIALIZE_VAL_POD_AS_BLOB(varialble)
#define KV_SERIALIZE(varialble)
#define KV_SERIALIZE_CONTAINER_POD_AS_BLOB_N(varialble, val_name)
#define KV_SERIALIZE_OPT(variable, default_value)
#define KV_SERIALIZE_CONTAINER_POD_AS_BLOB(varialble)
#define END_KV_SERIALIZE_MAP()
#define BEGIN_KV_SERIALIZE_MAP()
#define KV_SERIALIZE_N(varialble, val_name)
#define CHECK_AND_ASSERT_THROW_MES(expr, message)
Holds cryptonote related classes and helpers.
unsigned __int64 uint64_t
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::vector< std::string > txids
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
uint64_t amount_of_blocks
std::string wallet_address
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
KV_SERIALIZE_OPT(desc, false)
uint64_t start_addr_tx_id
std::vector< std::string > txs
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
KV_SERIALIZE_OPT(desc, false)
std::vector< std::string > txs
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< std::string > blks_hashes
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
uint64_t difficulty_top64
std::vector< std::string > block_hashes
std::string main_chain_parent_block
std::string wide_difficulty
std::list< chain_info > chains
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
uint64_t quantization_mask
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
KV_SERIALIZE_OPT(fill_pow_hash, false)
std::vector< std::string > tx_hashes
block_header_response block_header
std::string miner_tx_hash
KV_SERIALIZE_OPT(fill_pow_hash, false)
block_header_response block_header
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
KV_SERIALIZE_OPT(fill_pow_hash, false)
block_header_response block_header
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
KV_SERIALIZE_OPT(fill_pow_hash, false)
std::vector< block_header_response > headers
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< uint64_t > heights
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< tx_output_indices > indices
std::list< crypto::hash > block_ids
std::vector< block_output_indices > output_indices
std::vector< uint64_t > indices
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::list< connection_info > connections
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::list< crypto::hash > block_ids
std::vector< crypto::hash > m_block_ids
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
uint64_t difficulty_top64
uint64_t block_size_limit
uint64_t cumulative_difficulty_top64
uint64_t white_peerlist_size
bool was_bootstrap_ever_used
std::string daemon_version_full
std::string bootstrap_daemon_address
uint64_t block_size_median
uint64_t block_weight_median
std::string wide_difficulty
uint64_t outgoing_connections_count
std::string top_block_hash
std::string daemon_version_tag
std::string wide_cumulative_difficulty
uint64_t block_weight_limit
uint64_t incoming_connections_count
uint64_t grey_peerlist_size
uint64_t cumulative_difficulty
std::string daemon_version
std::string daemon_release_name
uint64_t alt_blocks_count
uint64_t rpc_connections_count
uint64_t height_without_bootstrap
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
KV_SERIALIZE_OPT(fill_pow_hash, false)
block_header_response block_header
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
uint64_t total_packets_in
uint64_t total_packets_out
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
rpc::output_distribution_data data
std::string compressed_data
std::vector< uint64_t > amounts
std::vector< distribution > distributions
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
uint64_t unlocked_instances
uint64_t recent_instances
entry(uint64_t amount, uint64_t total_instances, uint64_t unlocked_instances, uint64_t recent_instances)
std::vector< uint64_t > amounts
std::vector< entry > histogram
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< get_outputs_out > outputs
std::vector< outkey > outs
std::vector< get_outputs_out > outputs
std::vector< outkey > outs
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::vector< peer > white_list
std::vector< peer > gray_list
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::vector< output > outputs
std::vector< std::string > amounts
std::vector< amount_out > amount_outs
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
KV_SERIALIZE(start_height)
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< spent_key_image_info > spent_key_images
std::vector< tx_info > transactions
std::vector< tx_backlog_entry > backlog
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::vector< std::string > tx_hashes
std::vector< crypto::hash > tx_hashes
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::string prunable_as_hex
std::string prunable_hash
std::vector< uint64_t > output_indices
bool nonexistent_utxo_seen
std::string pruned_as_hex
std::vector< std::string > txs_hashes
std::vector< std::string > txs_as_hex
std::vector< std::string > txs_as_json
std::vector< std::string > missed_tx
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< uint64_t > o_indexes
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::list< std::string > request
epee::misc_utils::struct_init< response_t > response
std::vector< uint64_t > request
std::string wallet_address
blobdata blocktemplate_blob
uint64_t difficulty_top64
blobdata blockhashing_blob
std::string wide_difficulty
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< std::string > pubkeys
std::vector< std::string > signatures
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< std::string > key_images
std::vector< u_int > spent_status
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::vector< public_output > public_outputs
std::vector< u_int > spent_status
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
uint8_t bg_idle_threshold
bool is_background_mining_enabled
uint64_t difficulty_top64
std::string pow_algorithm
std::string wide_difficulty
uint8_t bg_min_idle_seconds
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::vector< std::string > txids
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
std::string validator_key
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
bool do_background_mining
std::string miner_address
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
std::vector< std::string > request
epee::misc_utils::struct_init< response_t > response
uint32_t next_needed_pruning_seed
std::string remote_address
std::string connection_id
uint64_t start_block_height
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< response_t > response
epee::misc_utils::struct_init< request_t > request
peer(uint64_t id, const std::string &host, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port)
peer(uint64_t id, uint32_t ip, uint16_t port, uint64_t last_seen, uint32_t pruning_seed, uint16_t rpc_port)
uint64_t relative_out_index
std::vector< std::uint64_t > distribution
std::vector< std::string > txs_hashes
std::string max_used_block_id_hash
uint64_t max_used_block_height
uint64_t last_failed_height
bool nonexistent_utxo_seen
std::string last_failed_id_hash
uint64_t last_relayed_time
uint32_t num_double_spends
std::vector< txpool_histo > histo
uint32_t num_nonexistent_utxos
provides the implementation of varint's