dummywallet.cpp
1 // Copyright (c) 2018-present 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 { LogInfo("No wallet support compiled in!"); } 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 "-signer=<cmd>", 42 "-spendzeroconfchange", 43 "-txconfirmtarget=<n>", 44 "-wallet=<path>", 45 "-walletbroadcast", 46 "-walletdir=<dir>", 47 "-walletnotify=<cmd>", 48 "-walletrbf", 49 "-walletrejectlongchains", 50 "-walletcrosschain", 51 "-unsafesqlitesync", 52 }); 53 } 54 55 const WalletInitInterface& g_wallet_init_interface = DummyWalletInit(); 56 57 namespace interfaces { 58 59 std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager& args) 60 { 61 throw std::logic_error("Wallet function called in non-wallet build."); 62 } 63 64 } // namespace interfaces