0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-09 10:43:19 -05:00

Merge bitcoin/bitcoin#23842: scripted-diff: Rename interfaces::WalletClient to interfaces::WalletLoader

ff5f6dea53 scripted-diff: Rename interfaces::WalletClient to interfaces::WalletLoader (Russell Yanofsky)

Pull request description:

  Name has been confusing since it was introduced, and it was pointed in recent review club https://bitcoincore.reviews/10102 that it was particularly unclear how `interfaces::WalletClient` was different from `interfaces::Wallet`.

ACKs for top commit:
  w0xlt:
    ACK ff5f6de

Tree-SHA512: 26fa10baa457e76da1933adab187e9be61b8d76cff1cf2c73ad4320461c7e31fb9db07b7c2486998294826beb4a1aca255c14903920b443db6213e653c5f7e0a
This commit is contained in:
MarcoFalke 2021-12-23 15:16:24 +01:00
commit f7367b88e1
No known key found for this signature in database
GPG key ID: CE2B75697E69A548
26 changed files with 62 additions and 62 deletions

View file

@ -12,7 +12,7 @@ namespace interfaces {
class Chain; class Chain;
class Handler; class Handler;
class Wallet; class Wallet;
class WalletClient; class WalletLoader;
} }
class DummyWalletInit : public WalletInitInterface { class DummyWalletInit : public WalletInitInterface {
@ -64,7 +64,7 @@ std::unique_ptr<Wallet> MakeWallet(const std::shared_ptr<CWallet>& wallet)
throw std::logic_error("Wallet function called in non-wallet build."); throw std::logic_error("Wallet function called in non-wallet build.");
} }
std::unique_ptr<WalletClient> MakeWalletClient(Chain& chain, ArgsManager& args) std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager& args)
{ {
throw std::logic_error("Wallet function called in non-wallet build."); throw std::logic_error("Wallet function called in non-wallet build.");
} }

View file

@ -27,9 +27,9 @@ public:
} }
std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); } std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); }
std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); } std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); }
std::unique_ptr<interfaces::WalletClient> makeWalletClient(interfaces::Chain& chain) override std::unique_ptr<interfaces::WalletLoader> makeWalletLoader(interfaces::Chain& chain) override
{ {
return MakeWalletClient(chain, *Assert(m_node.args)); return MakeWalletLoader(chain, *Assert(m_node.args));
} }
std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); } std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); }
interfaces::Ipc* ipc() override { return m_ipc.get(); } interfaces::Ipc* ipc() override { return m_ipc.get(); }

View file

@ -29,9 +29,9 @@ public:
} }
std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); } std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); }
std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); } std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); }
std::unique_ptr<interfaces::WalletClient> makeWalletClient(interfaces::Chain& chain) override std::unique_ptr<interfaces::WalletLoader> makeWalletLoader(interfaces::Chain& chain) override
{ {
return MakeWalletClient(chain, *Assert(m_node.args)); return MakeWalletLoader(chain, *Assert(m_node.args));
} }
std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); } std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); }
interfaces::Ipc* ipc() override { return m_ipc.get(); } interfaces::Ipc* ipc() override { return m_ipc.get(); }

View file

@ -24,9 +24,9 @@ public:
} }
std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); } std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); }
std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); } std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); }
std::unique_ptr<interfaces::WalletClient> makeWalletClient(interfaces::Chain& chain) override std::unique_ptr<interfaces::WalletLoader> makeWalletLoader(interfaces::Chain& chain) override
{ {
return MakeWalletClient(chain, *Assert(m_node.args)); return MakeWalletLoader(chain, *Assert(m_node.args));
} }
std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); } std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); }
NodeContext m_node; NodeContext m_node;

View file

