// Copyright (c) 2018 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
#include
#include
class CWallet;
namespace interfaces {
class Chain;
}
class DummyWalletInit : public WalletInitInterface {
public:
bool HasWalletSupport() const override {return false;}
void AddWalletOptions() const override;
bool ParameterInteraction() const override {return true;}
void Construct(InitInterfaces& interfaces) const override {LogPrintf("No wallet support compiled in!\n");}
};
void DummyWalletInit::AddWalletOptions() const
{
std::vector opts = {
"-addresstype",
"-avoidpartialspends",
"-changetype",
"-disablewallet",
"-discardfee=",
"-fallbackfee=",
"-keypool=",
"-mintxfee=",
"-paytxfee=",
"-rescan",
"-salvagewallet",
"-spendzeroconfchange",
"-txconfirmtarget=",
"-upgradewallet",
"-wallet=",
"-walletbroadcast",
"-walletdir=",
"-walletnotify=",
"-walletrbf",
"-zapwallettxes=",
"-dblogsize=",
"-flushwallet",
"-privdb",
"-walletrejectlongchains",
};
gArgs.AddHiddenArgs(opts);
}
const WalletInitInterface& g_wallet_init_interface = DummyWalletInit();
fs::path GetWalletDir()
{
throw std::logic_error("Wallet function called in non-wallet build.");
}
std::vector ListWalletDir()
{
throw std::logic_error("Wallet function called in non-wallet build.");
}
std::vector> GetWallets()
{
throw std::logic_error("Wallet function called in non-wallet build.");
}
std::shared_ptr LoadWallet(interfaces::Chain& chain, const std::string& name, std::string& error, std::string& warning)
{
throw std::logic_error("Wallet function called in non-wallet build.");
}
namespace interfaces {
class Wallet;
std::unique_ptr MakeWallet(const std::shared_ptr& wallet)
{
throw std::logic_error("Wallet function called in non-wallet build.");
}
} // namespace interfaces