dummywallet.cpp raw
1 // Copyright (c) 2018-2021 The Limenka 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 "-walletimplicitsegwit",
49 "-walletnotify=<cmd>",
50 "-walletrbf",
51 "-dblogsize=<n>",
52 "-flushwallet",
53 "-privdb",
54 "-walletrejectlongchains",
55 "-walletcrosschain",
56 "-unsafesqlitesync",
57 "-swapbdbendian",
58 });
59 }
60
61 const WalletInitInterface& g_wallet_init_interface = DummyWalletInit();
62
63 namespace interfaces {
64
65 std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager& args)
66 {
67 throw std::logic_error("Wallet function called in non-wallet build.");
68 }
69
70 } // namespace interfaces
71