34 #include "serialization/keyvalue_serialization.h" 42 #define BC_COMMANDS_POOL_BASE 2000 89 BEGIN_KV_SERIALIZE_MAP()
115 END_KV_SERIALIZE_MAP()
125 BEGIN_KV_SERIALIZE_MAP()
127 KV_SERIALIZE_VAL_POD_AS_BLOB(prunable_hash)
128 END_KV_SERIALIZE_MAP()
137 std::vector<tx_blob_entry>
txs;
138 BEGIN_KV_SERIALIZE_MAP()
139 KV_SERIALIZE_OPT(pruned,
false)
141 KV_SERIALIZE_OPT(block_weight, (uint64_t)0)
148 std::vector<blobdata> txs;
151 txs.reserve(this_ref.txs.size());
152 for (
const auto &e: this_ref.txs) txs.push_back(e.blob);
159 self.txs.reserve(txs.size());
163 END_KV_SERIALIZE_MAP()
181 BEGIN_KV_SERIALIZE_MAP()
183 KV_SERIALIZE(current_blockchain_height)
184 END_KV_SERIALIZE_MAP()
198 std::vector<blobdata>
txs;
202 BEGIN_KV_SERIALIZE_MAP()
205 KV_SERIALIZE_OPT(dandelionpp_fluff,
true)
206 END_KV_SERIALIZE_MAP()
222 BEGIN_KV_SERIALIZE_MAP()
223 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(
blocks)
225 END_KV_SERIALIZE_MAP()
236 std::vector<block_complete_entry>
blocks;
240 BEGIN_KV_SERIALIZE_MAP()
242 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(missed_ids)
243 KV_SERIALIZE(current_blockchain_height)
244 END_KV_SERIALIZE_MAP()
259 BEGIN_KV_SERIALIZE_MAP()
260 KV_SERIALIZE(current_height)
261 KV_SERIALIZE(cumulative_difficulty)
263 KV_SERIALIZE(cumulative_difficulty_top64)
265 KV_SERIALIZE_OPT(cumulative_difficulty_top64, (uint64_t)0)
266 KV_SERIALIZE_VAL_POD_AS_BLOB(top_id)
267 KV_SERIALIZE_OPT(top_version, (uint8_t)0)
269 END_KV_SERIALIZE_MAP()
281 BEGIN_KV_SERIALIZE_MAP()
282 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(block_ids)
284 END_KV_SERIALIZE_MAP()
303 BEGIN_KV_SERIALIZE_MAP()
304 KV_SERIALIZE(start_height)
305 KV_SERIALIZE(total_height)
306 KV_SERIALIZE(cumulative_difficulty)
308 KV_SERIALIZE(cumulative_difficulty_top64)
310 KV_SERIALIZE_OPT(cumulative_difficulty_top64, (uint64_t)0)
311 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_block_ids)
312 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_block_weights)
313 KV_SERIALIZE(first_block)
314 END_KV_SERIALIZE_MAP()
331 BEGIN_KV_SERIALIZE_MAP()
333 KV_SERIALIZE(current_blockchain_height)
334 END_KV_SERIALIZE_MAP()
352 BEGIN_KV_SERIALIZE_MAP()
353 KV_SERIALIZE_VAL_POD_AS_BLOB(block_hash)
354 KV_SERIALIZE(current_blockchain_height)
355 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(missing_tx_indices)
356 END_KV_SERIALIZE_MAP()
372 BEGIN_KV_SERIALIZE_MAP()
373 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(hashes)
374 END_KV_SERIALIZE_MAP()
std::vector< crypto::hash > blocks
Definition: cryptonote_protocol_defs.h:219
block_complete_entry b
Definition: cryptonote_protocol_defs.h:328
std::string peer_id
Definition: cryptonote_protocol_defs.h:61
Definition: cryptonote_protocol_defs.h:364
uint64_t current_blockchain_height
Definition: cryptonote_protocol_defs.h:179
uint64_t avg_download
Definition: cryptonote_protocol_defs.h:73
#define BC_COMMANDS_POOL_BASE
Definition: cryptonote_protocol_defs.h:42
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:208
uint8_t address_type
Definition: cryptonote_protocol_defs.h:87
uint64_t send_idle_time
Definition: cryptonote_protocol_defs.h:67
uint64_t avg_upload
Definition: cryptonote_protocol_defs.h:76
uint64_t current_upload
Definition: cryptonote_protocol_defs.h:77
Definition: cryptonote_protocol_defs.h:132
Definition: cryptonote_protocol_defs.h:276
bool dandelionpp_fluff
Definition: cryptonote_protocol_defs.h:200
Definition: cryptonote_basic.h:463
void serialize(Archive &a, std::unordered_map< h_key, hval > &x, const boost::serialization::version_type ver)
Definition: unordered_containers_boost_serialization.h:126
crypto::hash block_hash
Definition: cryptonote_protocol_defs.h:348
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:316
uint64_t total_height
Definition: cryptonote_protocol_defs.h:296
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:286
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:227
Definition: cryptonote_protocol_defs.h:326
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:376
uint64_t recv_count
Definition: cryptonote_protocol_defs.h:63
uint64_t current_blockchain_height
Definition: cryptonote_protocol_defs.h:329
Definition: cryptonote_protocol_defs.h:47
Definition: blocks.cpp:12
std::vector< uint64_t > m_block_weights
Definition: cryptonote_protocol_defs.h:300
const
Definition: build_protob.py:9
std::string _
Definition: cryptonote_protocol_defs.h:199
std::vector< uint64_t > missing_tx_indices
Definition: cryptonote_protocol_defs.h:350
Definition: cryptonote_protocol_defs.h:289
uint64_t cumulative_difficulty
Definition: cryptonote_protocol_defs.h:253
std::vector< crypto::hash > hashes
Definition: cryptonote_protocol_defs.h:370
Definition: cryptonote_protocol_defs.h:176
Definition: cryptonote_protocol_defs.h:192
std::string state
Definition: cryptonote_protocol_defs.h:69
uint64_t current_download
Definition: cryptonote_protocol_defs.h:74
Holds cryptonote related classes and helpers.
Definition: blockchain_db.cpp:44
bool prune
Definition: cryptonote_protocol_defs.h:220
uint64_t recv_idle_time
Definition: cryptonote_protocol_defs.h:64
uint64_t start_height
Definition: cryptonote_protocol_defs.h:295
std::vector< tx_blob_entry > txs
Definition: cryptonote_protocol_defs.h:137
uint64_t live_time
Definition: cryptonote_protocol_defs.h:71
bool pruned
Definition: cryptonote_protocol_defs.h:134
uint32_t support_flags
Definition: cryptonote_protocol_defs.h:79
std::string ip
Definition: cryptonote_protocol_defs.h:56
bool localhost
Definition: cryptonote_protocol_defs.h:50
Definition: cryptonote_protocol_defs.h:230
std::list< crypto::hash > block_ids
Definition: cryptonote_protocol_defs.h:278
std::string port
Definition: cryptonote_protocol_defs.h:57
Definition: cryptonote_protocol_defs.h:322
uint32_t pruning_seed
Definition: cryptonote_protocol_defs.h:257
Definition: cryptonote_protocol_defs.h:368
bool prune
Definition: cryptonote_protocol_defs.h:279
bool ssl
Definition: cryptonote_protocol_defs.h:52
crypto::hash prunable_hash
Definition: cryptonote_protocol_defs.h:124
Definition: cryptonote_protocol_defs.h:234
Definition: cryptonote_protocol_defs.h:196
int b
Definition: base.py:1
uint64_t current_blockchain_height
Definition: cryptonote_protocol_defs.h:349
Definition: cryptonote_protocol_defs.h:172
std::string host
Definition: cryptonote_protocol_defs.h:55
static constexpr crypto::hash null_hash
Definition: hash.h:92
blobdata block
Definition: cryptonote_protocol_defs.h:135
#define false
Definition: stdbool.h:37
std::vector< crypto::hash > m_block_ids
Definition: cryptonote_protocol_defs.h:299
Definition: cryptonote_protocol_defs.h:121
uint64_t height
Definition: cryptonote_protocol_defs.h:83
std::vector< blobdata > txs
Definition: cryptonote_protocol_defs.h:198
std::vector< crypto::hash > missed_ids
Definition: cryptonote_protocol_defs.h:237
Definition: cryptonote_protocol_defs.h:272
bool local_ip
Definition: cryptonote_protocol_defs.h:51
Definition: cryptonote_protocol_defs.h:250
std::string blobdata
Definition: blobdatatype.h:39
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:358
uint64_t cumulative_difficulty_top64
Definition: cryptonote_protocol_defs.h:298
uint64_t block_weight
Definition: cryptonote_protocol_defs.h:136
uint32_t rpc_credits_per_hash
Definition: cryptonote_protocol_defs.h:59
Definition: cryptonote_format_utils.h:43
uint64_t cumulative_difficulty_top64
Definition: cryptonote_protocol_defs.h:254
Definition: blake256.h:36
bool incoming
Definition: cryptonote_protocol_defs.h:49
uint64_t send_count
Definition: cryptonote_protocol_defs.h:66
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:186
std::string connection_id
Definition: cryptonote_protocol_defs.h:81
static void prune(MDB_env *env0, MDB_env *env1)
Definition: blockchain_prune.cpp:246
block_complete_entry b
Definition: cryptonote_protocol_defs.h:178
Definition: cryptonote_protocol_defs.h:293
std::vector< block_complete_entry > blocks
Definition: cryptonote_protocol_defs.h:236
POD_CLASS hash
Definition: hash.h:48
Definition: cryptonote_protocol_defs.h:213
blobdata blob
Definition: cryptonote_protocol_defs.h:123
uint16_t rpc_port
Definition: cryptonote_protocol_defs.h:58
Definition: cryptonote_protocol_defs.h:342
crypto::hash top_id
Definition: cryptonote_protocol_defs.h:255
uint64_t cumulative_difficulty
Definition: cryptonote_protocol_defs.h:297
uint64_t current_height
Definition: cryptonote_protocol_defs.h:252
cryptonote::blobdata first_block
Definition: cryptonote_protocol_defs.h:301
#define true
Definition: stdbool.h:36
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:336
std::string address
Definition: cryptonote_protocol_defs.h:54
uint64_t current_blockchain_height
Definition: cryptonote_protocol_defs.h:238
Definition: cryptonote_protocol_defs.h:346
uint32_t pruning_seed
Definition: cryptonote_protocol_defs.h:85
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:246
uint8_t top_version
Definition: cryptonote_protocol_defs.h:256
Definition: cryptonote_protocol_defs.h:217