Merge #14168: Remove ENABLE_WALLET from libbitcoin_server.a
7d038dcb41
[build] remove ENABLE_WALLET ifdef from httprpc.cpp (John Newbery)3076556cd0
[build] Move dummy wallet into its own .cpp file. (John Newbery) Pull request description: This removes the final instances of ENABLE_WALLET in libbitcoin_server and so completes #7965. Tree-SHA512: a49128b7c17f4f69940d5843e6b785f08687efb377b5157d5b267d1205e596eb5c1966f1afb8ab36bcc2491c46252099e3e844c91f5623da8ded2e358d46338d
This commit is contained in:
commit
4103cc3169
7 changed files with 51 additions and 37 deletions
|
@ -260,6 +260,10 @@ libbitcoin_server_a_SOURCES = \
|
|||
versionbits.cpp \
|
||||
$(BITCOIN_CORE_H)
|
||||
|
||||
if !ENABLE_WALLET
|
||||
libbitcoin_server_a_SOURCES += dummywallet.cpp
|
||||
endif
|
||||
|
||||
if ENABLE_ZMQ
|
||||
libbitcoin_zmq_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(ZMQ_CFLAGS)
|
||||
libbitcoin_zmq_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
|
|
33
src/dummywallet.cpp
Normal file
33
src/dummywallet.cpp
Normal file
|
@ -0,0 +1,33 @@
|
|||
// Copyright (c) 2018 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 <stdio.h>
|
||||
#include <util.h>
|
||||
#include <walletinitinterface.h>
|
||||
|
||||
class DummyWalletInit : public WalletInitInterface {
|
||||
public:
|
||||
|
||||
bool HasWalletSupport() const override {return false;}
|
||||
void AddWalletOptions() const override;
|
||||
bool ParameterInteraction() const override {return true;}
|
||||
void RegisterRPC(CRPCTable &) const override {}
|
||||
bool Verify() const override {return true;}
|
||||
bool Open() const override {LogPrintf("No wallet support compiled in!\n"); return true;}
|
||||
void Start(CScheduler& scheduler) const override {}
|
||||
void Flush() const override {}
|
||||
void Stop() const override {}
|
||||
void Close() const override {}
|
||||
};
|
||||
|
||||
void DummyWalletInit::AddWalletOptions() const
|
||||
{
|
||||
std::vector<std::string> opts = {"-addresstype", "-changetype", "-disablewallet", "-discardfee=<amt>", "-fallbackfee=<amt>",
|
||||
"-keypool=<n>", "-mintxfee=<amt>", "-paytxfee=<amt>", "-rescan", "-salvagewallet", "-spendzeroconfchange", "-txconfirmtarget=<n>",
|
||||
"-upgradewallet", "-wallet=<path>", "-walletbroadcast", "-walletdir=<dir>", "-walletnotify=<cmd>", "-walletrbf", "-zapwallettxes=<mode>",
|
||||
"-dblogsize=<n>", "-flushwallet", "-privdb", "-walletrejectlongchains"};
|
||||
gArgs.AddHiddenArgs(opts);
|
||||
}
|
||||
|
||||
const WalletInitInterface& g_wallet_init_interface = DummyWalletInit();
|
|
@ -14,6 +14,7 @@
|
|||
#include <util.h>
|
||||
#include <utilstrencodings.h>
|
||||
#include <ui_interface.h>
|
||||
#include <walletinitinterface.h>
|
||||
#include <crypto/hmac_sha256.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
@ -240,10 +241,9 @@ bool StartHTTPRPC()
|
|||
return false;
|
||||
|
||||
RegisterHTTPHandler("/", true, HTTPReq_JSONRPC);
|
||||
#ifdef ENABLE_WALLET
|
||||
// ifdef can be removed once we switch to better endpoint support and API versioning
|
||||
RegisterHTTPHandler("/wallet/", false, HTTPReq_JSONRPC);
|
||||
#endif
|
||||
if (g_wallet_init_interface.HasWalletSupport()) {
|
||||
RegisterHTTPHandler("/wallet/", false, HTTPReq_JSONRPC);
|
||||
}
|
||||
struct event_base* eventBase = EventBase();
|
||||
assert(eventBase);
|
||||
httpRPCTimerInterface = MakeUnique<HTTPRPCTimerInterface>(eventBase);
|
||||
|
@ -260,9 +260,9 @@ void StopHTTPRPC()
|
|||
{
|
||||
LogPrint(BCLog::RPC, "Stopping HTTP RPC server\n");
|
||||
UnregisterHTTPHandler("/", true);
|
||||
#ifdef ENABLE_WALLET
|
||||
UnregisterHTTPHandler("/wallet/", false);
|
||||
#endif
|
||||
if (g_wallet_init_interface.HasWalletSupport()) {
|
||||
UnregisterHTTPHandler("/wallet/", false);
|
||||
}
|
||||
if (httpRPCTimerInterface) {
|
||||
RPCUnsetTimerInterface(httpRPCTimerInterface.get());
|
||||
httpRPCTimerInterface.reset();
|
||||
|
|
27
src/init.cpp
27
src/init.cpp
|
@ -74,33 +74,6 @@ static const bool DEFAULT_STOPAFTERBLOCKIMPORT = false;
|
|||
std::unique_ptr<CConnman> g_connman;
|
||||
std::unique_ptr<PeerLogicValidation> peerLogic;
|
||||
|
||||
#if !(ENABLE_WALLET)
|
||||
class DummyWalletInit : public WalletInitInterface {
|
||||
public:
|
||||
|
||||
void AddWalletOptions() const override;
|
||||
bool ParameterInteraction() const override {return true;}
|
||||
void RegisterRPC(CRPCTable &) const override {}
|
||||
bool Verify() const override {return true;}
|
||||
bool Open() const override {LogPrintf("No wallet support compiled in!\n"); return true;}
|
||||
void Start(CScheduler& scheduler) const override {}
|
||||
void Flush() const override {}
|
||||
void Stop() const override {}
|
||||
void Close() const override {}
|
||||
};
|
||||
|
||||
void DummyWalletInit::AddWalletOptions() const
|
||||
{
|
||||
std::vector<std::string> opts = {"-addresstype", "-changetype", "-disablewallet", "-discardfee=<amt>", "-fallbackfee=<amt>",
|
||||
"-keypool=<n>", "-mintxfee=<amt>", "-paytxfee=<amt>", "-rescan", "-salvagewallet", "-spendzeroconfchange", "-txconfirmtarget=<n>",
|
||||
"-upgradewallet", "-wallet=<path>", "-walletbroadcast", "-walletdir=<dir>", "-walletnotify=<cmd>", "-walletrbf", "-zapwallettxes=<mode>",
|
||||
"-dblogsize=<n>", "-flushwallet", "-privdb", "-walletrejectlongchains"};
|
||||
gArgs.AddHiddenArgs(opts);
|
||||
}
|
||||
|
||||
const WalletInitInterface& g_wallet_init_interface = DummyWalletInit();
|
||||
#endif
|
||||
|
||||
#ifdef WIN32
|
||||
// Win32 LevelDB doesn't use filedescriptors, and the ones used for
|
||||
// accessing block files don't count towards the fd_set size limit
|
||||
|
|
|
@ -13,9 +13,6 @@
|
|||
class CScheduler;
|
||||
class CWallet;
|
||||
|
||||
class WalletInitInterface;
|
||||
extern const WalletInitInterface& g_wallet_init_interface;
|
||||
|
||||
namespace boost
|
||||
{
|
||||
class thread_group;
|
||||
|
|
|
@ -19,6 +19,9 @@
|
|||
class WalletInit : public WalletInitInterface {
|
||||
public:
|
||||
|
||||
//! Was the wallet component compiled in.
|
||||
bool HasWalletSupport() const override {return true;}
|
||||
|
||||
//! Return the wallets help message.
|
||||
void AddWalletOptions() const override;
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ class CRPCTable;
|
|||
|
||||
class WalletInitInterface {
|
||||
public:
|
||||
/** Is the wallet component enabled */
|
||||
virtual bool HasWalletSupport() const = 0;
|
||||
/** Get wallet help string */
|
||||
virtual void AddWalletOptions() const = 0;
|
||||
/** Check wallet parameter interaction */
|
||||
|
@ -34,4 +36,6 @@ public:
|
|||
virtual ~WalletInitInterface() {}
|
||||
};
|
||||
|
||||
extern const WalletInitInterface& g_wallet_init_interface;
|
||||
|
||||
#endif // BITCOIN_WALLETINITINTERFACE_H
|
||||
|
|
Loading…
Add table
Reference in a new issue