aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2020-11-20 11:37:19 +0000
committerxiphon <xiphon@protonmail.com>2020-11-25 01:26:03 +0000
commit9d7f473af02c891def925594c43d1e6833e47309 (patch)
tree43bd1e4b60c3986a92b67c9ecd8a59fa8cf16abb /src/cryptonote_core
parentMerge pull request #7011 (diff)
downloadmonero-9d7f473af02c891def925594c43d1e6833e47309.tar.xz
cryptonote_core: dandelion - use local height or median height if syncing
Diffstat (limited to 'src/cryptonote_core')
-rw-r--r--src/cryptonote_core/cryptonote_core.cpp5
-rw-r--r--src/cryptonote_core/cryptonote_core.h11
-rw-r--r--src/cryptonote_core/i_core_events.h3
3 files changed, 16 insertions, 3 deletions
diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp
index fef411a0c..694f2cc34 100644
--- a/src/cryptonote_core/cryptonote_core.cpp
+++ b/src/cryptonote_core/cryptonote_core.cpp
@@ -1510,6 +1510,11 @@ namespace cryptonote
return true;
}
//-----------------------------------------------------------------------------------------------
+ bool core::is_synchronized() const
+ {
+ return m_pprotocol != nullptr && m_pprotocol->is_synchronized();
+ }
+ //-----------------------------------------------------------------------------------------------
void core::on_synchronized()
{
m_miner.on_synchronized();
diff --git a/src/cryptonote_core/cryptonote_core.h b/src/cryptonote_core/cryptonote_core.h
index 7c578ac51..1459d3bee 100644
--- a/src/cryptonote_core/cryptonote_core.h
+++ b/src/cryptonote_core/cryptonote_core.h
@@ -329,7 +329,7 @@ namespace cryptonote
*
* @note see Blockchain::get_current_blockchain_height()
*/
- uint64_t get_current_blockchain_height() const;
+ virtual uint64_t get_current_blockchain_height() const final;
/**
* @brief get the hash and height of the most recent block
@@ -638,6 +638,13 @@ namespace cryptonote
std::string print_pool(bool short_format) const;
/**
+ * @brief gets the core synchronization status
+ *
+ * @return core synchronization status
+ */
+ virtual bool is_synchronized() const final;
+
+ /**
* @copydoc miner::on_synchronized
*
* @note see miner::on_synchronized
@@ -663,7 +670,7 @@ namespace cryptonote
*
* @param target_blockchain_height the target height
*/
- virtual uint64_t get_target_blockchain_height() const override;
+ uint64_t get_target_blockchain_height() const;
/**
* @brief returns the newest hardfork version known to the blockchain
diff --git a/src/cryptonote_core/i_core_events.h b/src/cryptonote_core/i_core_events.h
index addb659ab..5d00858b5 100644
--- a/src/cryptonote_core/i_core_events.h
+++ b/src/cryptonote_core/i_core_events.h
@@ -39,7 +39,8 @@ namespace cryptonote
virtual ~i_core_events() noexcept
{}
- virtual uint64_t get_target_blockchain_height() const = 0;
+ virtual uint64_t get_current_blockchain_height() const = 0;
+ virtual bool is_synchronized() const = 0;
virtual void on_transactions_relayed(epee::span<const cryptonote::blobdata> tx_blobs, relay_method tx_relay) = 0;
};
}