From 746af71727aebde0091a679b1319486fb6700ca2 Mon Sep 17 00:00:00 2001 From: Zachary Michaels Date: Thu, 26 Jun 2014 15:54:51 -0400 Subject: [PATCH] Add cumulative size to RPC block headers --- src/cryptonote_core/blockchain_storage.cpp | 6 ++++++ src/cryptonote_core/blockchain_storage.h | 1 + src/rpc/block_header_responce.h | 3 +++ src/rpc/core_rpc_server.cpp | 1 + 4 files changed, 11 insertions(+) diff --git a/src/cryptonote_core/blockchain_storage.cpp b/src/cryptonote_core/blockchain_storage.cpp index 9ff6cf7de..dcf82a392 100644 --- a/src/cryptonote_core/blockchain_storage.cpp +++ b/src/cryptonote_core/blockchain_storage.cpp @@ -1055,6 +1055,11 @@ uint64_t blockchain_storage::block_cumulative_difficulty(size_t i) return m_blocks[i].cumulative_difficulty; } //------------------------------------------------------------------ +uint64_t blockchain_storage::block_cumulative_size(size_t i) +{ + return m_blocks[i].block_cumulative_size; +} +//------------------------------------------------------------------ uint64_t blockchain_storage::block_difficulty(size_t i) { CRITICAL_REGION_LOCAL(m_blockchain_lock); @@ -1093,6 +1098,7 @@ std::vector blockchain_storage::get_block_headers(uint64_ , reward , blk.tx_hashes.size() , block_info.cumulative_difficulty + , block_info.block_cumulative_size ); } } diff --git a/src/cryptonote_core/blockchain_storage.h b/src/cryptonote_core/blockchain_storage.h index 6da8a1f95..a2aae1edf 100644 --- a/src/cryptonote_core/blockchain_storage.h +++ b/src/cryptonote_core/blockchain_storage.h @@ -108,6 +108,7 @@ namespace cryptonote uint64_t get_current_comulative_blocksize_limit(); bool is_storing_blockchain(){return m_is_blockchain_storing;} uint64_t block_cumulative_difficulty(size_t i); + uint64_t block_cumulative_size(size_t i); uint64_t block_difficulty(size_t i); std::vector get_block_headers(uint64_t start_index, uint64_t end_index); diff --git a/src/rpc/block_header_responce.h b/src/rpc/block_header_responce.h index e6806f619..3a880d94c 100644 --- a/src/rpc/block_header_responce.h +++ b/src/rpc/block_header_responce.h @@ -18,6 +18,7 @@ namespace cryptonote { uint64_t reward; uint64_t tx_count; uint64_t cumulative_difficulty; + uint64_t cumulative_size; block_header_responce() = default; @@ -35,6 +36,7 @@ namespace cryptonote { , uint64_t reward , uint64_t tx_count , uint64_t cumulative_difficulty + , uint64_t cumulative_size ) : major_version(major_version) , minor_version(minor_version) @@ -49,6 +51,7 @@ namespace cryptonote { , reward(reward) , tx_count(tx_count) , cumulative_difficulty(cumulative_difficulty) + , cumulative_size(cumulative_size) {} BEGIN_KV_SERIALIZE_MAP() diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index 7713d97bb..e90efc8fb 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -572,6 +572,7 @@ namespace cryptonote responce.reward = get_block_reward(blk); responce.tx_count = blk.tx_hashes.size(); responce.cumulative_difficulty = m_core.get_blockchain_storage().block_cumulative_difficulty(height); + responce.cumulative_size = m_core.get_blockchain_storage().block_cumulative_size(height); return true; } //------------------------------------------------------------------------------------------------------------------------------