Changeset View
Changeset View
Standalone View
Standalone View
src/dummywallet.cpp
// Copyright (c) 2018 The Bitcoin Core developers | // Copyright (c) 2018 The Bitcoin Core developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
#include <logging.h> | #include <logging.h> | ||||
#include <util/system.h> | #include <util/system.h> | ||||
#include <walletinitinterface.h> | #include <walletinitinterface.h> | ||||
class CWallet; | |||||
class DummyWalletInit : public WalletInitInterface { | class DummyWalletInit : public WalletInitInterface { | ||||
public: | public: | ||||
bool HasWalletSupport() const override { return false; } | bool HasWalletSupport() const override { return false; } | ||||
void AddWalletOptions() const override; | void AddWalletOptions() const override; | ||||
bool ParameterInteraction() const override { return true; } | bool ParameterInteraction() const override { return true; } | ||||
void Construct(InitInterfaces &interfaces) const override { | void Construct(InitInterfaces &interfaces) const override { | ||||
LogPrintf("No wallet support compiled in!\n"); | LogPrintf("No wallet support compiled in!\n"); | ||||
} | } | ||||
}; | }; | ||||
void DummyWalletInit::AddWalletOptions() const { | void DummyWalletInit::AddWalletOptions() const { | ||||
std::vector<std::string> opts = { | std::vector<std::string> opts = { | ||||
"-avoidpartialspends", "-disablewallet", "-fallbackfee=<amt>", | "-avoidpartialspends", "-disablewallet", "-fallbackfee=<amt>", | ||||
"-keypool=<n>", "-maxtxfee=<amt>", "-mintxfee=<amt>", "-paytxfee=<amt>", | "-keypool=<n>", "-maxtxfee=<amt>", "-mintxfee=<amt>", "-paytxfee=<amt>", | ||||
"-rescan", "-salvagewallet", "-spendzeroconfchange", "-upgradewallet", | "-rescan", "-salvagewallet", "-spendzeroconfchange", "-upgradewallet", | ||||
"-wallet=<path>", "-walletbroadcast", "-walletdir=<dir>", | "-wallet=<path>", "-walletbroadcast", "-walletdir=<dir>", | ||||
"-walletnotify=<cmd>", "-zapwallettxes=<mode>", | "-walletnotify=<cmd>", "-zapwallettxes=<mode>", | ||||
// Wallet debug options | // Wallet debug options | ||||
"-dblogsize=<n>", "-flushwallet", "-privdb", "-walletrejectlongchains"}; | "-dblogsize=<n>", "-flushwallet", "-privdb", "-walletrejectlongchains"}; | ||||
gArgs.AddHiddenArgs(opts); | gArgs.AddHiddenArgs(opts); | ||||
} | } | ||||
const WalletInitInterface &g_wallet_init_interface = DummyWalletInit(); | const WalletInitInterface &g_wallet_init_interface = DummyWalletInit(); | ||||
std::vector<std::shared_ptr<CWallet>> GetWallets() { | |||||
throw std::logic_error("Wallet function called in non-wallet build."); | |||||
} | |||||
namespace interfaces { | |||||
class Wallet; | |||||
std::unique_ptr<Wallet> MakeWallet(const std::shared_ptr<CWallet> &wallet) { | |||||
throw std::logic_error("Wallet function called in non-wallet build."); | |||||
} | |||||
} // namespace interfaces |