diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2017-03-22 18:01:09 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2017-03-23 09:25:17 +0000 |
commit | f065234b71f2e3d374d44435d47db4cd75ab1294 (patch) | |
tree | 9cd0f1fae6e0eaef9cfd677f085df88a9aa5250b /src/cryptonote_basic/cryptonote_format_utils.h | |
parent | Merge pull request #1901 (diff) | |
download | monero-f065234b71f2e3d374d44435d47db4cd75ab1294.tar.xz |
core: cache tx and block hashes in the respective classes
An idea from smooth
Diffstat (limited to 'src/cryptonote_basic/cryptonote_format_utils.h')
-rw-r--r-- | src/cryptonote_basic/cryptonote_format_utils.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cryptonote_basic/cryptonote_format_utils.h b/src/cryptonote_basic/cryptonote_format_utils.h index 7b09235b8..5c10907fd 100644 --- a/src/cryptonote_basic/cryptonote_format_utils.h +++ b/src/cryptonote_basic/cryptonote_format_utils.h @@ -85,7 +85,9 @@ namespace cryptonote bool get_transaction_hash(const transaction& t, crypto::hash& res); bool get_transaction_hash(const transaction& t, crypto::hash& res, size_t& blob_size); bool get_transaction_hash(const transaction& t, crypto::hash& res, size_t* blob_size); + bool calculate_transaction_hash(const transaction& t, crypto::hash& res, size_t* blob_size); blobdata get_block_hashing_blob(const block& b); + bool calculate_block_hash(const block& b, crypto::hash& res); bool get_block_hash(const block& b, crypto::hash& res); crypto::hash get_block_hash(const block& b); bool get_block_longhash(const block& b, crypto::hash& res, uint64_t height); @@ -209,6 +211,7 @@ namespace cryptonote crypto::hash get_tx_tree_hash(const std::vector<crypto::hash>& tx_hashes); crypto::hash get_tx_tree_hash(const block& b); bool is_valid_decomposed_amount(uint64_t amount); + void get_hash_stats(uint64_t &tx_hashes_calculated, uint64_t &tx_hashes_cached, uint64_t &block_hashes_calculated, uint64_t & block_hashes_cached); #define CHECKED_GET_SPECIFIC_VARIANT(variant_var, specific_type, variable_name, fail_return_val) \ CHECK_AND_ASSERT_MES(variant_var.type() == typeid(specific_type), fail_return_val, "wrong variant type: " << variant_var.type().name() << ", expected " << typeid(specific_type).name()); \ |