@ -24,9 +24,9 @@ public:
} }
std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); } std::unique_ptr<interfaces::Node> makeNode() override { return interfaces::MakeNode(m_node); }
std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); } std::unique_ptr<interfaces::Chain> makeChain() override { return interfaces::MakeChain(m_node); }
std::unique_ptr<interfaces::WalletClient> makeWalletClient(interfaces::Chain& chain) override std::unique_ptr<interfaces::WalletLoader> makeWalletLoader(interfaces::Chain& chain) override
{ {
return MakeWalletClient(chain, *Assert(m_node.args)); return MakeWalletLoader(chain, *Assert(m_node.args));
} }
std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); } std::unique_ptr<interfaces::Echo> makeEcho() override { return interfaces::MakeEcho(); }
NodeContext& m_node; NodeContext& m_node;

View file

@ -11,7 +11,7 @@
namespace interfaces { namespace interfaces {
std::unique_ptr<Node> Init::makeNode() { return {}; } std::unique_ptr<Node> Init::makeNode() { return {}; }
std::unique_ptr<Chain> Init::makeChain() { return {}; } std::unique_ptr<Chain> Init::makeChain() { return {}; }
std::unique_ptr<WalletClient> Init::makeWalletClient(Chain& chain) { return {}; } std::unique_ptr<WalletLoader> Init::makeWalletLoader(Chain& chain) { return {}; }
std::unique_ptr<Echo> Init::makeEcho() { return {}; } std::unique_ptr<Echo> Init::makeEcho() { return {}; }
Ipc* Init::ipc() { return nullptr; } Ipc* Init::ipc() { return nullptr; }
} // namespace interfaces } // namespace interfaces

View file

@ -14,7 +14,7 @@ class Chain;
class Echo; class Echo;
class Ipc; class Ipc;
class Node; class Node;
class WalletClient; class WalletLoader;
//! Initial interface created when a process is first started, and used to give //! Initial interface created when a process is first started, and used to give
//! and get access to other interfaces (Node, Chain, Wallet, etc). //! and get access to other interfaces (Node, Chain, Wallet, etc).
@ -29,7 +29,7 @@ public:
virtual ~Init() = default; virtual ~Init() = default;
virtual std::unique_ptr<Node> makeNode(); virtual std::unique_ptr<Node> makeNode();
virtual std::unique_ptr<Chain> makeChain(); virtual std::unique_ptr<Chain> makeChain();
virtual std::unique_ptr<WalletClient> makeWalletClient(Chain& chain); virtual std::unique_ptr<WalletLoader> makeWalletLoader(Chain& chain);
virtual std::unique_ptr<Echo> makeEcho(); virtual std::unique_ptr<Echo> makeEcho();
virtual Ipc* ipc(); virtual Ipc* ipc();
}; };

View file

@ -37,7 +37,7 @@ struct bilingual_str;
namespace interfaces { namespace interfaces {
class Handler; class Handler;
class WalletClient; class WalletLoader;
struct BlockTip; struct BlockTip;
//! Block and header tip information //! Block and header tip information
@ -187,8 +187,8 @@ public:
//! Broadcast transaction. //! Broadcast transaction.
virtual TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee, std::string& err_string) = 0; virtual TransactionError broadcastTransaction(CTransactionRef tx, CAmount max_tx_fee, std::string& err_string) = 0;
//! Get wallet client. //! Get wallet loader.
virtual WalletClient& walletClient() = 0; virtual WalletLoader& walletLoader() = 0;
//! Register handler for init messages. //! Register handler for init messages.
using InitMessageFn = std::function<void(const std::string& message)>; using InitMessageFn = std::function<void(const std::string& message)>;
@ -210,7 +210,7 @@ public:
using ShowProgressFn = std::function<void(const std::string& title, int progress, bool resume_possible)>; using ShowProgressFn = std::function<void(const std::string& title, int progress, bool resume_possible)>;
virtual std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) = 0; virtual std::unique_ptr<Handler> handleShowProgress(ShowProgressFn fn) = 0;
//! Register handler for wallet client constructed messages. //! Register handler for wallet loader constructed messages.
using InitWalletFn = std::function<void()>; using InitWalletFn = std::function<void()>;
virtual std::unique_ptr<Handler> handleInitWallet(InitWalletFn fn) = 0; virtual std::unique_ptr<Handler> handleInitWallet(InitWalletFn fn) = 0;

