dummywallet.cpp raw
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 <util/log.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
65