refactor: Move all command dependend checks to ExecuteWalletToolFunc

This commit is contained in:
MarcoFalke 2021-01-21 13:59:49 +01:00
parent fa06bce4ac
commit 7777105a24
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548
3 changed files with 9 additions and 13 deletions

View File

@ -111,17 +111,9 @@ int main(int argc, char* argv[])
return EXIT_FAILURE; return EXIT_FAILURE;
} }
// A name must be provided when creating a file
if (method == "create" && !args.IsArgSet("-wallet")) {
tfm::format(std::cerr, "Wallet name must be provided when creating a new wallet.\n");
return EXIT_FAILURE;
}
std::string name = args.GetArg("-wallet", "");
ECCVerifyHandle globalVerifyHandle; ECCVerifyHandle globalVerifyHandle;
ECC_Start(); ECC_Start();
if (!WalletTool::ExecuteWalletToolFunc(args, method, name)) { if (!WalletTool::ExecuteWalletToolFunc(args, method)) {
return EXIT_FAILURE; return EXIT_FAILURE;
} }
ECC_Stop(); ECC_Stop();

View File

@ -103,10 +103,8 @@ static void WalletShowInfo(CWallet* wallet_instance)
tfm::format(std::cout, "Address Book: %zu\n", wallet_instance->m_address_book.size()); tfm::format(std::cout, "Address Book: %zu\n", wallet_instance->m_address_book.size());
} }
bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string& command, const std::string& name) bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string& command)
{ {
const fs::path path = fsbridge::AbsPathJoin(GetWalletDir(), name);
if (args.IsArgSet("-format") && command != "createfromdump") { if (args.IsArgSet("-format") && command != "createfromdump") {
tfm::format(std::cerr, "The -format option can only be used with the \"createfromdump\" command.\n"); tfm::format(std::cerr, "The -format option can only be used with the \"createfromdump\" command.\n");
return false; return false;
@ -119,6 +117,12 @@ bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string& command,
tfm::format(std::cerr, "The -descriptors option can only be used with the 'create' command.\n"); tfm::format(std::cerr, "The -descriptors option can only be used with the 'create' command.\n");
return false; return false;
} }
if (command == "create" && !args.IsArgSet("-wallet")) {
tfm::format(std::cerr, "Wallet name must be provided when creating a new wallet.\n");
return false;
}
const std::string name = args.GetArg("-wallet", "");
const fs::path path = fsbridge::AbsPathJoin(GetWalletDir(), name);
if (command == "create") { if (command == "create") {
DatabaseOptions options; DatabaseOptions options;

View File

@ -10,7 +10,7 @@
namespace WalletTool { namespace WalletTool {
void WalletShowInfo(CWallet* wallet_instance); void WalletShowInfo(CWallet* wallet_instance);
bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string& command, const std::string& file); bool ExecuteWalletToolFunc(const ArgsManager& args, const std::string& command);
} // namespace WalletTool } // namespace WalletTool