diff options
author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-10-26 19:43:39 +0000 |
---|---|---|
committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2015-10-26 22:36:06 +0000 |
commit | 3e89df4150051493abdb358e93cf998906c6bee0 (patch) | |
tree | 355d53168c5949e27cdf8b011af7ac5fd37a2bc7 /src | |
parent | Merge pull request #450 (diff) | |
download | monero-3e89df4150051493abdb358e93cf998906c6bee0.tar.xz |
Build fixes for the old blockchain_storage version
Diffstat (limited to 'src')
-rw-r--r-- | src/blockchain_utilities/blockchain_dump.cpp | 7 | ||||
-rw-r--r-- | src/cryptonote_core/blockchain_storage.cpp | 10 | ||||
-rw-r--r-- | src/cryptonote_core/blockchain_storage.h | 4 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/blockchain_utilities/blockchain_dump.cpp b/src/blockchain_utilities/blockchain_dump.cpp index 4c3c09c43..ce028f663 100644 --- a/src/blockchain_utilities/blockchain_dump.cpp +++ b/src/blockchain_utilities/blockchain_dump.cpp @@ -162,7 +162,9 @@ int main(int argc, char* argv[]) LOG_PRINT_L0("Setting log level = " << log_level); bool opt_testnet = command_line::get_arg(vm, arg_testnet_on); +#if SOURCE_DB != DB_MEMORY bool opt_include_db_only_data = command_line::get_arg(vm, arg_include_db_only_data); +#endif std::string m_config_folder; @@ -271,7 +273,6 @@ int main(int argc, char* argv[]) start_struct(d,"blockchain"); uint64_t height = core_storage->get_current_blockchain_height(); write_pod(d, "height", height); -goto start; start_array(d,"blockids", true); for (uint64_t h = 0; h < height; ++h) write_pod(d,core_storage->get_block_id_by_height(h)); @@ -310,6 +311,7 @@ goto start; end_compound(d); } } + end_compound(d); start_struct(d,"blocks", true); { std::vector<crypto::hash> blockids; @@ -333,6 +335,7 @@ goto start; write_pod(d,key_images[n]); } end_compound(d); +#if SOURCE_DB != DB_MEMORY if (opt_include_db_only_data) { start_struct(d, "block_timestamps", true); @@ -386,7 +389,6 @@ goto start; catch (const OUTPUT_DNE &) { break; } } end_compound(d); -start: start_struct(d, "outputs_amounts", true); for (uint64_t base = 1; base <= (uint64_t)10000000000000000000ul; base *= 10) for (uint64_t digit = 1; digit <= 9; ++digit) { uint64_t amount = digit * base; @@ -417,6 +419,7 @@ start: write_pod(d, boost::lexical_cast<std::string>(v), db->get_hard_fork_starting_height(v)); end_compound(d); } +#endif end_compound(d); CHECK_AND_ASSERT_MES(r, false, "Failed to dump blockchain"); diff --git a/src/cryptonote_core/blockchain_storage.cpp b/src/cryptonote_core/blockchain_storage.cpp index 6d2b33bda..fa63efe0b 100644 --- a/src/cryptonote_core/blockchain_storage.cpp +++ b/src/cryptonote_core/blockchain_storage.cpp @@ -1900,19 +1900,21 @@ bool blockchain_storage::for_all_key_images(std::function<bool(const crypto::key return true; } //------------------------------------------------------------------ -bool blockchain_storage::for_all_blocks(std::function<bool(uint64_t, const block&)> f) const +bool blockchain_storage::for_all_blocks(std::function<bool(uint64_t, const crypto::hash&, const block&)> f) const { for (blocks_container::const_iterator i = m_blocks.begin(); i != m_blocks.end(); ++i) { - if (!f(i->height, i->bl)) + crypto::hash hash; + get_block_hash (i->bl, hash); + if (!f(i->height, hash, i->bl)) return false; } return true; } //------------------------------------------------------------------ -bool blockchain_storage::for_all_transactions(std::function<bool(const transaction&)> f) const +bool blockchain_storage::for_all_transactions(std::function<bool(const crypto::hash&, const transaction&)> f) const { for (transactions_container::const_iterator i = m_transactions.begin(); i != m_transactions.end(); ++i) { - if (!f(i->second.tx)) + if (!f(i->first, i->second.tx)) return false; } return true; diff --git a/src/cryptonote_core/blockchain_storage.h b/src/cryptonote_core/blockchain_storage.h index 4a4fc14c2..671cdadc4 100644 --- a/src/cryptonote_core/blockchain_storage.h +++ b/src/cryptonote_core/blockchain_storage.h @@ -186,8 +186,8 @@ namespace cryptonote uint64_t get_block_coins_generated(uint64_t height) const { return m_blocks[height].already_generated_coins; } bool for_all_key_images(std::function<bool(const crypto::key_image&)>) const; - bool for_all_blocks(std::function<bool(uint64_t height, const block&)>) const; - bool for_all_transactions(std::function<bool(const transaction&)>) const; + bool for_all_blocks(std::function<bool(uint64_t height, const crypto::hash&, const block&)>) const; + bool for_all_transactions(std::function<bool(const crypto::hash&, const transaction&)>) const; bool for_all_outputs(std::function<bool(uint64_t amount, const crypto::hash &tx_hash, size_t tx_idx)>) const; // use for testing only |