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()
302 BEGIN_KV_SERIALIZE_MAP()
303 KV_SERIALIZE(start_height)
304 KV_SERIALIZE(total_height)
305 KV_SERIALIZE(cumulative_difficulty)
307 KV_SERIALIZE(cumulative_difficulty_top64)
309 KV_SERIALIZE_OPT(cumulative_difficulty_top64, (uint64_t)0)
310 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_block_ids)
311 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(m_block_weights)
312 END_KV_SERIALIZE_MAP()
329 BEGIN_KV_SERIALIZE_MAP()
331 KV_SERIALIZE(current_blockchain_height)
332 END_KV_SERIALIZE_MAP()
350 BEGIN_KV_SERIALIZE_MAP()
351 KV_SERIALIZE_VAL_POD_AS_BLOB(block_hash)
352 KV_SERIALIZE(current_blockchain_height)
353 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(missing_tx_indices)
354 END_KV_SERIALIZE_MAP()
370 BEGIN_KV_SERIALIZE_MAP()
371 KV_SERIALIZE_CONTAINER_POD_AS_BLOB(hashes)
372 END_KV_SERIALIZE_MAP()
std::vector< crypto::hash > blocks
Definition: cryptonote_protocol_defs.h:219
block_complete_entry b
Definition: cryptonote_protocol_defs.h:326
std::string peer_id
Definition: cryptonote_protocol_defs.h:61
Definition: cryptonote_protocol_defs.h:362
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:346
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:314
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:324
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:374
uint64_t recv_count
Definition: cryptonote_protocol_defs.h:63
uint64_t current_blockchain_height
Definition: cryptonote_protocol_defs.h:327
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:348
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:368
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:320
uint32_t pruning_seed
Definition: cryptonote_protocol_defs.h:257
Definition: cryptonote_protocol_defs.h:366
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:347
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:356
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:340
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
#define true
Definition: stdbool.h:36
epee::misc_utils::struct_init< request_t > request
Definition: cryptonote_protocol_defs.h:334
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:344
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