Bitcoin Core 28.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
11namespace wallet {
13 : TestingSetup(chainType),
14 m_wallet_loader{interfaces::MakeWalletLoader(*m_node.chain, *Assert(m_node.args))},
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:42
ArgsManager & args
Definition: bitcoind.cpp:277
ChainType
Definition: chaintype.h:11
#define Assert(val)
Identity function.
Definition: check.h:85
A CWallet maintains a set of transactions and balances, and provides the ability to create new transa...
Definition: wallet.h:300
DBErrors LoadWallet()
Definition: wallet.cpp:2363
std::unique_ptr< WalletLoader > MakeWalletLoader(Chain &chain, ArgsManager &args)
Return implementation of ChainClient interface for a wallet loader.
Definition: dummywallet.cpp:64
std::unique_ptr< WalletDatabase > CreateMockableWalletDatabase(MockableData records)
Definition: util.cpp:186
node::NodeContext m_node
Definition: setup_common.h:65
Testing setup that configures a complete environment.
Definition: setup_common.h:120
std::unique_ptr< CScheduler > scheduler
Definition: context.h:83
std::unique_ptr< interfaces::Chain > chain
Definition: context.h:76
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:564