// Copyright (c) 2018-2021 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 class ArgsManager; namespace interfaces { class Chain; class Handler; class Wallet; class WalletLoader; } class DummyWalletInit : public WalletInitInterface { public: bool HasWalletSupport() const override {return false;} void AddWalletOptions(ArgsManager& argsman) const override; bool ParameterInteraction() const override {return true;} void Construct(node::NodeContext& node) const override {LogPrintf("No wallet support compiled in!\n");} }; void DummyWalletInit::AddWalletOptions(ArgsManager& argsman) const { argsman.AddHiddenArgs({ "-addresstype", "-avoidpartialspends", "-changetype", "-consolidatefeerate=", "-disablewallet", "-discardfee=", "-fallbackfee=", "-keypool=", "-maxapsfee=", "-maxtxfee=", "-mintxfee=", "-paytxfee=", "-signer=", "-spendzeroconfchange", "-txconfirmtarget=", "-wallet=", "-walletbroadcast", "-walletdir=", "-walletnotify=", "-walletrbf", "-dblogsize=", "-flushwallet", "-privdb", "-walletrejectlongchains", "-unsafesqlitesync", }); } const WalletInitInterface& g_wallet_init_interface = DummyWalletInit(); namespace interfaces { std::unique_ptr MakeWalletLoader(Chain& chain, ArgsManager& args) { throw std::logic_error("Wallet function called in non-wallet build."); } } // namespace interfaces