Bitcoin ABC 0.30.5
P2P Digital Currency
wallet_test_fixture.cpp
Go to the documentation of this file.
1// Copyright (c) 2016 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
6
7#include <chainparams.h>
8#include <scheduler.h>
10#include <wallet/rpc/backup.h>
11
12WalletTestingSetup::WalletTestingSetup(const std::string &chainName)
13 : TestingSetup(chainName), m_wallet_client{interfaces::MakeWalletClient(
14 *m_node.chain, *Assert(m_node.args))},
15 m_wallet(m_node.chain.get(), "", CreateMockWalletDatabase()) {
16 bool fFirstRun;
17 m_wallet.LoadWallet(fFirstRun);
19 m_node.chain->handleNotifications({&m_wallet, [](CWallet *) {}});
20 m_wallet_client->registerRpcs();
21}
22
24 if (m_node.scheduler) {
25 m_node.scheduler->stop();
26 }
27}
#define Assert(val)
Identity function.
Definition: check.h:84
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition: wallet.h:254
DBErrors LoadWallet(bool &fFirstRunRet)
Definition: wallet.cpp:2171
std::unique_ptr< WalletClient > MakeWalletClient(Chain &chain, ArgsManager &args)
Return implementation of ChainClient interface for a wallet client.
Definition: interfaces.cpp:581
NodeContext & m_node
Definition: interfaces.cpp:785
WalletTestingSetup(const std::string &chainName=CBaseChainParams::MAIN)
std::unique_ptr< interfaces::Handler > m_chain_notifications_handler
std::unique_ptr< interfaces::WalletClient > m_wallet_client
std::shared_ptr< CWallet > m_wallet
Definition: interfaces.cpp:475
std::unique_ptr< WalletDatabase > CreateMockWalletDatabase()
Return object for accessing temporary in-memory database.
Definition: walletdb.cpp:1175