NotifyBlockTip signal: switch from hash (uint256) to CBlockIndex*
- also adds a boolean for indication if the tip update was happening during initial sync - emit notification also during initial sync
This commit is contained in:
parent
5d5ef3a4cf
commit
012fc91511
3 changed files with 10 additions and 4 deletions
|
@ -515,11 +515,14 @@ std::string LicenseInfo()
|
|||
"\n";
|
||||
}
|
||||
|
||||
static void BlockNotifyCallback(const uint256& hashNewTip)
|
||||
static void BlockNotifyCallback(bool initialSync, const CBlockIndex *pBlockIndex)
|
||||
{
|
||||
if (initialSync || !pBlockIndex)
|
||||
return;
|
||||
|
||||
std::string strCmd = GetArg("-blocknotify", "");
|
||||
|
||||
boost::replace_all(strCmd, "%s", hashNewTip.GetHex());
|
||||
boost::replace_all(strCmd, "%s", pBlockIndex->GetBlockHash().GetHex());
|
||||
boost::thread t(runCommand, strCmd); // thread runs free
|
||||
}
|
||||
|
||||
|
|
|
@ -2636,9 +2636,11 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
|
|||
// Notify external listeners about the new tip.
|
||||
if (!vHashes.empty()) {
|
||||
GetMainSignals().UpdatedBlockTip(pindexNewTip);
|
||||
uiInterface.NotifyBlockTip(vHashes.front());
|
||||
}
|
||||
}
|
||||
if (!vHashes.empty()) {
|
||||
uiInterface.NotifyBlockTip(fInitialDownload, pindexNewTip);
|
||||
}
|
||||
} while(pindexMostWork != chainActive.Tip());
|
||||
CheckBlockIndex(chainparams.GetConsensus());
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
class CBasicKeyStore;
|
||||
class CWallet;
|
||||
class uint256;
|
||||
class CBlockIndex;
|
||||
|
||||
/** General change type (added, updated, removed). */
|
||||
enum ChangeType
|
||||
|
@ -94,7 +95,7 @@ public:
|
|||
boost::signals2::signal<void (const std::string &title, int nProgress)> ShowProgress;
|
||||
|
||||
/** New block has been accepted */
|
||||
boost::signals2::signal<void (const uint256& hash)> NotifyBlockTip;
|
||||
boost::signals2::signal<void (bool, const CBlockIndex *)> NotifyBlockTip;
|
||||
|
||||
/** Banlist did change. */
|
||||
boost::signals2::signal<void (void)> BannedListChanged;
|
||||
|
|
Loading…
Reference in a new issue