View file

@ -313,7 +313,7 @@ public:
//! Wallet chain client that in addition to having chain client methods for //! Wallet chain client that in addition to having chain client methods for
//! starting up, shutting down, and registering RPCs, also has additional //! starting up, shutting down, and registering RPCs, also has additional
//! methods (called by the GUI) to load and create wallets. //! methods (called by the GUI) to load and create wallets.
class WalletClient : public ChainClient class WalletLoader : public ChainClient
{ {
public: public:
//! Create new wallet. //! Create new wallet.
@ -422,9 +422,9 @@ struct WalletTxOut
//! dummywallet.cpp and throws if the wallet component is not compiled. //! dummywallet.cpp and throws if the wallet component is not compiled.
std::unique_ptr<Wallet> MakeWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet); std::unique_ptr<Wallet> MakeWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet);
//! Return implementation of ChainClient interface for a wallet client. This //! Return implementation of ChainClient interface for a wallet loader. This
//! function will be undefined in builds where ENABLE_WALLET is false. //! function will be undefined in builds where ENABLE_WALLET is false.
std::unique_ptr<WalletClient> MakeWalletClient(Chain& chain, ArgsManager& args); std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager& args);
} // namespace interfaces } // namespace interfaces

View file

@ -23,7 +23,7 @@ namespace interfaces {
class Chain; class Chain;
class ChainClient; class ChainClient;
class Init; class Init;
class WalletClient; class WalletLoader;
} // namespace interfaces } // namespace interfaces
//! NodeContext struct containing references to chain state and connection //! NodeContext struct containing references to chain state and connection
@ -52,7 +52,7 @@ struct NodeContext {
std::vector<std::unique_ptr<interfaces::ChainClient>> chain_clients; std::vector<std::unique_ptr<interfaces::ChainClient>> chain_clients;
//! Reference to chain client that should used to load or create wallets //! Reference to chain client that should used to load or create wallets
//! opened by the gui. //! opened by the gui.
interfaces::WalletClient* wallet_client{nullptr}; interfaces::WalletLoader* wallet_loader{nullptr};
std::unique_ptr<CScheduler> scheduler; std::unique_ptr<CScheduler> scheduler;
std::function<void()> rpc_interruption_point = [] {}; std::function<void()> rpc_interruption_point = [] {};

View file

@ -63,7 +63,7 @@ using interfaces::FoundBlock;
using interfaces::Handler; using interfaces::Handler;
using interfaces::MakeHandler; using interfaces::MakeHandler;
using interfaces::Node; using interfaces::Node;
using interfaces::WalletClient; using interfaces::WalletLoader;
namespace node { namespace node {
namespace { namespace {
@ -280,9 +280,9 @@ public:
{ {
return BroadcastTransaction(*m_context, std::move(tx), err_string, max_tx_fee, /*relay=*/ true, /*wait_callback=*/ false); return BroadcastTransaction(*m_context, std::move(tx), err_string, max_tx_fee, /*relay=*/ true, /*wait_callback=*/ false);
} }
WalletClient& walletClient() override WalletLoader& walletLoader() override
{ {
return *Assert(m_context->wallet_client); return *Assert(m_context->wallet_loader);
} }
std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override std::unique_ptr<Handler> handleInitMessage(InitMessageFn fn) override
{ {

View file

@ -82,7 +82,7 @@ public:
/** Progress message during initialization. */ /** Progress message during initialization. */
ADD_SIGNALS_DECL_WRAPPER(InitMessage, void, const std::string& message); ADD_SIGNALS_DECL_WRAPPER(InitMessage, void, const std::string& message);
/** Wallet client created. */ /** Wallet loader created. */
ADD_SIGNALS_DECL_WRAPPER(InitWallet, void, ); ADD_SIGNALS_DECL_WRAPPER(InitWallet, void, );
/** Number of network connections changed. */ /** Number of network connections changed. */

View file

@ -1242,7 +1242,7 @@ void BitcoinGUI::incomingTransaction(const QString& date, int unit, const CAmoun
// On new transaction, make an info balloon // On new transaction, make an info balloon
QString msg = tr("Date: %1\n").arg(date) + QString msg = tr("Date: %1\n").arg(date) +
tr("Amount: %1\n").arg(BitcoinUnits::formatWithUnit(unit, amount, true)); tr("Amount: %1\n").arg(BitcoinUnits::formatWithUnit(unit, amount, true));
if (m_node.walletClient().getWallets().size() > 1 && !walletName.isEmpty()) { if (m_node.walletLoader().getWallets().size() > 1 && !walletName.isEmpty()) {
msg += tr("Wallet: %1\n").arg(walletName); msg += tr("Wallet: %1\n").arg(walletName);
} }
msg += tr("Type: %1\n").arg(type); msg += tr("Type: %1\n").arg(type);

View file

@ -201,7 +201,7 @@ void SplashScreen::handleLoadWallet()
{ {
#ifdef ENABLE_WALLET #ifdef ENABLE_WALLET
if (!WalletModel::isWalletEnabled()) return; if (!WalletModel::isWalletEnabled()) return;
m_handler_load_wallet = m_node->walletClient().handleLoadWallet([this](std::unique_ptr<interfaces::Wallet> wallet) { m_handler_load_wallet = m_node->walletLoader().handleLoadWallet([this](std::unique_ptr<interfaces::Wallet> wallet) {
m_connected_wallet_handlers.emplace_back(wallet->handleShowProgress(std::bind(ShowProgress, this, std::placeholders::_1, std::placeholders::_2, false))); m_connected_wallet_handlers.emplace_back(wallet->handleShowProgress(std::bind(ShowProgress, this, std::placeholders::_1, std::placeholders::_2, false)));
m_connected_wallets.emplace_back(std::move(wallet)); m_connected_wallets.emplace_back(std::move(wallet));
}); });

View file

@ -60,8 +60,8 @@ void EditAddressAndSubmit(
void TestAddAddressesToSendBook(interfaces::Node& node) void TestAddAddressesToSendBook(interfaces::Node& node)
{ {
TestChain100Setup test; TestChain100Setup test;
auto wallet_client = interfaces::MakeWalletClient(*test.m_node.chain, *Assert(test.m_node.args)); auto wallet_loader = interfaces::MakeWalletLoader(*test.m_node.chain, *Assert(test.m_node.args));
test.m_node.wallet_client = wallet_client.get(); test.m_node.wallet_loader = wallet_loader.get();
node.setContext(&test.m_node); node.setContext(&test.m_node);
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", gArgs, CreateMockWalletDatabase()); const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", gArgs, CreateMockWalletDatabase());
wallet->LoadWallet(); wallet->LoadWallet();
@ -115,7 +115,7 @@ void TestAddAddressesToSendBook(interfaces::Node& node)
std::unique_ptr<const PlatformStyle> platformStyle(PlatformStyle::instantiate("other")); std::unique_ptr<const PlatformStyle> platformStyle(PlatformStyle::instantiate("other"));
OptionsModel optionsModel; OptionsModel optionsModel;
ClientModel clientModel(node, &optionsModel); ClientModel clientModel(node, &optionsModel);
WalletContext& context = *node.walletClient().context(); WalletContext& context = *node.walletLoader().context();
AddWallet(context, wallet); AddWallet(context, wallet);
WalletModel walletModel(interfaces::MakeWallet(context, wallet), clientModel, platformStyle.get()); WalletModel walletModel(interfaces::MakeWallet(context, wallet), clientModel, platformStyle.get());
RemoveWallet(context, wallet, /* load_on_start= */ std::nullopt); RemoveWallet(context, wallet, /* load_on_start= */ std::nullopt);

View file

@ -138,8 +138,8 @@ void TestGUI(interfaces::Node& node)
for (int i = 0; i < 5; ++i) { for (int i = 0; i < 5; ++i) {
test.CreateAndProcessBlock({}, GetScriptForRawPubKey(test.coinbaseKey.GetPubKey())); test.CreateAndProcessBlock({}, GetScriptForRawPubKey(test.coinbaseKey.GetPubKey()));
} }
auto wallet_client = interfaces::MakeWalletClient(*test.m_node.chain, *Assert(test.m_node.args)); auto wallet_loader = interfaces::MakeWalletLoader(*test.m_node.chain, *Assert(test.m_node.args));
test.m_node.wallet_client = wallet_client.get(); test.m_node.wallet_loader = wallet_loader.get();
node.setContext(&test.m_node); node.setContext(&test.m_node);
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", gArgs, CreateMockWalletDatabase()); const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", gArgs, CreateMockWalletDatabase());
wallet->LoadWallet(); wallet->LoadWallet();
@ -175,7 +175,7 @@ void TestGUI(interfaces::Node& node)
TransactionView transactionView(platformStyle.get()); TransactionView transactionView(platformStyle.get());
OptionsModel optionsModel; OptionsModel optionsModel;
ClientModel clientModel(node, &optionsModel); ClientModel clientModel(node, &optionsModel);
WalletContext& context = *node.walletClient().context(); WalletContext& context = *node.walletLoader().context();
AddWallet(context, wallet); AddWallet(context, wallet);
WalletModel walletModel(interfaces::MakeWallet(context, wallet), clientModel, platformStyle.get()); WalletModel walletModel(interfaces::MakeWallet(context, wallet), clientModel, platformStyle.get());
RemoveWallet(context, wallet, /* load_on_start= */ std::nullopt); RemoveWallet(context, wallet, /* load_on_start= */ std::nullopt);

View file

@ -37,7 +37,7 @@ WalletController::WalletController(ClientModel& client_model, const PlatformStyl
, m_platform_style(platform_style) , m_platform_style(platform_style)
, m_options_model(client_model.getOptionsModel()) , m_options_model(client_model.getOptionsModel())
{ {
m_handler_load_wallet = m_node.walletClient().handleLoadWallet([this](std::unique_ptr<interfaces::Wallet> wallet) { m_handler_load_wallet = m_node.walletLoader().handleLoadWallet([this](std::unique_ptr<interfaces::Wallet> wallet) {
getOrCreateWallet(std::move(wallet)); getOrCreateWallet(std::move(wallet));
}); });
@ -61,7 +61,7 @@ std::map<std::string, bool> WalletController::listWalletDir() const
{ {
QMutexLocker locker(&m_mutex); QMutexLocker locker(&m_mutex);
std::map<std::string, bool> wallets; std::map<std::string, bool> wallets;
for (const std::string& name : m_node.walletClient().listWalletDir()) { for (const std::string& name : m_node.walletLoader().listWalletDir()) {
wallets[name] = false; wallets[name] = false;
} }
for (WalletModel* wallet_model : m_wallets) { for (WalletModel* wallet_model : m_wallets) {
@ -255,7 +255,7 @@ void CreateWalletActivity::createWallet()
} }
QTimer::singleShot(500, worker(), [this, name, flags] { QTimer::singleShot(500, worker(), [this, name, flags] {
std::unique_ptr<interfaces::Wallet> wallet = node().walletClient().createWallet(name, m_passphrase, flags, m_error_message, m_warning_message); std::unique_ptr<interfaces::Wallet> wallet = node().walletLoader().createWallet(name, m_passphrase, flags, m_error_message, m_warning_message);
if (wallet) m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet)); if (wallet) m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet));
@ -336,7 +336,7 @@ void OpenWalletActivity::open(const std::string& path)
tr("Opening Wallet <b>%1</b>…").arg(name.toHtmlEscaped())); tr("Opening Wallet <b>%1</b>…").arg(name.toHtmlEscaped()));
QTimer::singleShot(0, worker(), [this, path] { QTimer::singleShot(0, worker(), [this, path] {
std::unique_ptr<interfaces::Wallet> wallet = node().walletClient().loadWallet(path, m_error_message, m_warning_message); std::unique_ptr<interfaces::Wallet> wallet = node().walletLoader().loadWallet(path, m_error_message, m_warning_message);
if (wallet) m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet)); if (wallet) m_wallet_model = m_wallet_controller->getOrCreateWallet(std::move(wallet));
@ -359,7 +359,7 @@ void LoadWalletsActivity::load()
tr("Loading wallets…")); tr("Loading wallets…"));
QTimer::singleShot(0, worker(), [this] { QTimer::singleShot(0, worker(), [this] {
for (auto& wallet : node().walletClient().getWallets()) { for (auto& wallet : node().walletLoader().getWallets()) {
m_wallet_controller->getOrCreateWallet(std::move(wallet)); m_wallet_controller->getOrCreateWallet(std::move(wallet));
} }

View file

@ -583,7 +583,7 @@ QString WalletModel::getDisplayName() const
bool WalletModel::isMultiwallet() bool WalletModel::isMultiwallet()
{ {
return m_node.walletClient().getWallets().size() > 1; return m_node.walletLoader().getWallets().size() > 1;
} }
void WalletModel::refresh(bool pk_hash_only) void WalletModel::refresh(bool pk_hash_only)

View file

@ -130,7 +130,7 @@ void WalletInit::Construct(NodeContext& node) const
LogPrintf("Wallet disabled!\n"); LogPrintf("Wallet disabled!\n");
return; return;
} }
auto wallet_client = node.init->makeWalletClient(*node.chain); auto wallet_loader = node.init->makeWalletLoader(*node.chain);
node.wallet_client = wallet_client.get(); node.wallet_loader = wallet_loader.get();
node.chain_clients.emplace_back(std::move(wallet_client)); node.chain_clients.emplace_back(std::move(wallet_loader));
} }

View file

@ -40,7 +40,7 @@ using interfaces::MakeHandler;
using interfaces::Wallet; using interfaces::Wallet;
using interfaces::WalletAddress; using interfaces::WalletAddress;
using interfaces::WalletBalances; using interfaces::WalletBalances;
using interfaces::WalletClient; using interfaces::WalletLoader;
using interfaces::WalletOrderForm; using interfaces::WalletOrderForm;
using interfaces::WalletTx; using interfaces::WalletTx;
using interfaces::WalletTxOut; using interfaces::WalletTxOut;
@ -510,15 +510,15 @@ public:
std::shared_ptr<CWallet> m_wallet; std::shared_ptr<CWallet> m_wallet;
}; };
class WalletClientImpl : public WalletClient class WalletLoaderImpl : public WalletLoader
{ {
public: public:
WalletClientImpl(Chain& chain, ArgsManager& args) WalletLoaderImpl(Chain& chain, ArgsManager& args)
{ {
m_context.chain = &chain; m_context.chain = &chain;
m_context.args = &args; m_context.args = &args;
} }
~WalletClientImpl() override { UnloadWallets(m_context); } ~WalletLoaderImpl() override { UnloadWallets(m_context); }
//! ChainClient methods //! ChainClient methods
void registerRpcs() override void registerRpcs() override
@ -539,7 +539,7 @@ public:
void stop() override { return StopWallets(m_context); } void stop() override { return StopWallets(m_context); }
void setMockTime(int64_t time) override { return SetMockTime(time); } void setMockTime(int64_t time) override { return SetMockTime(time); }
//! WalletClient methods //! WalletLoader methods
std::unique_ptr<Wallet> createWallet(const std::string& name, const SecureString& passphrase, uint64_t wallet_creation_flags, bilingual_str& error, std::vector<bilingual_str>& warnings) override std::unique_ptr<Wallet> createWallet(const std::string& name, const SecureString& passphrase, uint64_t wallet_creation_flags, bilingual_str& error, std::vector<bilingual_str>& warnings) override
{ {
std::shared_ptr<CWallet> wallet; std::shared_ptr<CWallet> wallet;
@ -600,8 +600,8 @@ public:
namespace interfaces { namespace interfaces {
std::unique_ptr<Wallet> MakeWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet) { return wallet ? std::make_unique<wallet::WalletImpl>(context, wallet) : nullptr; } std::unique_ptr<Wallet> MakeWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet) { return wallet ? std::make_unique<wallet::WalletImpl>(context, wallet) : nullptr; }
std::unique_ptr<WalletClient> MakeWalletClient(Chain& chain, ArgsManager& args) std::unique_ptr<WalletLoader> MakeWalletLoader(Chain& chain, ArgsManager& args)
{ {
return std::make_unique<wallet::WalletClientImpl>(chain, args); return std::make_unique<wallet::WalletLoaderImpl>(chain, args);
} }
} // namespace interfaces } // namespace interfaces

View file

@ -11,7 +11,7 @@
InitWalletDirTestingSetup::InitWalletDirTestingSetup(const std::string& chainName) : BasicTestingSetup(chainName) InitWalletDirTestingSetup::InitWalletDirTestingSetup(const std::string& chainName) : BasicTestingSetup(chainName)
{ {
m_wallet_client = MakeWalletClient(*m_node.chain, *Assert(m_node.args)); m_wallet_loader = MakeWalletLoader(*m_node.chain, *Assert(m_node.args));
std::string sep; std::string sep;
sep += fs::path::preferred_separator; sep += fs::path::preferred_separator;

View file

@ -19,7 +19,7 @@ struct InitWalletDirTestingSetup: public BasicTestingSetup {
fs::path m_datadir; fs::path m_datadir;
fs::path m_cwd; fs::path m_cwd;
std::map<std::string, fs::path> m_walletdir_path_cases; std::map<std::string, fs::path> m_walletdir_path_cases;
std::unique_ptr<interfaces::WalletClient> m_wallet_client; std::unique_ptr<interfaces::WalletLoader> m_wallet_loader;
}; };
#endif // BITCOIN_WALLET_TEST_INIT_TEST_FIXTURE_H #endif // BITCOIN_WALLET_TEST_INIT_TEST_FIXTURE_H

View file

@ -15,7 +15,7 @@ BOOST_FIXTURE_TEST_SUITE(init_tests, InitWalletDirTestingSetup)
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default) BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default)
{ {
SetWalletDir(m_walletdir_path_cases["default"]); SetWalletDir(m_walletdir_path_cases["default"]);
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == true); BOOST_CHECK(result == true);
fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", "")); fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", ""));
fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]); fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
@ -25,7 +25,7 @@ BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_default)
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_custom) BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_custom)
{ {
SetWalletDir(m_walletdir_path_cases["custom"]); SetWalletDir(m_walletdir_path_cases["custom"]);
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == true); BOOST_CHECK(result == true);
fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", "")); fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", ""));
fs::path expected_path = fs::canonical(m_walletdir_path_cases["custom"]); fs::path expected_path = fs::canonical(m_walletdir_path_cases["custom"]);
@ -37,7 +37,7 @@ BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_does_not_exist)
SetWalletDir(m_walletdir_path_cases["nonexistent"]); SetWalletDir(m_walletdir_path_cases["nonexistent"]);
{ {
ASSERT_DEBUG_LOG("does not exist"); ASSERT_DEBUG_LOG("does not exist");
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == false); BOOST_CHECK(result == false);
} }
} }
@ -47,7 +47,7 @@ BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_directory)
SetWalletDir(m_walletdir_path_cases["file"]); SetWalletDir(m_walletdir_path_cases["file"]);
{ {
ASSERT_DEBUG_LOG("is not a directory"); ASSERT_DEBUG_LOG("is not a directory");
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == false); BOOST_CHECK(result == false);
} }
} }
@ -57,7 +57,7 @@ BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_relative)
SetWalletDir(m_walletdir_path_cases["relative"]); SetWalletDir(m_walletdir_path_cases["relative"]);
{ {
ASSERT_DEBUG_LOG("is a relative path"); ASSERT_DEBUG_LOG("is a relative path");
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == false); BOOST_CHECK(result == false);
} }
} }
@ -65,7 +65,7 @@ BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_is_not_relative)
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing) BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing)
{ {
SetWalletDir(m_walletdir_path_cases["trailing"]); SetWalletDir(m_walletdir_path_cases["trailing"]);
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == true); BOOST_CHECK(result == true);
fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", "")); fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", ""));
fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]); fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);
@ -75,7 +75,7 @@ BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing)
BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing2) BOOST_AUTO_TEST_CASE(walletinit_verify_walletdir_no_trailing2)
{ {
SetWalletDir(m_walletdir_path_cases["trailing2"]); SetWalletDir(m_walletdir_path_cases["trailing2"]);
bool result = m_wallet_client->verify(); bool result = m_wallet_loader->verify();
BOOST_CHECK(result == true); BOOST_CHECK(result == true);
fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", "")); fs::path walletdir = fs::PathFromString(gArgs.GetArg("-walletdir", ""));
fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]); fs::path expected_path = fs::canonical(m_walletdir_path_cases["default"]);

