Bitcoin Core  27.99.0
P2P Digital Currency
wallet_test_fixture.cpp
Go to the documentation of this file.
1 // Copyright (c) 2016-2022 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 <wallet/test/util.h>
7 
8 #include <scheduler.h>
9 #include <util/chaintype.h>
10 
11 namespace wallet {
13  : TestingSetup(chainType),
14  m_wallet_loader{interfaces::MakeWalletLoader(*m_node.chain, *Assert(m_node.args))},
15  m_wallet(m_node.chain.get(), "", CreateMockableWalletDatabase())
16 {
18  m_chain_notifications_handler = m_node.chain->handleNotifications({ &m_wallet, [](CWallet*) {} });
19  m_wallet_loader->registerRpcs();
20 }
21 
23 {
24  if (m_node.scheduler) m_node.scheduler->stop();
25 }
26 } // namespace wallet
node::NodeContext m_node
Definition: bitcoin-gui.cpp:37
ArgsManager & args
Definition: bitcoind.cpp:268
ChainType
Definition: chaintype.h:11
#define Assert(val)
Identity function.
Definition: check.h:77
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition: wallet.h:301
DBErrors LoadWallet()
Definition: wallet.cpp:2341
std::unique_ptr< WalletLoader > MakeWalletLoader(Chain &chain, ArgsManager &args)
Return implementation of ChainClient interface for a wallet loader.
Definition: dummywallet.cpp:63
std::unique_ptr< WalletDatabase > CreateMockableWalletDatabase(MockableData records)
Definition: util.cpp:190
node::NodeContext m_node
Definition: setup_common.h:54
Testing setup that configures a complete environment.
Definition: setup_common.h:83
std::unique_ptr< CScheduler > scheduler
Definition: context.h:72
std::unique_ptr< interfaces::Chain > chain
Definition: context.h:66
std::unique_ptr< interfaces::WalletLoader > m_wallet_loader
std::unique_ptr< interfaces::Handler > m_chain_notifications_handler
WalletTestingSetup(const ChainType chainType=ChainType::MAIN)
std::shared_ptr< CWallet > m_wallet
Definition: interfaces.cpp:562