44 std::string compress_integer_array(
const std::vector<T> &v)
47 s.resize(v.size() * (
sizeof(
T) * 8 / 7 + 1));
48 char *ptr = (
char*)s.data();
51 s.resize(ptr - s.data());
56 std::vector<T> decompress_integer_array(
const std::string &s)
61 const std::string::const_iterator end = s.end();
62 for (std::string::const_iterator i = s.begin(); i != end; std::advance(i, read))
65 read = tools::read_varint(std::string::const_iterator(i), s.end(), t);
76 #define CORE_RPC_STATUS_OK "OK"
77 #define CORE_RPC_STATUS_BUSY "BUSY"
78 #define CORE_RPC_STATUS_NOT_MINING "NOT MINING"
87 #define CORE_RPC_VERSION_MAJOR 2
88 #define CORE_RPC_VERSION_MINOR 6
89 #define MAKE_CORE_RPC_VERSION(major,minor) (((major)<<16)|(minor))
90 #define CORE_RPC_VERSION MAKE_CORE_RPC_VERSION(CORE_RPC_VERSION_MAJOR, CORE_RPC_VERSION_MINOR)
156 std::vector<block_complete_entry>
blocks;
188 std::vector<block_complete_entry>
blocks;
380 if (!this_ref.in_pool)
1211 : id(id), host(host),
ip(0),
port(0), rpc_port(rpc_port), last_seen(last_seen), pruning_seed(pruning_seed)
1214 : id(id), host(std::
to_string(
ip)),
ip(
ip),
port(
port), rpc_port(rpc_port), last_seen(last_seen), pruning_seed(pruning_seed)
1506 txpool_stats(): bytes_total(0), bytes_min(0), bytes_max(0), bytes_med(0), fee_total(0), oldest(0), txs_total(0), num_failing(0), num_10m(0), num_not_relayed(0), histo_98pc(0), num_double_spends(0), num_nonexistent_utxos(0) {}
2012 amount(amount), total_instances(total_instances), unlocked_instances(unlocked_instances), recent_instances(recent_instances) {}
2319 if (this_ref.compress)
2321 const_cast<std::string&
>(this_ref.compressed_data) = compress_integer_array(this_ref.data.distribution);
2329 if (this_ref.compress)
2332 const_cast<std::vector<uint64_t>&
>(this_ref.data.distribution) = decompress_integer_array<uint64_t>(this_ref.compressed_data);
std::string message("Message requiring signing")
#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.
std::string to_string(t_connection_type type)
mdb_size_t count(MDB_cursor *cur)
error
Tracks LMDB error codes.
version
Supported socks variants.
boost::endian::big_uint16_t port
boost::endian::big_uint32_t ip
unsigned __int64 uint64_t
epee::misc_utils::struct_init< request_t > request
std::vector< std::string > txids
epee::misc_utils::struct_init< request_t > request
uint64_t amount_of_blocks
std::string wallet_address
std::vector< std::string > blocks
std::vector< std::string > txs
std::vector< std::string > blks_hashes
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
uint64_t quantization_mask
std::vector< std::string > tx_hashes
block_header_response block_header
std::string miner_tx_hash
block_header_response block_header
block_header_response block_header
std::vector< block_header_response > headers
std::vector< uint64_t > heights
std::vector< block_complete_entry > blocks
std::vector< tx_output_indices > indices
std::list< crypto::hash > block_ids
std::vector< block_output_indices > output_indices
std::vector< block_complete_entry > blocks
std::vector< uint64_t > indices
std::list< connection_info > connections
epee::misc_utils::struct_init< request_t > request
std::list< crypto::hash > block_ids
std::vector< crypto::hash > m_block_ids
epee::misc_utils::struct_init< request_t > request
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< request_t > request
block_header_response block_header
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
rpc::output_distribution_data data
std::string compressed_data
std::vector< uint64_t > amounts
std::vector< distribution > distributions
uint64_t unlocked_instances
uint64_t recent_instances
std::vector< uint64_t > amounts
std::vector< entry > histogram
std::vector< get_outputs_out > outputs
std::vector< outkey > outs
std::vector< get_outputs_out > outputs
std::vector< outkey > outs
std::vector< peer > white_list
std::vector< peer > gray_list
epee::misc_utils::struct_init< request_t > request
std::vector< output > outputs
std::vector< std::string > amounts
std::vector< amount_out > amount_outs
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
std::vector< std::string > tx_hashes
std::vector< crypto::hash > tx_hashes
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
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
std::vector< uint64_t > o_indexes
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
std::list< std::string > request
std::vector< uint64_t > request
std::string wallet_address
blobdata blocktemplate_blob
uint64_t difficulty_top64
blobdata blockhashing_blob
std::string wide_difficulty
std::vector< std::string > pubkeys
std::vector< std::string > signatures
epee::misc_utils::struct_init< response_t > response
std::vector< std::string > key_images
std::vector< u_int > spent_status
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
std::vector< std::string > txids
epee::misc_utils::struct_init< request_t > request
std::string validator_key
bool do_background_mining
std::string miner_address
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
epee::misc_utils::struct_init< request_t > request
std::vector< std::string > request
uint32_t next_needed_pruning_seed
std::string remote_address
std::string connection_id
uint64_t start_block_height
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)
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