View file

@ -12,7 +12,7 @@ WalletTestingSetup::WalletTestingSetup(const std::string& chainName)
{ {
m_wallet.LoadWallet(); m_wallet.LoadWallet();
m_chain_notifications_handler = m_node.chain->handleNotifications({ &m_wallet, [](CWallet*) {} }); m_chain_notifications_handler = m_node.chain->handleNotifications({ &m_wallet, [](CWallet*) {} });
m_wallet_client->registerRpcs(); m_wallet_loader->registerRpcs();
} }
WalletTestingSetup::~WalletTestingSetup() WalletTestingSetup::~WalletTestingSetup()

View file

@ -21,7 +21,7 @@ struct WalletTestingSetup : public TestingSetup {
explicit WalletTestingSetup(const std::string& chainName = CBaseChainParams::MAIN); explicit WalletTestingSetup(const std::string& chainName = CBaseChainParams::MAIN);
~WalletTestingSetup(); ~WalletTestingSetup();
std::unique_ptr<interfaces::WalletClient> m_wallet_client = interfaces::MakeWalletClient(*m_node.chain, *Assert(m_node.args)); std::unique_ptr<interfaces::WalletLoader> m_wallet_loader = interfaces::MakeWalletLoader(*m_node.chain, *Assert(m_node.args));
CWallet m_wallet; CWallet m_wallet;
std::unique_ptr<interfaces::Handler> m_chain_notifications_handler; std::unique_ptr<interfaces::Handler> m_chain_notifications_handler;
}; };

View file

@ -48,7 +48,7 @@ struct bilingual_str;
//! Explicitly unload and delete the wallet. //! Explicitly unload and delete the wallet.
//! Blocks the current thread after signaling the unload intent so that all //! Blocks the current thread after signaling the unload intent so that all
//! wallet clients release the wallet. //! wallet pointer owners release the wallet.
//! Note that, when blocking is not required, the wallet is implicitly unloaded //! Note that, when blocking is not required, the wallet is implicitly unloaded
//! by the shared pointer deleter. //! by the shared pointer deleter.
void UnloadWallet(std::shared_ptr<CWallet>&& wallet); void UnloadWallet(std::shared_ptr<CWallet>&& wallet);