mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-09 11:27:28 -03:00
scripted-diff: Rename PACKAGE_*
variables to CLIENT_*
This change ensures consistent use of the `CLIENT_` namespace everywhere in the repository. -BEGIN VERIFY SCRIPT- ren() { sed -i "s/\<$1\>/$2/g" $( git grep -l "$1" ./cmake ./src :\(exclude\)./src/secp256k1 ./test ) ; } ren PACKAGE_NAME CLIENT_NAME ren PACKAGE_VERSION CLIENT_VERSION_STRING ren PACKAGE_URL CLIENT_URL ren PACKAGE_BUGREPORT CLIENT_BUGREPORT -END VERIFY SCRIPT-
This commit is contained in:
parent
332655cb52
commit
70713303b6
48 changed files with 115 additions and 115 deletions
|
@ -124,16 +124,16 @@
|
||||||
#cmakedefine HAVE_VM_VM_PARAM_H 1
|
#cmakedefine HAVE_VM_VM_PARAM_H 1
|
||||||
|
|
||||||
/* Define to the address where bug reports for this package should be sent. */
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
#define PACKAGE_BUGREPORT "@CLIENT_BUGREPORT@"
|
#define CLIENT_BUGREPORT "@CLIENT_BUGREPORT@"
|
||||||
|
|
||||||
/* Define to the full name of this package. */
|
/* Define to the full name of this package. */
|
||||||
#define PACKAGE_NAME "@CLIENT_NAME@"
|
#define CLIENT_NAME "@CLIENT_NAME@"
|
||||||
|
|
||||||
/* Define to the home page for this package. */
|
/* Define to the home page for this package. */
|
||||||
#define PACKAGE_URL "@PROJECT_HOMEPAGE_URL@"
|
#define CLIENT_URL "@PROJECT_HOMEPAGE_URL@"
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
/* Define to the version of this package. */
|
||||||
#define PACKAGE_VERSION "@CLIENT_VERSION_STRING@"
|
#define CLIENT_VERSION_STRING "@CLIENT_VERSION_STRING@"
|
||||||
|
|
||||||
/* Define to 1 if strerror_r returns char *. */
|
/* Define to 1 if strerror_r returns char *. */
|
||||||
#cmakedefine STRERROR_R_CHAR_P 1
|
#cmakedefine STRERROR_R_CHAR_P 1
|
||||||
|
|
|
@ -150,7 +150,7 @@ bool CBanDB::Write(const banmap_t& banSet)
|
||||||
bool CBanDB::Read(banmap_t& banSet)
|
bool CBanDB::Read(banmap_t& banSet)
|
||||||
{
|
{
|
||||||
if (fs::exists(m_banlist_dat)) {
|
if (fs::exists(m_banlist_dat)) {
|
||||||
LogPrintf("banlist.dat ignored because it can only be read by " PACKAGE_NAME " version 22.x. Remove %s to silence this warning.\n", fs::quoted(fs::PathToString(m_banlist_dat)));
|
LogPrintf("banlist.dat ignored because it can only be read by " CLIENT_NAME " version 22.x. Remove %s to silence this warning.\n", fs::quoted(fs::PathToString(m_banlist_dat)));
|
||||||
}
|
}
|
||||||
// If the JSON banlist does not exist, then recreate it
|
// If the JSON banlist does not exist, then recreate it
|
||||||
if (!fs::exists(m_banlist_json)) {
|
if (!fs::exists(m_banlist_json)) {
|
||||||
|
@ -215,7 +215,7 @@ util::Result<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgro
|
||||||
DumpPeerAddresses(args, *addrman);
|
DumpPeerAddresses(args, *addrman);
|
||||||
} catch (const std::exception& e) {
|
} catch (const std::exception& e) {
|
||||||
return util::Error{strprintf(_("Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start."),
|
return util::Error{strprintf(_("Invalid or corrupt peers.dat (%s). If you believe this is a bug, please report it to %s. As a workaround, you can move the file (%s) out of the way (rename, move, or delete) to have a new one created on the next start."),
|
||||||
e.what(), PACKAGE_BUGREPORT, fs::quoted(fs::PathToString(path_addr)))};
|
e.what(), CLIENT_BUGREPORT, fs::quoted(fs::PathToString(path_addr)))};
|
||||||
}
|
}
|
||||||
return addrman;
|
return addrman;
|
||||||
}
|
}
|
||||||
|
|
|
@ -253,7 +253,7 @@ void AddrManImpl::Unserialize(Stream& s_)
|
||||||
throw InvalidAddrManVersionError(strprintf(
|
throw InvalidAddrManVersionError(strprintf(
|
||||||
"Unsupported format of addrman database: %u. It is compatible with formats >=%u, "
|
"Unsupported format of addrman database: %u. It is compatible with formats >=%u, "
|
||||||
"but the maximum supported by this version of %s is %u.",
|
"but the maximum supported by this version of %s is %u.",
|
||||||
uint8_t{format}, lowest_compatible, PACKAGE_NAME, uint8_t{FILE_FORMAT}));
|
uint8_t{format}, lowest_compatible, CLIENT_NAME, uint8_t{FILE_FORMAT}));
|
||||||
}
|
}
|
||||||
|
|
||||||
s >> nKey;
|
s >> nKey;
|
||||||
|
|
|
@ -15,14 +15,14 @@ BEGIN
|
||||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Bitcoin"
|
VALUE "CompanyName", "Bitcoin"
|
||||||
VALUE "FileDescription", "bitcoin-cli (JSON-RPC client for " PACKAGE_NAME ")"
|
VALUE "FileDescription", "bitcoin-cli (JSON-RPC client for " CLIENT_NAME ")"
|
||||||
VALUE "FileVersion", PACKAGE_VERSION
|
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||||
VALUE "InternalName", "bitcoin-cli"
|
VALUE "InternalName", "bitcoin-cli"
|
||||||
VALUE "LegalCopyright", COPYRIGHT_STR
|
VALUE "LegalCopyright", COPYRIGHT_STR
|
||||||
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
||||||
VALUE "OriginalFilename", "bitcoin-cli.exe"
|
VALUE "OriginalFilename", "bitcoin-cli.exe"
|
||||||
VALUE "ProductName", "bitcoin-cli"
|
VALUE "ProductName", "bitcoin-cli"
|
||||||
VALUE "ProductVersion", PACKAGE_VERSION
|
VALUE "ProductVersion", CLIENT_VERSION_STRING
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -145,14 +145,14 @@ static int AppInitRPC(int argc, char* argv[])
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) {
|
if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) {
|
||||||
std::string strUsage = PACKAGE_NAME " RPC client version " + FormatFullVersion() + "\n";
|
std::string strUsage = CLIENT_NAME " RPC client version " + FormatFullVersion() + "\n";
|
||||||
|
|
||||||
if (gArgs.IsArgSet("-version")) {
|
if (gArgs.IsArgSet("-version")) {
|
||||||
strUsage += FormatParagraph(LicenseInfo());
|
strUsage += FormatParagraph(LicenseInfo());
|
||||||
} else {
|
} else {
|
||||||
strUsage += "\n"
|
strUsage += "\n"
|
||||||
"Usage: bitcoin-cli [options] <command> [params] Send command to " PACKAGE_NAME "\n"
|
"Usage: bitcoin-cli [options] <command> [params] Send command to " CLIENT_NAME "\n"
|
||||||
"or: bitcoin-cli [options] -named <command> [name=value]... Send command to " PACKAGE_NAME " (with named arguments)\n"
|
"or: bitcoin-cli [options] -named <command> [name=value]... Send command to " CLIENT_NAME " (with named arguments)\n"
|
||||||
"or: bitcoin-cli [options] help List commands\n"
|
"or: bitcoin-cli [options] help List commands\n"
|
||||||
"or: bitcoin-cli [options] help <command> Get help for a command\n";
|
"or: bitcoin-cli [options] help <command> Get help for a command\n";
|
||||||
strUsage += "\n" + gArgs.GetHelpMessage();
|
strUsage += "\n" + gArgs.GetHelpMessage();
|
||||||
|
@ -535,7 +535,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate report header.
|
// Generate report header.
|
||||||
std::string result{strprintf("%s client %s%s - server %i%s\n\n", PACKAGE_NAME, FormatFullVersion(), ChainToString(), networkinfo["protocolversion"].getInt<int>(), networkinfo["subversion"].get_str())};
|
std::string result{strprintf("%s client %s%s - server %i%s\n\n", CLIENT_NAME, FormatFullVersion(), ChainToString(), networkinfo["protocolversion"].getInt<int>(), networkinfo["subversion"].get_str())};
|
||||||
|
|
||||||
// Report detailed peer connections list sorted by direction and minimum ping time.
|
// Report detailed peer connections list sorted by direction and minimum ping time.
|
||||||
if (DetailsRequested() && !m_peers.empty()) {
|
if (DetailsRequested() && !m_peers.empty()) {
|
||||||
|
|
|
@ -16,13 +16,13 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Bitcoin"
|
VALUE "CompanyName", "Bitcoin"
|
||||||
VALUE "FileDescription", "bitcoin-tx (CLI Bitcoin transaction editor utility)"
|
VALUE "FileDescription", "bitcoin-tx (CLI Bitcoin transaction editor utility)"
|
||||||
VALUE "FileVersion", PACKAGE_VERSION
|
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||||
VALUE "InternalName", "bitcoin-tx"
|
VALUE "InternalName", "bitcoin-tx"
|
||||||
VALUE "LegalCopyright", COPYRIGHT_STR
|
VALUE "LegalCopyright", COPYRIGHT_STR
|
||||||
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
||||||
VALUE "OriginalFilename", "bitcoin-tx.exe"
|
VALUE "OriginalFilename", "bitcoin-tx.exe"
|
||||||
VALUE "ProductName", "bitcoin-tx"
|
VALUE "ProductName", "bitcoin-tx"
|
||||||
VALUE "ProductVersion", PACKAGE_VERSION
|
VALUE "ProductVersion", CLIENT_VERSION_STRING
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ static int AppInitRawTx(int argc, char* argv[])
|
||||||
|
|
||||||
if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) {
|
if (argc < 2 || HelpRequested(gArgs) || gArgs.IsArgSet("-version")) {
|
||||||
// First part of help message is specific to this utility
|
// First part of help message is specific to this utility
|
||||||
std::string strUsage = PACKAGE_NAME " bitcoin-tx utility version " + FormatFullVersion() + "\n";
|
std::string strUsage = CLIENT_NAME " bitcoin-tx utility version " + FormatFullVersion() + "\n";
|
||||||
|
|
||||||
if (gArgs.IsArgSet("-version")) {
|
if (gArgs.IsArgSet("-version")) {
|
||||||
strUsage += FormatParagraph(LicenseInfo());
|
strUsage += FormatParagraph(LicenseInfo());
|
||||||
|
|
|
@ -16,13 +16,13 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Bitcoin"
|
VALUE "CompanyName", "Bitcoin"
|
||||||
VALUE "FileDescription", "bitcoin-util (CLI Bitcoin utility)"
|
VALUE "FileDescription", "bitcoin-util (CLI Bitcoin utility)"
|
||||||
VALUE "FileVersion", PACKAGE_VERSION
|
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||||
VALUE "InternalName", "bitcoin-util"
|
VALUE "InternalName", "bitcoin-util"
|
||||||
VALUE "LegalCopyright", COPYRIGHT_STR
|
VALUE "LegalCopyright", COPYRIGHT_STR
|
||||||
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
||||||
VALUE "OriginalFilename", "bitcoin-util.exe"
|
VALUE "OriginalFilename", "bitcoin-util.exe"
|
||||||
VALUE "ProductName", "bitcoin-util"
|
VALUE "ProductName", "bitcoin-util"
|
||||||
VALUE "ProductVersion", PACKAGE_VERSION
|
VALUE "ProductVersion", CLIENT_VERSION_STRING
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,7 @@ static int AppInitUtil(ArgsManager& args, int argc, char* argv[])
|
||||||
|
|
||||||
if (HelpRequested(args) || args.IsArgSet("-version")) {
|
if (HelpRequested(args) || args.IsArgSet("-version")) {
|
||||||
// First part of help message is specific to this utility
|
// First part of help message is specific to this utility
|
||||||
std::string strUsage = PACKAGE_NAME " bitcoin-util utility version " + FormatFullVersion() + "\n";
|
std::string strUsage = CLIENT_NAME " bitcoin-util utility version " + FormatFullVersion() + "\n";
|
||||||
|
|
||||||
if (args.IsArgSet("-version")) {
|
if (args.IsArgSet("-version")) {
|
||||||
strUsage += FormatParagraph(LicenseInfo());
|
strUsage += FormatParagraph(LicenseInfo());
|
||||||
|
|
|
@ -15,14 +15,14 @@ BEGIN
|
||||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Bitcoin"
|
VALUE "CompanyName", "Bitcoin"
|
||||||
VALUE "FileDescription", "bitcoin-wallet (CLI tool for " PACKAGE_NAME " wallets)"
|
VALUE "FileDescription", "bitcoin-wallet (CLI tool for " CLIENT_NAME " wallets)"
|
||||||
VALUE "FileVersion", PACKAGE_VERSION
|
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||||
VALUE "InternalName", "bitcoin-wallet"
|
VALUE "InternalName", "bitcoin-wallet"
|
||||||
VALUE "LegalCopyright", COPYRIGHT_STR
|
VALUE "LegalCopyright", COPYRIGHT_STR
|
||||||
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
||||||
VALUE "OriginalFilename", "bitcoin-wallet.exe"
|
VALUE "OriginalFilename", "bitcoin-wallet.exe"
|
||||||
VALUE "ProductName", "bitcoin-wallet"
|
VALUE "ProductName", "bitcoin-wallet"
|
||||||
VALUE "ProductVersion", PACKAGE_VERSION
|
VALUE "ProductVersion", CLIENT_VERSION_STRING
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -61,13 +61,13 @@ static std::optional<int> WalletAppInit(ArgsManager& args, int argc, char* argv[
|
||||||
}
|
}
|
||||||
const bool missing_args{argc < 2};
|
const bool missing_args{argc < 2};
|
||||||
if (missing_args || HelpRequested(args) || args.IsArgSet("-version")) {
|
if (missing_args || HelpRequested(args) || args.IsArgSet("-version")) {
|
||||||
std::string strUsage = strprintf("%s bitcoin-wallet version", PACKAGE_NAME) + " " + FormatFullVersion() + "\n";
|
std::string strUsage = strprintf("%s bitcoin-wallet version", CLIENT_NAME) + " " + FormatFullVersion() + "\n";
|
||||||
|
|
||||||
if (args.IsArgSet("-version")) {
|
if (args.IsArgSet("-version")) {
|
||||||
strUsage += FormatParagraph(LicenseInfo());
|
strUsage += FormatParagraph(LicenseInfo());
|
||||||
} else {
|
} else {
|
||||||
strUsage += "\n"
|
strUsage += "\n"
|
||||||
"bitcoin-wallet is an offline tool for creating and interacting with " PACKAGE_NAME " wallet files.\n"
|
"bitcoin-wallet is an offline tool for creating and interacting with " CLIENT_NAME " wallet files.\n"
|
||||||
"By default bitcoin-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n"
|
"By default bitcoin-wallet will act on wallets in the default mainnet wallet directory in the datadir.\n"
|
||||||
"To change the target wallet, use the -datadir, -wallet and -regtest/-signet/-testnet/-testnet4 arguments.\n\n"
|
"To change the target wallet, use the -datadir, -wallet and -regtest/-signet/-testnet/-testnet4 arguments.\n\n"
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
|
|
|
@ -16,13 +16,13 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Bitcoin"
|
VALUE "CompanyName", "Bitcoin"
|
||||||
VALUE "FileDescription", "bitcoind (Bitcoin node with a JSON-RPC server)"
|
VALUE "FileDescription", "bitcoind (Bitcoin node with a JSON-RPC server)"
|
||||||
VALUE "FileVersion", PACKAGE_VERSION
|
VALUE "FileVersion", CLIENT_VERSION_STRING
|
||||||
VALUE "InternalName", "bitcoind"
|
VALUE "InternalName", "bitcoind"
|
||||||
VALUE "LegalCopyright", COPYRIGHT_STR
|
VALUE "LegalCopyright", COPYRIGHT_STR
|
||||||
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
||||||
VALUE "OriginalFilename", "bitcoind.exe"
|
VALUE "OriginalFilename", "bitcoind.exe"
|
||||||
VALUE "ProductName", "bitcoind"
|
VALUE "ProductName", "bitcoind"
|
||||||
VALUE "ProductVersion", PACKAGE_VERSION
|
VALUE "ProductVersion", CLIENT_VERSION_STRING
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
|
@ -136,12 +136,12 @@ static bool ProcessInitCommands(ArgsManager& args)
|
||||||
{
|
{
|
||||||
// Process help and version before taking care about datadir
|
// Process help and version before taking care about datadir
|
||||||
if (HelpRequested(args) || args.IsArgSet("-version")) {
|
if (HelpRequested(args) || args.IsArgSet("-version")) {
|
||||||
std::string strUsage = PACKAGE_NAME " version " + FormatFullVersion() + "\n";
|
std::string strUsage = CLIENT_NAME " version " + FormatFullVersion() + "\n";
|
||||||
|
|
||||||
if (args.IsArgSet("-version")) {
|
if (args.IsArgSet("-version")) {
|
||||||
strUsage += FormatParagraph(LicenseInfo());
|
strUsage += FormatParagraph(LicenseInfo());
|
||||||
} else {
|
} else {
|
||||||
strUsage += "\nUsage: bitcoind [options] Start " PACKAGE_NAME "\n"
|
strUsage += "\nUsage: bitcoind [options] Start " CLIENT_NAME "\n"
|
||||||
"\n";
|
"\n";
|
||||||
strUsage += args.GetHelpMessage();
|
strUsage += args.GetHelpMessage();
|
||||||
}
|
}
|
||||||
|
@ -195,7 +195,7 @@ static bool AppInit(NodeContext& node)
|
||||||
|
|
||||||
if (args.GetBoolArg("-daemon", DEFAULT_DAEMON) || args.GetBoolArg("-daemonwait", DEFAULT_DAEMONWAIT)) {
|
if (args.GetBoolArg("-daemon", DEFAULT_DAEMON) || args.GetBoolArg("-daemonwait", DEFAULT_DAEMONWAIT)) {
|
||||||
#if HAVE_DECL_FORK
|
#if HAVE_DECL_FORK
|
||||||
tfm::format(std::cout, PACKAGE_NAME " starting\n");
|
tfm::format(std::cout, CLIENT_NAME " starting\n");
|
||||||
|
|
||||||
// Daemonize
|
// Daemonize
|
||||||
switch (fork_daemon(1, 0, daemon_ep)) { // don't chdir (1), do close FDs (0)
|
switch (fork_daemon(1, 0, daemon_ep)) { // don't chdir (1), do close FDs (0)
|
||||||
|
|
|
@ -36,7 +36,7 @@ const std::string UA_NAME("Satoshi");
|
||||||
#define BUILD_DESC BUILD_GIT_TAG
|
#define BUILD_DESC BUILD_GIT_TAG
|
||||||
#define BUILD_SUFFIX ""
|
#define BUILD_SUFFIX ""
|
||||||
#else
|
#else
|
||||||
#define BUILD_DESC "v" PACKAGE_VERSION
|
#define BUILD_DESC "v" CLIENT_VERSION_STRING
|
||||||
#if CLIENT_VERSION_IS_RELEASE
|
#if CLIENT_VERSION_IS_RELEASE
|
||||||
#define BUILD_SUFFIX ""
|
#define BUILD_SUFFIX ""
|
||||||
#elif defined(BUILD_GIT_COMMIT)
|
#elif defined(BUILD_GIT_COMMIT)
|
||||||
|
@ -88,7 +88,7 @@ std::string LicenseInfo()
|
||||||
return CopyrightHolders(strprintf(_("Copyright (C) %i-%i").translated, 2009, COPYRIGHT_YEAR) + " ") + "\n" +
|
return CopyrightHolders(strprintf(_("Copyright (C) %i-%i").translated, 2009, COPYRIGHT_YEAR) + " ") + "\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
strprintf(_("Please contribute if you find %s useful. "
|
strprintf(_("Please contribute if you find %s useful. "
|
||||||
"Visit %s for further information about the software.").translated, PACKAGE_NAME, "<" PACKAGE_URL ">") +
|
"Visit %s for further information about the software.").translated, CLIENT_NAME, "<" CLIENT_URL ">") +
|
||||||
"\n" +
|
"\n" +
|
||||||
strprintf(_("The source code is available from %s.").translated, URL_SOURCE_CODE) +
|
strprintf(_("The source code is available from %s.").translated, URL_SOURCE_CODE) +
|
||||||
"\n" +
|
"\n" +
|
||||||
|
|
|
@ -127,7 +127,7 @@ bool WriteSettings(const fs::path& path,
|
||||||
SettingsValue out(SettingsValue::VOBJ);
|
SettingsValue out(SettingsValue::VOBJ);
|
||||||
// Add auto-generated warning comment
|
// Add auto-generated warning comment
|
||||||
out.pushKV(SETTINGS_WARN_MSG_KEY, strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node "
|
out.pushKV(SETTINGS_WARN_MSG_KEY, strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node "
|
||||||
"is running, as any changes might be ignored or overwritten.", PACKAGE_NAME));
|
"is running, as any changes might be ignored or overwritten.", CLIENT_NAME));
|
||||||
// Push settings values
|
// Push settings values
|
||||||
for (const auto& value : values) {
|
for (const auto& value : values) {
|
||||||
out.pushKVEnd(value.first, value.second);
|
out.pushKVEnd(value.first, value.second);
|
||||||
|
|
|
@ -1079,7 +1079,7 @@ static bool LockDataDirectory(bool probeOnly)
|
||||||
case util::LockResult::ErrorWrite:
|
case util::LockResult::ErrorWrite:
|
||||||
return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), fs::PathToString(datadir)));
|
return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), fs::PathToString(datadir)));
|
||||||
case util::LockResult::ErrorLock:
|
case util::LockResult::ErrorLock:
|
||||||
return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), fs::PathToString(datadir), PACKAGE_NAME));
|
return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), fs::PathToString(datadir), CLIENT_NAME));
|
||||||
case util::LockResult::Success: return true;
|
case util::LockResult::Success: return true;
|
||||||
} // no default case, so the compiler can warn about missing cases
|
} // no default case, so the compiler can warn about missing cases
|
||||||
assert(false);
|
assert(false);
|
||||||
|
@ -1091,11 +1091,11 @@ bool AppInitSanityChecks(const kernel::Context& kernel)
|
||||||
auto result{kernel::SanityChecks(kernel)};
|
auto result{kernel::SanityChecks(kernel)};
|
||||||
if (!result) {
|
if (!result) {
|
||||||
InitError(util::ErrorString(result));
|
InitError(util::ErrorString(result));
|
||||||
return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), PACKAGE_NAME));
|
return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), CLIENT_NAME));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ECC_InitSanityCheck()) {
|
if (!ECC_InitSanityCheck()) {
|
||||||
return InitError(strprintf(_("Elliptic curve cryptography sanity check failure. %s is shutting down."), PACKAGE_NAME));
|
return InitError(strprintf(_("Elliptic curve cryptography sanity check failure. %s is shutting down."), CLIENT_NAME));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Probe the data directory lock to give an early error message, if possible
|
// Probe the data directory lock to give an early error message, if possible
|
||||||
|
|
|
@ -146,6 +146,6 @@ void LogPackageVersion()
|
||||||
#else
|
#else
|
||||||
version_string += " (release build)";
|
version_string += " (release build)";
|
||||||
#endif
|
#endif
|
||||||
LogPrintf(PACKAGE_NAME " version %s\n", version_string);
|
LogPrintf(CLIENT_NAME " version %s\n", version_string);
|
||||||
}
|
}
|
||||||
} // namespace init
|
} // namespace init
|
||||||
|
|
|
@ -3094,7 +3094,7 @@ bool CConnman::BindListenPort(const CService& addrBind, bilingual_str& strError,
|
||||||
if (sock->Bind(reinterpret_cast<struct sockaddr*>(&sockaddr), len) == SOCKET_ERROR) {
|
if (sock->Bind(reinterpret_cast<struct sockaddr*>(&sockaddr), len) == SOCKET_ERROR) {
|
||||||
int nErr = WSAGetLastError();
|
int nErr = WSAGetLastError();
|
||||||
if (nErr == WSAEADDRINUSE)
|
if (nErr == WSAEADDRINUSE)
|
||||||
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToStringAddrPort(), PACKAGE_NAME);
|
strError = strprintf(_("Unable to bind to %s on this computer. %s is probably already running."), addrBind.ToStringAddrPort(), CLIENT_NAME);
|
||||||
else
|
else
|
||||||
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToStringAddrPort(), NetworkErrorString(nErr));
|
strError = strprintf(_("Unable to bind to %s on this computer (bind returned error %s)"), addrBind.ToStringAddrPort(), NetworkErrorString(nErr));
|
||||||
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);
|
LogPrintLevel(BCLog::NET, BCLog::Level::Error, "%s\n", strError.original);
|
||||||
|
|
|
@ -162,7 +162,7 @@ static void initTranslations(QTranslator &qtTranslatorBase, QTranslator &qtTrans
|
||||||
|
|
||||||
static bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std::string>& details)
|
static bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std::string>& details)
|
||||||
{
|
{
|
||||||
QMessageBox messagebox(QMessageBox::Critical, PACKAGE_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Reset | QMessageBox::Abort);
|
QMessageBox messagebox(QMessageBox::Critical, CLIENT_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Reset | QMessageBox::Abort);
|
||||||
/*: Explanatory text shown on startup when the settings file cannot be read.
|
/*: Explanatory text shown on startup when the settings file cannot be read.
|
||||||
Prompts user to make a choice between resetting or aborting. */
|
Prompts user to make a choice between resetting or aborting. */
|
||||||
messagebox.setInformativeText(QObject::tr("Do you want to reset settings to default values, or to abort without making changes?"));
|
messagebox.setInformativeText(QObject::tr("Do you want to reset settings to default values, or to abort without making changes?"));
|
||||||
|
@ -181,7 +181,7 @@ static bool ErrorSettingsRead(const bilingual_str& error, const std::vector<std:
|
||||||
|
|
||||||
static void ErrorSettingsWrite(const bilingual_str& error, const std::vector<std::string>& details)
|
static void ErrorSettingsWrite(const bilingual_str& error, const std::vector<std::string>& details)
|
||||||
{
|
{
|
||||||
QMessageBox messagebox(QMessageBox::Critical, PACKAGE_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Ok);
|
QMessageBox messagebox(QMessageBox::Critical, CLIENT_NAME, QString::fromStdString(strprintf("%s.", error.translated)), QMessageBox::Ok);
|
||||||
/*: Explanatory text shown on startup when the settings file could not be written.
|
/*: Explanatory text shown on startup when the settings file could not be written.
|
||||||
Prompts user to check that we have the ability to write to the file.
|
Prompts user to check that we have the ability to write to the file.
|
||||||
Explains that the user has the option of running without a settings file.*/
|
Explains that the user has the option of running without a settings file.*/
|
||||||
|
@ -260,7 +260,7 @@ bool BitcoinApplication::createOptionsModel(bool resetSettings)
|
||||||
error.translated += tr("Settings file %1 might be corrupt or invalid.").arg(QString::fromStdString(quoted_path)).toStdString();
|
error.translated += tr("Settings file %1 might be corrupt or invalid.").arg(QString::fromStdString(quoted_path)).toStdString();
|
||||||
}
|
}
|
||||||
InitError(error);
|
InitError(error);
|
||||||
QMessageBox::critical(nullptr, PACKAGE_NAME, QString::fromStdString(error.translated));
|
QMessageBox::critical(nullptr, CLIENT_NAME, QString::fromStdString(error.translated));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -442,8 +442,8 @@ void BitcoinApplication::handleRunawayException(const QString &message)
|
||||||
{
|
{
|
||||||
QMessageBox::critical(
|
QMessageBox::critical(
|
||||||
nullptr, tr("Runaway exception"),
|
nullptr, tr("Runaway exception"),
|
||||||
tr("A fatal error occurred. %1 can no longer continue safely and will quit.").arg(PACKAGE_NAME) +
|
tr("A fatal error occurred. %1 can no longer continue safely and will quit.").arg(CLIENT_NAME) +
|
||||||
QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, PACKAGE_BUGREPORT));
|
QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, CLIENT_BUGREPORT));
|
||||||
::exit(EXIT_FAILURE);
|
::exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -453,8 +453,8 @@ void BitcoinApplication::handleNonFatalException(const QString& message)
|
||||||
QMessageBox::warning(
|
QMessageBox::warning(
|
||||||
nullptr, tr("Internal error"),
|
nullptr, tr("Internal error"),
|
||||||
tr("An internal error occurred. %1 will attempt to continue safely. This is "
|
tr("An internal error occurred. %1 will attempt to continue safely. This is "
|
||||||
"an unexpected bug which can be reported as described below.").arg(PACKAGE_NAME) +
|
"an unexpected bug which can be reported as described below.").arg(CLIENT_NAME) +
|
||||||
QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, PACKAGE_BUGREPORT));
|
QLatin1String("<br><br>") + GUIUtil::MakeHtmlLink(message, CLIENT_BUGREPORT));
|
||||||
}
|
}
|
||||||
|
|
||||||
WId BitcoinApplication::getMainWinId() const
|
WId BitcoinApplication::getMainWinId() const
|
||||||
|
@ -531,7 +531,7 @@ int GuiMain(int argc, char* argv[])
|
||||||
if (!gArgs.ParseParameters(argc, argv, error)) {
|
if (!gArgs.ParseParameters(argc, argv, error)) {
|
||||||
InitError(strprintf(Untranslated("Error parsing command line arguments: %s"), error));
|
InitError(strprintf(Untranslated("Error parsing command line arguments: %s"), error));
|
||||||
// Create a message box, because the gui has neither been created nor has subscribed to core signals
|
// Create a message box, because the gui has neither been created nor has subscribed to core signals
|
||||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
QMessageBox::critical(nullptr, CLIENT_NAME,
|
||||||
// message cannot be translated because translations have not been initialized
|
// message cannot be translated because translations have not been initialized
|
||||||
QString::fromStdString("Error parsing command line arguments: %1.").arg(QString::fromStdString(error)));
|
QString::fromStdString("Error parsing command line arguments: %1.").arg(QString::fromStdString(error)));
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
@ -551,14 +551,14 @@ int GuiMain(int argc, char* argv[])
|
||||||
#endif
|
#endif
|
||||||
if (payment_server_token_seen && arg.startsWith("-")) {
|
if (payment_server_token_seen && arg.startsWith("-")) {
|
||||||
InitError(Untranslated(strprintf("Options ('%s') cannot follow a BIP-21 payment URI", argv[i])));
|
InitError(Untranslated(strprintf("Options ('%s') cannot follow a BIP-21 payment URI", argv[i])));
|
||||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
QMessageBox::critical(nullptr, CLIENT_NAME,
|
||||||
// message cannot be translated because translations have not been initialized
|
// message cannot be translated because translations have not been initialized
|
||||||
QString::fromStdString("Options ('%1') cannot follow a BIP-21 payment URI").arg(QString::fromStdString(argv[i])));
|
QString::fromStdString("Options ('%1') cannot follow a BIP-21 payment URI").arg(QString::fromStdString(argv[i])));
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
if (invalid_token) {
|
if (invalid_token) {
|
||||||
InitError(Untranslated(strprintf("Command line contains unexpected token '%s', see bitcoin-qt -h for a list of options.", argv[i])));
|
InitError(Untranslated(strprintf("Command line contains unexpected token '%s', see bitcoin-qt -h for a list of options.", argv[i])));
|
||||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
QMessageBox::critical(nullptr, CLIENT_NAME,
|
||||||
// message cannot be translated because translations have not been initialized
|
// message cannot be translated because translations have not been initialized
|
||||||
QString::fromStdString("Command line contains unexpected token '%1', see bitcoin-qt -h for a list of options.").arg(QString::fromStdString(argv[i])));
|
QString::fromStdString("Command line contains unexpected token '%1', see bitcoin-qt -h for a list of options.").arg(QString::fromStdString(argv[i])));
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
@ -613,7 +613,7 @@ int GuiMain(int argc, char* argv[])
|
||||||
} else if (error->status != common::ConfigStatus::ABORTED) {
|
} else if (error->status != common::ConfigStatus::ABORTED) {
|
||||||
// Show a generic message in other cases, and no additional error
|
// Show a generic message in other cases, and no additional error
|
||||||
// message in the case of a read error if the user decided to abort.
|
// message in the case of a read error if the user decided to abort.
|
||||||
QMessageBox::critical(nullptr, PACKAGE_NAME, QObject::tr("Error: %1").arg(QString::fromStdString(error->message.translated)));
|
QMessageBox::critical(nullptr, CLIENT_NAME, QObject::tr("Error: %1").arg(QString::fromStdString(error->message.translated)));
|
||||||
}
|
}
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
@ -686,7 +686,7 @@ int GuiMain(int argc, char* argv[])
|
||||||
if (app.baseInitialize()) {
|
if (app.baseInitialize()) {
|
||||||
app.requestInitialize();
|
app.requestInitialize();
|
||||||
#if defined(Q_OS_WIN)
|
#if defined(Q_OS_WIN)
|
||||||
WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely…").arg(PACKAGE_NAME), (HWND)app.getMainWinId());
|
WinShutdownMonitor::registerShutdownBlockReason(QObject::tr("%1 didn't yet exit safely…").arg(CLIENT_NAME), (HWND)app.getMainWinId());
|
||||||
#endif
|
#endif
|
||||||
app.exec();
|
app.exec();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -294,15 +294,15 @@ void BitcoinGUI::createActions()
|
||||||
quitAction->setStatusTip(tr("Quit application"));
|
quitAction->setStatusTip(tr("Quit application"));
|
||||||
quitAction->setShortcut(QKeySequence(tr("Ctrl+Q")));
|
quitAction->setShortcut(QKeySequence(tr("Ctrl+Q")));
|
||||||
quitAction->setMenuRole(QAction::QuitRole);
|
quitAction->setMenuRole(QAction::QuitRole);
|
||||||
aboutAction = new QAction(tr("&About %1").arg(PACKAGE_NAME), this);
|
aboutAction = new QAction(tr("&About %1").arg(CLIENT_NAME), this);
|
||||||
aboutAction->setStatusTip(tr("Show information about %1").arg(PACKAGE_NAME));
|
aboutAction->setStatusTip(tr("Show information about %1").arg(CLIENT_NAME));
|
||||||
aboutAction->setMenuRole(QAction::AboutRole);
|
aboutAction->setMenuRole(QAction::AboutRole);
|
||||||
aboutAction->setEnabled(false);
|
aboutAction->setEnabled(false);
|
||||||
aboutQtAction = new QAction(tr("About &Qt"), this);
|
aboutQtAction = new QAction(tr("About &Qt"), this);
|
||||||
aboutQtAction->setStatusTip(tr("Show information about Qt"));
|
aboutQtAction->setStatusTip(tr("Show information about Qt"));
|
||||||
aboutQtAction->setMenuRole(QAction::AboutQtRole);
|
aboutQtAction->setMenuRole(QAction::AboutQtRole);
|
||||||
optionsAction = new QAction(tr("&Options…"), this);
|
optionsAction = new QAction(tr("&Options…"), this);
|
||||||
optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(PACKAGE_NAME));
|
optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(CLIENT_NAME));
|
||||||
optionsAction->setMenuRole(QAction::PreferencesRole);
|
optionsAction->setMenuRole(QAction::PreferencesRole);
|
||||||
optionsAction->setEnabled(false);
|
optionsAction->setEnabled(false);
|
||||||
|
|
||||||
|
@ -364,7 +364,7 @@ void BitcoinGUI::createActions()
|
||||||
|
|
||||||
showHelpMessageAction = new QAction(tr("&Command-line options"), this);
|
showHelpMessageAction = new QAction(tr("&Command-line options"), this);
|
||||||
showHelpMessageAction->setMenuRole(QAction::NoRole);
|
showHelpMessageAction->setMenuRole(QAction::NoRole);
|
||||||
showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Bitcoin command-line options").arg(PACKAGE_NAME));
|
showHelpMessageAction->setStatusTip(tr("Show the %1 help message to get a list with possible Bitcoin command-line options").arg(CLIENT_NAME));
|
||||||
|
|
||||||
m_mask_values_action = new QAction(tr("&Mask values"), this);
|
m_mask_values_action = new QAction(tr("&Mask values"), this);
|
||||||
m_mask_values_action->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_M));
|
m_mask_values_action->setShortcut(QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_M));
|
||||||
|
@ -837,7 +837,7 @@ void BitcoinGUI::createTrayIcon()
|
||||||
#ifndef Q_OS_MACOS
|
#ifndef Q_OS_MACOS
|
||||||
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
||||||
trayIcon = new QSystemTrayIcon(m_network_style->getTrayAndWindowIcon(), this);
|
trayIcon = new QSystemTrayIcon(m_network_style->getTrayAndWindowIcon(), this);
|
||||||
QString toolTip = tr("%1 client").arg(PACKAGE_NAME) + " " + m_network_style->getTitleAddText();
|
QString toolTip = tr("%1 client").arg(CLIENT_NAME) + " " + m_network_style->getTitleAddText();
|
||||||
trayIcon->setToolTip(toolTip);
|
trayIcon->setToolTip(toolTip);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1230,7 +1230,7 @@ void BitcoinGUI::createWallet()
|
||||||
void BitcoinGUI::message(const QString& title, QString message, unsigned int style, bool* ret, const QString& detailed_message)
|
void BitcoinGUI::message(const QString& title, QString message, unsigned int style, bool* ret, const QString& detailed_message)
|
||||||
{
|
{
|
||||||
// Default title. On macOS, the window title is ignored (as required by the macOS Guidelines).
|
// Default title. On macOS, the window title is ignored (as required by the macOS Guidelines).
|
||||||
QString strTitle{PACKAGE_NAME};
|
QString strTitle{CLIENT_NAME};
|
||||||
// Default to information icon
|
// Default to information icon
|
||||||
int nMBoxIcon = QMessageBox::Information;
|
int nMBoxIcon = QMessageBox::Information;
|
||||||
int nNotifyIcon = Notificator::Information;
|
int nNotifyIcon = Notificator::Information;
|
||||||
|
@ -1489,7 +1489,7 @@ void BitcoinGUI::updateProxyIcon()
|
||||||
|
|
||||||
void BitcoinGUI::updateWindowTitle()
|
void BitcoinGUI::updateWindowTitle()
|
||||||
{
|
{
|
||||||
QString window_title = PACKAGE_NAME;
|
QString window_title = CLIENT_NAME;
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
if (walletFrame) {
|
if (walletFrame) {
|
||||||
WalletModel* const wallet_model = walletFrame->currentWalletModel();
|
WalletModel* const wallet_model = walletFrame->currentWalletModel();
|
||||||
|
|
|
@ -127,16 +127,16 @@ Intro::Intro(QWidget *parent, int64_t blockchain_size_gb, int64_t chain_state_si
|
||||||
m_prune_target_gb{GetPruneTargetGB()}
|
m_prune_target_gb{GetPruneTargetGB()}
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(PACKAGE_NAME));
|
ui->welcomeLabel->setText(ui->welcomeLabel->text().arg(CLIENT_NAME));
|
||||||
ui->storageLabel->setText(ui->storageLabel->text().arg(PACKAGE_NAME));
|
ui->storageLabel->setText(ui->storageLabel->text().arg(CLIENT_NAME));
|
||||||
|
|
||||||
ui->lblExplanation1->setText(ui->lblExplanation1->text()
|
ui->lblExplanation1->setText(ui->lblExplanation1->text()
|
||||||
.arg(PACKAGE_NAME)
|
.arg(CLIENT_NAME)
|
||||||
.arg(m_blockchain_size_gb)
|
.arg(m_blockchain_size_gb)
|
||||||
.arg(2009)
|
.arg(2009)
|
||||||
.arg(tr("Bitcoin"))
|
.arg(tr("Bitcoin"))
|
||||||
);
|
);
|
||||||
ui->lblExplanation2->setText(ui->lblExplanation2->text().arg(PACKAGE_NAME));
|
ui->lblExplanation2->setText(ui->lblExplanation2->text().arg(CLIENT_NAME));
|
||||||
|
|
||||||
const int min_prune_target_GB = std::ceil(MIN_DISK_SPACE_FOR_BLOCK_FILES / 1e9);
|
const int min_prune_target_GB = std::ceil(MIN_DISK_SPACE_FOR_BLOCK_FILES / 1e9);
|
||||||
ui->pruneGB->setRange(min_prune_target_GB, std::numeric_limits<int>::max());
|
ui->pruneGB->setRange(min_prune_target_GB, std::numeric_limits<int>::max());
|
||||||
|
@ -246,7 +246,7 @@ bool Intro::showIfNeeded(bool& did_show_intro, int64_t& prune_MiB)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
} catch (const fs::filesystem_error&) {
|
} catch (const fs::filesystem_error&) {
|
||||||
QMessageBox::critical(nullptr, PACKAGE_NAME,
|
QMessageBox::critical(nullptr, CLIENT_NAME,
|
||||||
tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir));
|
tr("Error: Specified data directory \"%1\" cannot be created.").arg(dataDir));
|
||||||
/* fall through, back to choosing screen */
|
/* fall through, back to choosing screen */
|
||||||
}
|
}
|
||||||
|
@ -389,7 +389,7 @@ void Intro::UpdatePruneLabels(bool prune_checked)
|
||||||
//: Explanatory text on the capability of the current prune target.
|
//: Explanatory text on the capability of the current prune target.
|
||||||
tr("(sufficient to restore backups %n day(s) old)", "", expected_backup_days));
|
tr("(sufficient to restore backups %n day(s) old)", "", expected_backup_days));
|
||||||
ui->sizeWarningLabel->setText(
|
ui->sizeWarningLabel->setText(
|
||||||
tr("%1 will download and store a copy of the Bitcoin block chain.").arg(PACKAGE_NAME) + " " +
|
tr("%1 will download and store a copy of the Bitcoin block chain.").arg(CLIENT_NAME) + " " +
|
||||||
storageRequiresMsg.arg(m_required_space_gb) + " " +
|
storageRequiresMsg.arg(m_required_space_gb) + " " +
|
||||||
tr("The wallet will also be stored in this directory.")
|
tr("The wallet will also be stored in this directory.")
|
||||||
);
|
);
|
||||||
|
|
|
@ -31,7 +31,7 @@ ModalOverlay::ModalOverlay(bool enable_wallet, QWidget* parent)
|
||||||
setVisible(false);
|
setVisible(false);
|
||||||
if (!enable_wallet) {
|
if (!enable_wallet) {
|
||||||
ui->infoText->setVisible(false);
|
ui->infoText->setVisible(false);
|
||||||
ui->infoTextStrong->setText(tr("%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.").arg(PACKAGE_NAME));
|
ui->infoTextStrong->setText(tr("%1 is currently syncing. It will download headers and blocks from peers and validate them until reaching the tip of the block chain.").arg(CLIENT_NAME));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_animation.setTargetObject(this);
|
m_animation.setTargetObject(this);
|
||||||
|
|
|
@ -139,7 +139,7 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_EXTERNAL_SIGNER
|
#ifdef ENABLE_EXTERNAL_SIGNER
|
||||||
ui->externalSignerPath->setToolTip(ui->externalSignerPath->toolTip().arg(PACKAGE_NAME));
|
ui->externalSignerPath->setToolTip(ui->externalSignerPath->toolTip().arg(CLIENT_NAME));
|
||||||
#else
|
#else
|
||||||
//: "External signing" means using devices such as hardware wallets.
|
//: "External signing" means using devices such as hardware wallets.
|
||||||
ui->externalSignerPath->setToolTip(tr("Compiled without external signing support (required for external signing)"));
|
ui->externalSignerPath->setToolTip(tr("Compiled without external signing support (required for external signing)"));
|
||||||
|
@ -148,12 +148,12 @@ OptionsDialog::OptionsDialog(QWidget* parent, bool enableWallet)
|
||||||
/* Display elements init */
|
/* Display elements init */
|
||||||
QDir translations(":translations");
|
QDir translations(":translations");
|
||||||
|
|
||||||
ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(PACKAGE_NAME));
|
ui->bitcoinAtStartup->setToolTip(ui->bitcoinAtStartup->toolTip().arg(CLIENT_NAME));
|
||||||
ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(PACKAGE_NAME));
|
ui->bitcoinAtStartup->setText(ui->bitcoinAtStartup->text().arg(CLIENT_NAME));
|
||||||
|
|
||||||
ui->openBitcoinConfButton->setToolTip(ui->openBitcoinConfButton->toolTip().arg(PACKAGE_NAME));
|
ui->openBitcoinConfButton->setToolTip(ui->openBitcoinConfButton->toolTip().arg(CLIENT_NAME));
|
||||||
|
|
||||||
ui->lang->setToolTip(ui->lang->toolTip().arg(PACKAGE_NAME));
|
ui->lang->setToolTip(ui->lang->toolTip().arg(CLIENT_NAME));
|
||||||
ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
|
ui->lang->addItem(QString("(") + tr("default") + QString(")"), QVariant(""));
|
||||||
for (const QString &langStr : translations.entryList())
|
for (const QString &langStr : translations.entryList())
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,13 +22,13 @@ BEGIN
|
||||||
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
BLOCK "040904E4" // U.S. English - multilingual (hex)
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "Bitcoin"
|
VALUE "CompanyName", "Bitcoin"
|
||||||
VALUE "FileDescription", PACKAGE_NAME " (GUI node for Bitcoin)"
|
VALUE "FileDescription", CLIENT_NAME " (GUI node for Bitcoin)"
|
||||||
VALUE "FileVersion", VER_FILEVERSION_STR
|
VALUE "FileVersion", VER_FILEVERSION_STR
|
||||||
VALUE "InternalName", "bitcoin-qt"
|
VALUE "InternalName", "bitcoin-qt"
|
||||||
VALUE "LegalCopyright", COPYRIGHT_STR
|
VALUE "LegalCopyright", COPYRIGHT_STR
|
||||||
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php."
|
||||||
VALUE "OriginalFilename", "bitcoin-qt.exe"
|
VALUE "OriginalFilename", "bitcoin-qt.exe"
|
||||||
VALUE "ProductName", PACKAGE_NAME
|
VALUE "ProductName", CLIENT_NAME
|
||||||
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
|
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
|
@ -536,7 +536,7 @@ RPCConsole::RPCConsole(interfaces::Node& node, const PlatformStyle *_platformSty
|
||||||
ui->peerHighBandwidthLabel->setToolTip(ui->peerHighBandwidthLabel->toolTip().arg(hb_list));
|
ui->peerHighBandwidthLabel->setToolTip(ui->peerHighBandwidthLabel->toolTip().arg(hb_list));
|
||||||
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
|
ui->dataDir->setToolTip(ui->dataDir->toolTip().arg(QString(nonbreaking_hyphen) + "datadir"));
|
||||||
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
|
ui->blocksDir->setToolTip(ui->blocksDir->toolTip().arg(QString(nonbreaking_hyphen) + "blocksdir"));
|
||||||
ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(PACKAGE_NAME));
|
ui->openDebugLogfileButton->setToolTip(ui->openDebugLogfileButton->toolTip().arg(CLIENT_NAME));
|
||||||
|
|
||||||
if (platformStyle->getImagesOnButtons()) {
|
if (platformStyle->getImagesOnButtons()) {
|
||||||
ui->openDebugLogfileButton->setIcon(platformStyle->SingleColorIcon(":/icons/export"));
|
ui->openDebugLogfileButton->setIcon(platformStyle->SingleColorIcon(":/icons/export"));
|
||||||
|
@ -914,7 +914,7 @@ void RPCConsole::clear(bool keep_prompt)
|
||||||
"%7WARNING: Scammers have been active, telling users to type"
|
"%7WARNING: Scammers have been active, telling users to type"
|
||||||
" commands here, stealing their wallet contents. Do not use this console"
|
" commands here, stealing their wallet contents. Do not use this console"
|
||||||
" without fully understanding the ramifications of a command.%8")
|
" without fully understanding the ramifications of a command.%8")
|
||||||
.arg(PACKAGE_NAME,
|
.arg(CLIENT_NAME,
|
||||||
"<b>" + ui->clearButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
|
"<b>" + ui->clearButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
|
||||||
"<b>" + ui->fontBiggerButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
|
"<b>" + ui->fontBiggerButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
|
||||||
"<b>" + ui->fontSmallerButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
|
"<b>" + ui->fontSmallerButton->shortcut().toString(QKeySequence::NativeText) + "</b>",
|
||||||
|
|
|
@ -210,7 +210,7 @@ void SendCoinsDialog::setModel(WalletModel *_model)
|
||||||
}
|
}
|
||||||
} else if (model->wallet().privateKeysDisabled()) {
|
} else if (model->wallet().privateKeysDisabled()) {
|
||||||
ui->sendButton->setText(tr("Cr&eate Unsigned"));
|
ui->sendButton->setText(tr("Cr&eate Unsigned"));
|
||||||
ui->sendButton->setToolTip(tr("Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(PACKAGE_NAME));
|
ui->sendButton->setToolTip(tr("Creates a Partially Signed Bitcoin Transaction (PSBT) for use with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(CLIENT_NAME));
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the smartfee-sliders default value (wallets default conf.target or last stored value)
|
// set the smartfee-sliders default value (wallets default conf.target or last stored value)
|
||||||
|
@ -332,12 +332,12 @@ bool SendCoinsDialog::PrepareSendText(QString& question_string, QString& informa
|
||||||
/*: Text to inform a user attempting to create a transaction of their current options. At this stage,
|
/*: Text to inform a user attempting to create a transaction of their current options. At this stage,
|
||||||
a user can only create a PSBT. This string is displayed when private keys are disabled and an external
|
a user can only create a PSBT. This string is displayed when private keys are disabled and an external
|
||||||
signer is not available. */
|
signer is not available. */
|
||||||
question_string.append(tr("Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(PACKAGE_NAME));
|
question_string.append(tr("Please, review your transaction proposal. This will produce a Partially Signed Bitcoin Transaction (PSBT) which you can save or copy and then sign with e.g. an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(CLIENT_NAME));
|
||||||
} else if (model->getOptionsModel()->getEnablePSBTControls()) {
|
} else if (model->getOptionsModel()->getEnablePSBTControls()) {
|
||||||
/*: Text to inform a user attempting to create a transaction of their current options. At this stage,
|
/*: Text to inform a user attempting to create a transaction of their current options. At this stage,
|
||||||
a user can send their transaction or create a PSBT. This string is displayed when both private keys
|
a user can send their transaction or create a PSBT. This string is displayed when both private keys
|
||||||
and PSBT controls are enabled. */
|
and PSBT controls are enabled. */
|
||||||
question_string.append(tr("Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(PACKAGE_NAME));
|
question_string.append(tr("Please, review your transaction. You can create and send this transaction or create a Partially Signed Bitcoin Transaction (PSBT), which you can save or copy and then sign with, e.g., an offline %1 wallet, or a PSBT-compatible hardware wallet.").arg(CLIENT_NAME));
|
||||||
} else {
|
} else {
|
||||||
/*: Text to prompt a user to review the details of the transaction they are attempting to send. */
|
/*: Text to prompt a user to review the details of the transaction they are attempting to send. */
|
||||||
question_string.append(tr("Please, review your transaction."));
|
question_string.append(tr("Please, review your transaction."));
|
||||||
|
|
|
@ -124,7 +124,7 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked()
|
||||||
if (!pkhash) {
|
if (!pkhash) {
|
||||||
ui->addressIn_SM->setValid(false);
|
ui->addressIn_SM->setValid(false);
|
||||||
ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
|
ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }");
|
||||||
ui->statusLabel_SM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(PACKAGE_NAME));
|
ui->statusLabel_SM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(CLIENT_NAME));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked()
|
||||||
return;
|
return;
|
||||||
case MessageVerificationResult::ERR_ADDRESS_NO_KEY:
|
case MessageVerificationResult::ERR_ADDRESS_NO_KEY:
|
||||||
ui->addressIn_VM->setValid(false);
|
ui->addressIn_VM->setValid(false);
|
||||||
ui->statusLabel_VM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(PACKAGE_NAME));
|
ui->statusLabel_VM->setText(tr("The entered address does not refer to a legacy (P2PKH) key. Message signing for SegWit and other non-P2PKH address types is not supported in this version of %1. Please check the address and try again.").arg(CLIENT_NAME));
|
||||||
return;
|
return;
|
||||||
case MessageVerificationResult::ERR_MALFORMED_SIGNATURE:
|
case MessageVerificationResult::ERR_MALFORMED_SIGNATURE:
|
||||||
ui->signatureIn_VM->setValid(false);
|
ui->signatureIn_VM->setValid(false);
|
||||||
|
|
|
@ -39,7 +39,7 @@ SplashScreen::SplashScreen(const NetworkStyle* networkStyle)
|
||||||
devicePixelRatio = static_cast<QGuiApplication*>(QCoreApplication::instance())->devicePixelRatio();
|
devicePixelRatio = static_cast<QGuiApplication*>(QCoreApplication::instance())->devicePixelRatio();
|
||||||
|
|
||||||
// define text to place
|
// define text to place
|
||||||
QString titleText = PACKAGE_NAME;
|
QString titleText = CLIENT_NAME;
|
||||||
QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
|
QString versionText = QString("Version %1").arg(QString::fromStdString(FormatFullVersion()));
|
||||||
QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
|
QString copyrightText = QString::fromUtf8(CopyrightHolders(strprintf("\xc2\xA9 %u-%u ", 2009, COPYRIGHT_YEAR)).c_str());
|
||||||
const QString& titleAddText = networkStyle->getTitleAddText();
|
const QString& titleAddText = networkStyle->getTitleAddText();
|
||||||
|
|
|
@ -73,7 +73,7 @@ void OptionTests::migrateSettings()
|
||||||
std::ifstream file(gArgs.GetDataDirNet() / "settings.json");
|
std::ifstream file(gArgs.GetDataDirNet() / "settings.json");
|
||||||
std::string default_warning = strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node "
|
std::string default_warning = strprintf("This file is automatically generated and updated by %s. Please do not edit this file while the node "
|
||||||
"is running, as any changes might be ignored or overwritten.",
|
"is running, as any changes might be ignored or overwritten.",
|
||||||
PACKAGE_NAME);
|
CLIENT_NAME);
|
||||||
QCOMPARE(std::string(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>()).c_str(), "{\n"
|
QCOMPARE(std::string(std::istreambuf_iterator<char>(file), std::istreambuf_iterator<char>()).c_str(), "{\n"
|
||||||
" \"_warning_\": \""+ default_warning+"\",\n"
|
" \"_warning_\": \""+ default_warning+"\",\n"
|
||||||
" \"dbcache\": \"600\",\n"
|
" \"dbcache\": \"600\",\n"
|
||||||
|
|
|
@ -33,11 +33,11 @@ HelpMessageDialog::HelpMessageDialog(QWidget *parent, bool about) :
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
QString version = QString{PACKAGE_NAME} + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion());
|
QString version = QString{CLIENT_NAME} + " " + tr("version") + " " + QString::fromStdString(FormatFullVersion());
|
||||||
|
|
||||||
if (about)
|
if (about)
|
||||||
{
|
{
|
||||||
setWindowTitle(tr("About %1").arg(PACKAGE_NAME));
|
setWindowTitle(tr("About %1").arg(CLIENT_NAME));
|
||||||
|
|
||||||
std::string licenseInfo = LicenseInfo();
|
std::string licenseInfo = LicenseInfo();
|
||||||
/// HTML-format the license message from the core
|
/// HTML-format the license message from the core
|
||||||
|
@ -141,7 +141,7 @@ ShutdownWindow::ShutdownWindow(QWidget *parent, Qt::WindowFlags f):
|
||||||
{
|
{
|
||||||
QVBoxLayout *layout = new QVBoxLayout();
|
QVBoxLayout *layout = new QVBoxLayout();
|
||||||
layout->addWidget(new QLabel(
|
layout->addWidget(new QLabel(
|
||||||
tr("%1 is shutting down…").arg(PACKAGE_NAME) + "<br /><br />" +
|
tr("%1 is shutting down…").arg(CLIENT_NAME) + "<br /><br />" +
|
||||||
tr("Do not shut down the computer until this window disappears.")));
|
tr("Do not shut down the computer until this window disappears.")));
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
||||||
|
|
|
@ -90,7 +90,7 @@ static NodeContext* GetNodeContext(const std::any& context, HTTPRequest* req)
|
||||||
strprintf("%s:%d (%s)\n"
|
strprintf("%s:%d (%s)\n"
|
||||||
"Internal bug detected: Node context not found!\n"
|
"Internal bug detected: Node context not found!\n"
|
||||||
"You may report this issue here: %s\n",
|
"You may report this issue here: %s\n",
|
||||||
__FILE__, __LINE__, __func__, PACKAGE_BUGREPORT));
|
__FILE__, __LINE__, __func__, CLIENT_BUGREPORT));
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return node_context;
|
return node_context;
|
||||||
|
@ -128,7 +128,7 @@ static ChainstateManager* GetChainman(const std::any& context, HTTPRequest* req)
|
||||||
strprintf("%s:%d (%s)\n"
|
strprintf("%s:%d (%s)\n"
|
||||||
"Internal bug detected: Chainman disabled or instance not found!\n"
|
"Internal bug detected: Chainman disabled or instance not found!\n"
|
||||||
"You may report this issue here: %s\n",
|
"You may report this issue here: %s\n",
|
||||||
__FILE__, __LINE__, __func__, PACKAGE_BUGREPORT));
|
__FILE__, __LINE__, __func__, CLIENT_BUGREPORT));
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return node_context->chainman.get();
|
return node_context->chainman.get();
|
||||||
|
|
|
@ -274,7 +274,7 @@ static RPCHelpMan generatetoaddress()
|
||||||
RPCExamples{
|
RPCExamples{
|
||||||
"\nGenerate 11 blocks to myaddress\n"
|
"\nGenerate 11 blocks to myaddress\n"
|
||||||
+ HelpExampleCli("generatetoaddress", "11 \"myaddress\"")
|
+ HelpExampleCli("generatetoaddress", "11 \"myaddress\"")
|
||||||
+ "If you are using the " PACKAGE_NAME " wallet, you can get a new address to send the newly generated bitcoin to with:\n"
|
+ "If you are using the " CLIENT_NAME " wallet, you can get a new address to send the newly generated bitcoin to with:\n"
|
||||||
+ HelpExampleCli("getnewaddress", "")
|
+ HelpExampleCli("getnewaddress", "")
|
||||||
},
|
},
|
||||||
[&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
|
[&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
|
||||||
|
@ -724,11 +724,11 @@ static RPCHelpMan getblocktemplate()
|
||||||
if (!miner.isTestChain()) {
|
if (!miner.isTestChain()) {
|
||||||
const CConnman& connman = EnsureConnman(node);
|
const CConnman& connman = EnsureConnman(node);
|
||||||
if (connman.GetNodeCount(ConnectionDirection::Both) == 0) {
|
if (connman.GetNodeCount(ConnectionDirection::Both) == 0) {
|
||||||
throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, PACKAGE_NAME " is not connected!");
|
throw JSONRPCError(RPC_CLIENT_NOT_CONNECTED, CLIENT_NAME " is not connected!");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (miner.isInitialBlockDownload()) {
|
if (miner.isInitialBlockDownload()) {
|
||||||
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, PACKAGE_NAME " is in initial sync and waiting for blocks...");
|
throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, CLIENT_NAME " is in initial sync and waiting for blocks...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -154,12 +154,12 @@ static RPCHelpMan help()
|
||||||
|
|
||||||
static RPCHelpMan stop()
|
static RPCHelpMan stop()
|
||||||
{
|
{
|
||||||
static const std::string RESULT{PACKAGE_NAME " stopping"};
|
static const std::string RESULT{CLIENT_NAME " stopping"};
|
||||||
return RPCHelpMan{"stop",
|
return RPCHelpMan{"stop",
|
||||||
// Also accept the hidden 'wait' integer argument (milliseconds)
|
// Also accept the hidden 'wait' integer argument (milliseconds)
|
||||||
// For instance, 'stop 1000' makes the call wait 1 second before returning
|
// For instance, 'stop 1000' makes the call wait 1 second before returning
|
||||||
// to the client (intended for testing)
|
// to the client (intended for testing)
|
||||||
"\nRequest a graceful shutdown of " PACKAGE_NAME ".",
|
"\nRequest a graceful shutdown of " CLIENT_NAME ".",
|
||||||
{
|
{
|
||||||
{"wait", RPCArg::Type::NUM, RPCArg::Optional::OMITTED, "how long to wait in ms", RPCArgOptions{.hidden=true}},
|
{"wait", RPCArg::Type::NUM, RPCArg::Optional::OMITTED, "how long to wait in ms", RPCArgOptions{.hidden=true}},
|
||||||
},
|
},
|
||||||
|
|
|
@ -696,8 +696,8 @@ UniValue RPCHelpMan::HandleRequest(const JSONRPCRequest& request) const
|
||||||
throw std::runtime_error{
|
throw std::runtime_error{
|
||||||
strprintf("Internal bug detected: RPC call \"%s\" returned incorrect type:\n%s\n%s %s\nPlease report this issue here: %s\n",
|
strprintf("Internal bug detected: RPC call \"%s\" returned incorrect type:\n%s\n%s %s\nPlease report this issue here: %s\n",
|
||||||
m_name, explain,
|
m_name, explain,
|
||||||
PACKAGE_NAME, FormatFullVersion(),
|
CLIENT_NAME, FormatFullVersion(),
|
||||||
PACKAGE_BUGREPORT)};
|
CLIENT_BUGREPORT)};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -21,7 +21,7 @@ std::string StrFormatInternalBug(std::string_view msg, std::string_view file, in
|
||||||
return strprintf("Internal bug detected: %s\n%s:%d (%s)\n"
|
return strprintf("Internal bug detected: %s\n%s:%d (%s)\n"
|
||||||
"%s %s\n"
|
"%s %s\n"
|
||||||
"Please report this issue here: %s\n",
|
"Please report this issue here: %s\n",
|
||||||
msg, file, line, func, PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT);
|
msg, file, line, func, CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
|
||||||
}
|
}
|
||||||
|
|
||||||
NonFatalCheckError::NonFatalCheckError(std::string_view msg, std::string_view file, int line, std::string_view func)
|
NonFatalCheckError::NonFatalCheckError(std::string_view msg, std::string_view file, int line, std::string_view func)
|
||||||
|
|
|
@ -3453,7 +3453,7 @@ bool Chainstate::ActivateBestChain(BlockValidationState& state, std::shared_ptr<
|
||||||
// chainstate past the snapshot base block.
|
// chainstate past the snapshot base block.
|
||||||
if (WITH_LOCK(::cs_main, return m_disabled)) {
|
if (WITH_LOCK(::cs_main, return m_disabled)) {
|
||||||
LogPrintf("m_disabled is set - this chainstate should not be in operation. "
|
LogPrintf("m_disabled is set - this chainstate should not be in operation. "
|
||||||
"Please report this as a bug. %s\n", PACKAGE_BUGREPORT);
|
"Please report this as a bug. %s\n", CLIENT_BUGREPORT);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3852,7 +3852,7 @@ void ChainstateManager::ReceivedBlockTransactions(const CBlock& block, CBlockInd
|
||||||
if (!Assume(pindexNew->m_chain_tx_count == 0 || pindexNew->m_chain_tx_count == prev_tx_sum(*pindexNew) ||
|
if (!Assume(pindexNew->m_chain_tx_count == 0 || pindexNew->m_chain_tx_count == prev_tx_sum(*pindexNew) ||
|
||||||
pindexNew == GetSnapshotBaseBlock())) {
|
pindexNew == GetSnapshotBaseBlock())) {
|
||||||
LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n",
|
LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n",
|
||||||
pindexNew->nHeight, pindexNew->m_chain_tx_count, prev_tx_sum(*pindexNew), PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT);
|
pindexNew->nHeight, pindexNew->m_chain_tx_count, prev_tx_sum(*pindexNew), CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
|
||||||
pindexNew->m_chain_tx_count = 0;
|
pindexNew->m_chain_tx_count = 0;
|
||||||
}
|
}
|
||||||
pindexNew->nFile = pos.nFile;
|
pindexNew->nFile = pos.nFile;
|
||||||
|
@ -3880,7 +3880,7 @@ void ChainstateManager::ReceivedBlockTransactions(const CBlock& block, CBlockInd
|
||||||
// incorrect hardcoded AssumeutxoData::m_chain_tx_count value.
|
// incorrect hardcoded AssumeutxoData::m_chain_tx_count value.
|
||||||
if (!Assume(pindex->m_chain_tx_count == 0 || pindex->m_chain_tx_count == prev_tx_sum(*pindex))) {
|
if (!Assume(pindex->m_chain_tx_count == 0 || pindex->m_chain_tx_count == prev_tx_sum(*pindex))) {
|
||||||
LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n",
|
LogWarning("Internal bug detected: block %d has unexpected m_chain_tx_count %i that should be %i (%s %s). Please report this issue here: %s\n",
|
||||||
pindex->nHeight, pindex->m_chain_tx_count, prev_tx_sum(*pindex), PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT);
|
pindex->nHeight, pindex->m_chain_tx_count, prev_tx_sum(*pindex), CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
|
||||||
}
|
}
|
||||||
pindex->m_chain_tx_count = prev_tx_sum(*pindex);
|
pindex->m_chain_tx_count = prev_tx_sum(*pindex);
|
||||||
pindex->nSequenceId = nBlockSequenceId++;
|
pindex->nSequenceId = nBlockSequenceId++;
|
||||||
|
@ -5564,7 +5564,7 @@ double GuessVerificationProgress(const ChainTxData& data, const CBlockIndex *pin
|
||||||
|
|
||||||
if (!Assume(pindex->m_chain_tx_count > 0)) {
|
if (!Assume(pindex->m_chain_tx_count > 0)) {
|
||||||
LogWarning("Internal bug detected: block %d has unset m_chain_tx_count (%s %s). Please report this issue here: %s\n",
|
LogWarning("Internal bug detected: block %d has unset m_chain_tx_count (%s %s). Please report this issue here: %s\n",
|
||||||
pindex->nHeight, PACKAGE_NAME, FormatFullVersion(), PACKAGE_BUGREPORT);
|
pindex->nHeight, CLIENT_NAME, FormatFullVersion(), CLIENT_BUGREPORT);
|
||||||
return 0.0;
|
return 0.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6083,7 +6083,7 @@ SnapshotCompletionResult ChainstateManager::MaybeCompleteSnapshotValidation()
|
||||||
"Please report this incident to %s, including how you obtained the snapshot. "
|
"Please report this incident to %s, including how you obtained the snapshot. "
|
||||||
"The invalid snapshot chainstate will be left on disk in case it is "
|
"The invalid snapshot chainstate will be left on disk in case it is "
|
||||||
"helpful in diagnosing the issue that caused this error."),
|
"helpful in diagnosing the issue that caused this error."),
|
||||||
PACKAGE_NAME, snapshot_tip_height, snapshot_base_height, snapshot_base_height, PACKAGE_BUGREPORT
|
CLIENT_NAME, snapshot_tip_height, snapshot_base_height, snapshot_base_height, CLIENT_BUGREPORT
|
||||||
);
|
);
|
||||||
|
|
||||||
LogError("[snapshot] !!! %s\n", user_error.original);
|
LogError("[snapshot] !!! %s\n", user_error.original);
|
||||||
|
|
|
@ -757,7 +757,7 @@ RPCHelpMan dumpwallet()
|
||||||
std::sort(vKeyBirth.begin(), vKeyBirth.end());
|
std::sort(vKeyBirth.begin(), vKeyBirth.end());
|
||||||
|
|
||||||
// produce output
|
// produce output
|
||||||
file << strprintf("# Wallet dump created by %s %s\n", PACKAGE_NAME, FormatFullVersion());
|
file << strprintf("# Wallet dump created by %s %s\n", CLIENT_NAME, FormatFullVersion());
|
||||||
file << strprintf("# * Created on %s\n", FormatISO8601DateTime(GetTime()));
|
file << strprintf("# * Created on %s\n", FormatISO8601DateTime(GetTime()));
|
||||||
file << strprintf("# * Best block at time of backup was %i (%s),\n", wallet.GetLastBlockHeight(), wallet.GetLastBlockHash().ToString());
|
file << strprintf("# * Best block at time of backup was %i (%s),\n", wallet.GetLastBlockHeight(), wallet.GetLastBlockHash().ToString());
|
||||||
file << strprintf("# mined on %s\n", FormatISO8601DateTime(block_time));
|
file << strprintf("# mined on %s\n", FormatISO8601DateTime(block_time));
|
||||||
|
|
|
@ -282,7 +282,7 @@ void SQLiteDatabase::Open()
|
||||||
// Now begin a transaction to acquire the exclusive lock. This lock won't be released until we close because of the exclusive locking mode.
|
// Now begin a transaction to acquire the exclusive lock. This lock won't be released until we close because of the exclusive locking mode.
|
||||||
int ret = sqlite3_exec(m_db, "BEGIN EXCLUSIVE TRANSACTION", nullptr, nullptr, nullptr);
|
int ret = sqlite3_exec(m_db, "BEGIN EXCLUSIVE TRANSACTION", nullptr, nullptr, nullptr);
|
||||||
if (ret != SQLITE_OK) {
|
if (ret != SQLITE_OK) {
|
||||||
throw std::runtime_error("SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of " PACKAGE_NAME "?\n");
|
throw std::runtime_error("SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of " CLIENT_NAME "?\n");
|
||||||
}
|
}
|
||||||
ret = sqlite3_exec(m_db, "COMMIT", nullptr, nullptr, nullptr);
|
ret = sqlite3_exec(m_db, "COMMIT", nullptr, nullptr, nullptr);
|
||||||
if (ret != SQLITE_OK) {
|
if (ret != SQLITE_OK) {
|
||||||
|
|
|
@ -2495,7 +2495,7 @@ bool CWallet::DelAddressBookWithDB(WalletBatch& batch, const CTxDestination& add
|
||||||
// NOTE: This isn't a problem for sending addresses because they don't have any data that needs to be kept.
|
// NOTE: This isn't a problem for sending addresses because they don't have any data that needs to be kept.
|
||||||
// When adding new address data, it should be considered here whether to retain or delete it.
|
// When adding new address data, it should be considered here whether to retain or delete it.
|
||||||
if (IsMine(address)) {
|
if (IsMine(address)) {
|
||||||
WalletLogPrintf("%s called with IsMine address, NOT SUPPORTED. Please report this bug! %s\n", __func__, PACKAGE_BUGREPORT);
|
WalletLogPrintf("%s called with IsMine address, NOT SUPPORTED. Please report this bug! %s\n", __func__, CLIENT_BUGREPORT);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Delete data rows associated with this address
|
// Delete data rows associated with this address
|
||||||
|
@ -3008,7 +3008,7 @@ std::shared_ptr<CWallet> CWallet::Create(WalletContext& context, const std::stri
|
||||||
walletFile));
|
walletFile));
|
||||||
}
|
}
|
||||||
else if (nLoadWalletRet == DBErrors::TOO_NEW) {
|
else if (nLoadWalletRet == DBErrors::TOO_NEW) {
|
||||||
error = strprintf(_("Error loading %s: Wallet requires newer version of %s"), walletFile, PACKAGE_NAME);
|
error = strprintf(_("Error loading %s: Wallet requires newer version of %s"), walletFile, CLIENT_NAME);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
else if (nLoadWalletRet == DBErrors::EXTERNAL_SIGNER_SUPPORT_REQUIRED) {
|
else if (nLoadWalletRet == DBErrors::EXTERNAL_SIGNER_SUPPORT_REQUIRED) {
|
||||||
|
@ -3017,7 +3017,7 @@ std::shared_ptr<CWallet> CWallet::Create(WalletContext& context, const std::stri
|
||||||
}
|
}
|
||||||
else if (nLoadWalletRet == DBErrors::NEED_REWRITE)
|
else if (nLoadWalletRet == DBErrors::NEED_REWRITE)
|
||||||
{
|
{
|
||||||
error = strprintf(_("Wallet needed to be rewritten: restart %s to complete"), PACKAGE_NAME);
|
error = strprintf(_("Wallet needed to be rewritten: restart %s to complete"), CLIENT_NAME);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
} else if (nLoadWalletRet == DBErrors::NEED_RESCAN) {
|
} else if (nLoadWalletRet == DBErrors::NEED_RESCAN) {
|
||||||
warnings.push_back(strprintf(_("Error reading %s! Transaction data may be missing or incorrect."
|
warnings.push_back(strprintf(_("Error reading %s! Transaction data may be missing or incorrect."
|
||||||
|
|
|
@ -75,10 +75,10 @@ static std::shared_ptr<CWallet> MakeWallet(const std::string& name, const fs::pa
|
||||||
name);
|
name);
|
||||||
} else if (load_wallet_ret == DBErrors::TOO_NEW) {
|
} else if (load_wallet_ret == DBErrors::TOO_NEW) {
|
||||||
tfm::format(std::cerr, "Error loading %s: Wallet requires newer version of %s",
|
tfm::format(std::cerr, "Error loading %s: Wallet requires newer version of %s",
|
||||||
name, PACKAGE_NAME);
|
name, CLIENT_NAME);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
} else if (load_wallet_ret == DBErrors::NEED_REWRITE) {
|
} else if (load_wallet_ret == DBErrors::NEED_REWRITE) {
|
||||||
tfm::format(std::cerr, "Wallet needed to be rewritten: restart %s to complete", PACKAGE_NAME);
|
tfm::format(std::cerr, "Wallet needed to be rewritten: restart %s to complete", CLIENT_NAME);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
} else if (load_wallet_ret == DBErrors::NEED_RESCAN) {
|
} else if (load_wallet_ret == DBErrors::NEED_RESCAN) {
|
||||||
tfm::format(std::cerr, "Error reading %s! Some transaction data might be missing or"
|
tfm::format(std::cerr, "Error reading %s! Some transaction data might be missing or"
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
# test/*/test_runner.py and test/util/rpcauth-test.py
|
# test/*/test_runner.py and test/util/rpcauth-test.py
|
||||||
|
|
||||||
[environment]
|
[environment]
|
||||||
PACKAGE_NAME=@CLIENT_NAME@
|
CLIENT_NAME=@CLIENT_NAME@
|
||||||
PACKAGE_BUGREPORT=@CLIENT_BUGREPORT@
|
CLIENT_BUGREPORT=@CLIENT_BUGREPORT@
|
||||||
SRCDIR=@abs_top_srcdir@
|
SRCDIR=@abs_top_srcdir@
|
||||||
BUILDDIR=@abs_top_builddir@
|
BUILDDIR=@abs_top_builddir@
|
||||||
EXEEXT=@EXEEXT@
|
EXEEXT=@EXEEXT@
|
||||||
|
|
|
@ -54,7 +54,7 @@ class AddrmanTest(BitcoinTestFramework):
|
||||||
peers_dat = os.path.join(self.nodes[0].chain_path, "peers.dat")
|
peers_dat = os.path.join(self.nodes[0].chain_path, "peers.dat")
|
||||||
init_error = lambda reason: (
|
init_error = lambda reason: (
|
||||||
f"Error: Invalid or corrupt peers.dat \\({reason}\\). If you believe this "
|
f"Error: Invalid or corrupt peers.dat \\({reason}\\). If you believe this "
|
||||||
f"is a bug, please report it to {self.config['environment']['PACKAGE_BUGREPORT']}. "
|
f"is a bug, please report it to {self.config['environment']['CLIENT_BUGREPORT']}. "
|
||||||
f'As a workaround, you can move the file \\("{re.escape(peers_dat)}"\\) out of the way \\(rename, '
|
f'As a workaround, you can move the file \\("{re.escape(peers_dat)}"\\) out of the way \\(rename, '
|
||||||
"move, or delete\\) to have a new one created on the next start."
|
"move, or delete\\) to have a new one created on the next start."
|
||||||
)
|
)
|
||||||
|
|
|
@ -30,7 +30,7 @@ class FilelockTest(BitcoinTestFramework):
|
||||||
self.log.info(f"Using datadir {datadir}")
|
self.log.info(f"Using datadir {datadir}")
|
||||||
|
|
||||||
self.log.info("Check that we can't start a second bitcoind instance using the same datadir")
|
self.log.info("Check that we can't start a second bitcoind instance using the same datadir")
|
||||||
expected_msg = f"Error: Cannot obtain a lock on data directory {datadir}. {self.config['environment']['PACKAGE_NAME']} is probably already running."
|
expected_msg = f"Error: Cannot obtain a lock on data directory {datadir}. {self.config['environment']['CLIENT_NAME']} is probably already running."
|
||||||
self.nodes[1].assert_start_raises_init_error(extra_args=[f'-datadir={self.nodes[0].datadir_path}', '-noserver'], expected_msg=expected_msg)
|
self.nodes[1].assert_start_raises_init_error(extra_args=[f'-datadir={self.nodes[0].datadir_path}', '-noserver'], expected_msg=expected_msg)
|
||||||
|
|
||||||
self.log.info("Check that cookie and PID file are not deleted when attempting to start a second bitcoind using the same datadir")
|
self.log.info("Check that cookie and PID file are not deleted when attempting to start a second bitcoind using the same datadir")
|
||||||
|
@ -46,7 +46,7 @@ class FilelockTest(BitcoinTestFramework):
|
||||||
wallet_dir = self.nodes[0].wallets_path
|
wallet_dir = self.nodes[0].wallets_path
|
||||||
self.log.info("Check that we can't start a second bitcoind instance using the same wallet")
|
self.log.info("Check that we can't start a second bitcoind instance using the same wallet")
|
||||||
if descriptors:
|
if descriptors:
|
||||||
expected_msg = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['PACKAGE_NAME']}?"
|
expected_msg = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['CLIENT_NAME']}?"
|
||||||
else:
|
else:
|
||||||
expected_msg = "Error: Error initializing wallet database environment"
|
expected_msg = "Error: Error initializing wallet database environment"
|
||||||
self.nodes[1].assert_start_raises_init_error(extra_args=[f'-walletdir={wallet_dir}', f'-wallet={wallet_name}', '-noserver'], expected_msg=expected_msg, match=ErrorMatch.PARTIAL_REGEX)
|
self.nodes[1].assert_start_raises_init_error(extra_args=[f'-walletdir={wallet_dir}', f'-wallet={wallet_name}', '-noserver'], expected_msg=expected_msg, match=ErrorMatch.PARTIAL_REGEX)
|
||||||
|
|
|
@ -46,7 +46,7 @@ class SettingsTest(BitcoinTestFramework):
|
||||||
|
|
||||||
# Assert default settings file was created
|
# Assert default settings file was created
|
||||||
self.stop_node(0)
|
self.stop_node(0)
|
||||||
default_settings = {"_warning_": f"This file is automatically generated and updated by {self.config['environment']['PACKAGE_NAME']}. Please do not edit this file while the node is running, as any changes might be ignored or overwritten."}
|
default_settings = {"_warning_": f"This file is automatically generated and updated by {self.config['environment']['CLIENT_NAME']}. Please do not edit this file while the node is running, as any changes might be ignored or overwritten."}
|
||||||
with settings.open() as fp:
|
with settings.open() as fp:
|
||||||
assert_equal(json.load(fp), default_settings)
|
assert_equal(json.load(fp), default_settings)
|
||||||
|
|
||||||
|
|
|
@ -375,7 +375,7 @@ class TestBitcoinCli(BitcoinTestFramework):
|
||||||
self.log.info("Test -version with node stopped")
|
self.log.info("Test -version with node stopped")
|
||||||
self.stop_node(0)
|
self.stop_node(0)
|
||||||
cli_response = self.nodes[0].cli('-version').send_cli()
|
cli_response = self.nodes[0].cli('-version').send_cli()
|
||||||
assert f"{self.config['environment']['PACKAGE_NAME']} RPC client version" in cli_response
|
assert f"{self.config['environment']['CLIENT_NAME']} RPC client version" in cli_response
|
||||||
|
|
||||||
self.log.info("Test -rpcwait option successfully waits for RPC connection")
|
self.log.info("Test -rpcwait option successfully waits for RPC connection")
|
||||||
self.nodes[0].start() # start node without RPC connection
|
self.nodes[0].start() # start node without RPC connection
|
||||||
|
|
|
@ -349,7 +349,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||||
self.log.error("Hint: Call {} '{}' to consolidate all logs".format(os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../combine_logs.py"), self.options.tmpdir))
|
self.log.error("Hint: Call {} '{}' to consolidate all logs".format(os.path.normpath(os.path.dirname(os.path.realpath(__file__)) + "/../combine_logs.py"), self.options.tmpdir))
|
||||||
self.log.error("")
|
self.log.error("")
|
||||||
self.log.error("If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.")
|
self.log.error("If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.")
|
||||||
self.log.error(self.config['environment']['PACKAGE_BUGREPORT'])
|
self.log.error(self.config['environment']['CLIENT_BUGREPORT'])
|
||||||
self.log.error("")
|
self.log.error("")
|
||||||
exit_code = TEST_EXIT_FAILED
|
exit_code = TEST_EXIT_FAILED
|
||||||
# Logging.shutdown will not remove stream- and filehandlers, so we must
|
# Logging.shutdown will not remove stream- and filehandlers, so we must
|
||||||
|
|
|
@ -203,7 +203,7 @@ class ToolWalletTest(BitcoinTestFramework):
|
||||||
locked_dir = self.nodes[0].wallets_path
|
locked_dir = self.nodes[0].wallets_path
|
||||||
error = 'Error initializing wallet database environment "{}"!'.format(locked_dir)
|
error = 'Error initializing wallet database environment "{}"!'.format(locked_dir)
|
||||||
if self.options.descriptors:
|
if self.options.descriptors:
|
||||||
error = f"SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['PACKAGE_NAME']}?"
|
error = f"SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['CLIENT_NAME']}?"
|
||||||
self.assert_raises_tool_error(
|
self.assert_raises_tool_error(
|
||||||
error,
|
error,
|
||||||
'-wallet=' + self.default_wallet_name,
|
'-wallet=' + self.default_wallet_name,
|
||||||
|
|
|
@ -204,7 +204,7 @@ class MultiWalletTest(BitcoinTestFramework):
|
||||||
self.restart_node(0, ['-nowallet', '-walletdir=' + competing_wallet_dir])
|
self.restart_node(0, ['-nowallet', '-walletdir=' + competing_wallet_dir])
|
||||||
self.nodes[0].createwallet(self.default_wallet_name)
|
self.nodes[0].createwallet(self.default_wallet_name)
|
||||||
if self.options.descriptors:
|
if self.options.descriptors:
|
||||||
exp_stderr = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['PACKAGE_NAME']}?"
|
exp_stderr = f"Error: SQLiteDatabase: Unable to obtain an exclusive lock on the database, is it being used by another instance of {self.config['environment']['CLIENT_NAME']}?"
|
||||||
else:
|
else:
|
||||||
exp_stderr = r"Error: Error initializing wallet database environment \"\S+competing_walletdir\S*\"!"
|
exp_stderr = r"Error: Error initializing wallet database environment \"\S+competing_walletdir\S*\"!"
|
||||||
self.nodes[1].assert_start_raises_init_error(['-walletdir=' + competing_wallet_dir], exp_stderr, match=ErrorMatch.PARTIAL_REGEX)
|
self.nodes[1].assert_start_raises_init_error(['-walletdir=' + competing_wallet_dir], exp_stderr, match=ErrorMatch.PARTIAL_REGEX)
|
||||||
|
|
Loading…
Reference in a new issue