dummywallet.cpp
1 // Copyright (c) 2018-2021 The Bitcoin Core developers 2 // Distributed under the MIT software license, see the accompanying 3 // file COPYING or http://www.opensource.org/licenses/mit-license.php. 4 5 #include <common/args.h> 6 #include <logging.h> 7 #include <walletinitinterface.h> 8 9 class ArgsManager; 10 11 namespace interfaces { 12 class Chain; 13 class Handler; 14 class Wallet; 15 class WalletLoader; 16 } 17 18 class DummyWalletInit : public WalletInitInterface { 19 public: 20 21 bool HasWalletSupport() const override {return false;} 22 void AddWalletOptions(ArgsManager& argsman) const override; 23 bool ParameterInteraction() const override {return true;} 24 void Construct(node::NodeContext& node) const override {LogPrintf("No wallet support compiled in!\n");} 25 }; 26 27 void DummyWalletInit::AddWalletOptions(ArgsManager& argsman) const 28 { 29 argsman.AddHiddenArgs({ 30 "-addresstype", 31 "-avoidpartialspends", 32 "-changetype", 33 "-consolidatefeerate=<amt>", 34 "-disablewallet", 35 "-discardfee=<amt>", 36 "-fallbackfee=<amt>", 37 "-keypool=<n>", 38 "-maxapsfee=<n>", 39 "-maxtxfee=<amt>", 40 "-mintxfee=<amt>", 41 "-paytxfee=<amt>", 42 "-signer=<cmd>", 43 "-spendzeroconfchange", 44 "-txconfirmtarget=<n>", 45 "-wallet=<path>", 46 "-walletbroadcast", 47 "-walletdir=<dir>", 48 "-walletnotify=<cmd>", 49 "-walletrbf", 50 "-dblogsize=<n>", 51 "-flushwallet", 52 "-privdb", 53 "-walletrejectlongchains", 54 "-walletcrosschain", 55 "-unsafesqlitesync", 56 }); 57 } 58 59 const WalletInitInterface& g_wallet_init_interface = DummyWalletInit(); 60 61 namespace interfaces { 62 63 std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager& args) 64 { 65 throw std::logic_error("Wallet function called in non-wallet build."); 66 } 67 68 } // namespace interfaces