From 2f867203b0c7a4438ce484be4cfa2b29dbf1abf0 Mon Sep 17 00:00:00 2001 From: furszy Date: Thu, 23 Jan 2020 19:31:16 -0300 Subject: Added best block hash to the NotifyHeaderTip and NotifyBlockTip signals. [ClientModel] best header/block hash cached. --- src/interfaces/node.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/interfaces/node.cpp') diff --git a/src/interfaces/node.cpp b/src/interfaces/node.cpp index 3c94e44b5..582bf68ff 100644 --- a/src/interfaces/node.cpp +++ b/src/interfaces/node.cpp @@ -187,6 +187,11 @@ public: LOCK(::cs_main); return ::ChainActive().Height(); } + uint256 getBestBlockHash() override + { + const CBlockIndex* tip = WITH_LOCK(::cs_main, return ::ChainActive().Tip()); + return tip ? tip->GetBlockHash() : Params().GenesisBlock().GetHash(); + } int64_t getLastBlockTime() override { LOCK(::cs_main); @@ -310,7 +315,7 @@ public: std::unique_ptr handleNotifyBlockTip(NotifyBlockTipFn fn) override { return MakeHandler(::uiInterface.NotifyBlockTip_connect([fn](SynchronizationState sync_state, const CBlockIndex* block) { - fn(sync_state, block->nHeight, block->GetBlockTime(), + fn(sync_state, block->GetBlockHash(), block->nHeight, block->GetBlockTime(), GuessVerificationProgress(Params().TxData(), block)); })); } @@ -318,7 +323,7 @@ public: { return MakeHandler( ::uiInterface.NotifyHeaderTip_connect([fn](SynchronizationState sync_state, const CBlockIndex* block) { - fn(sync_state, block->nHeight, block->GetBlockTime(), + fn(sync_state, block->GetBlockHash(), block->nHeight, block->GetBlockTime(), /* verification progress is unused when a header was received */ 0); })); } -- cgit v1.2.3