1a445343f6
-BEGIN VERIFY SCRIPT- for f in \ src/*.cpp \ src/*.h \ src/bench/*.cpp \ src/bench/*.h \ src/compat/*.cpp \ src/compat/*.h \ src/consensus/*.cpp \ src/consensus/*.h \ src/crypto/*.cpp \ src/crypto/*.h \ src/crypto/ctaes/*.h \ src/policy/*.cpp \ src/policy/*.h \ src/primitives/*.cpp \ src/primitives/*.h \ src/qt/*.cpp \ src/qt/*.h \ src/qt/test/*.cpp \ src/qt/test/*.h \ src/rpc/*.cpp \ src/rpc/*.h \ src/script/*.cpp \ src/script/*.h \ src/support/*.cpp \ src/support/*.h \ src/support/allocators/*.h \ src/test/*.cpp \ src/test/*.h \ src/wallet/*.cpp \ src/wallet/*.h \ src/wallet/test/*.cpp \ src/wallet/test/*.h \ src/zmq/*.cpp \ src/zmq/*.h do base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f done -END VERIFY SCRIPT-
83 lines
2.6 KiB
C++
83 lines
2.6 KiB
C++
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2016 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#include <sync.h>
|
|
#include <clientversion.h>
|
|
#include <util.h>
|
|
#include <warnings.h>
|
|
|
|
CCriticalSection cs_warnings;
|
|
std::string strMiscWarning;
|
|
bool fLargeWorkForkFound = false;
|
|
bool fLargeWorkInvalidChainFound = false;
|
|
|
|
void SetMiscWarning(const std::string& strWarning)
|
|
{
|
|
LOCK(cs_warnings);
|
|
strMiscWarning = strWarning;
|
|
}
|
|
|
|
void SetfLargeWorkForkFound(bool flag)
|
|
{
|
|
LOCK(cs_warnings);
|
|
fLargeWorkForkFound = flag;
|
|
}
|
|
|
|
bool GetfLargeWorkForkFound()
|
|
{
|
|
LOCK(cs_warnings);
|
|
return fLargeWorkForkFound;
|
|
}
|
|
|
|
void SetfLargeWorkInvalidChainFound(bool flag)
|
|
{
|
|
LOCK(cs_warnings);
|
|
fLargeWorkInvalidChainFound = flag;
|
|
}
|
|
|
|
std::string GetWarnings(const std::string& strFor)
|
|
{
|
|
std::string strStatusBar;
|
|
std::string strRPC;
|
|
std::string strGUI;
|
|
const std::string uiAlertSeperator = "<hr />";
|
|
|
|
LOCK(cs_warnings);
|
|
|
|
if (!CLIENT_VERSION_IS_RELEASE) {
|
|
strStatusBar = "This is a pre-release test build - use at your own risk - do not use for mining or merchant applications";
|
|
strGUI = _("This is a pre-release test build - use at your own risk - do not use for mining or merchant applications");
|
|
}
|
|
|
|
if (gArgs.GetBoolArg("-testsafemode", DEFAULT_TESTSAFEMODE))
|
|
strStatusBar = strRPC = strGUI = "testsafemode enabled";
|
|
|
|
// Misc warnings like out of disk space and clock is wrong
|
|
if (strMiscWarning != "")
|
|
{
|
|
strStatusBar = strMiscWarning;
|
|
strGUI += (strGUI.empty() ? "" : uiAlertSeperator) + strMiscWarning;
|
|
}
|
|
|
|
if (fLargeWorkForkFound)
|
|
{
|
|
strStatusBar = strRPC = "Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.";
|
|
strGUI += (strGUI.empty() ? "" : uiAlertSeperator) + _("Warning: The network does not appear to fully agree! Some miners appear to be experiencing issues.");
|
|
}
|
|
else if (fLargeWorkInvalidChainFound)
|
|
{
|
|
strStatusBar = strRPC = "Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.";
|
|
strGUI += (strGUI.empty() ? "" : uiAlertSeperator) + _("Warning: We do not appear to fully agree with our peers! You may need to upgrade, or other nodes may need to upgrade.");
|
|
}
|
|
|
|
if (strFor == "gui")
|
|
return strGUI;
|
|
else if (strFor == "statusbar")
|
|
return strStatusBar;
|
|
else if (strFor == "rpc")
|
|
return strRPC;
|
|
assert(!"GetWarnings(): invalid parameter");
|
|
return "error";
|
|
}
|