LCOV - code coverage report
Current view: top level - src - walletinitinterface.h (source / functions) Hit Total Coverage
Test: test_dash_coverage.info Lines: 0 1 0.0 %
Date: 2026-06-25 07:23:51 Functions: 1 4 25.0 %

          Line data    Source code
       1             : // Copyright (c) 2017-2020 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             : #ifndef BITCOIN_WALLETINITINTERFACE_H
       6             : #define BITCOIN_WALLETINITINTERFACE_H
       7             : 
       8             : class ArgsManager;
       9             : namespace interfaces {
      10             : class WalletLoader;
      11             : namespace CoinJoin {
      12             : class Loader;
      13             : } // namespace CoinJoin
      14             : } // namespace interfaces
      15             : namespace node {
      16             : struct NodeContext;
      17             : } // namespace node
      18             : 
      19             : class WalletInitInterface {
      20             : public:
      21             :     /** Is the wallet component enabled */
      22             :     virtual bool HasWalletSupport() const = 0;
      23             :     /** Get wallet help string */
      24             :     virtual void AddWalletOptions(ArgsManager& argsman) const = 0;
      25             :     /** Check wallet parameter interaction */
      26             :     virtual bool ParameterInteraction() const = 0;
      27             :     /** Add wallets that should be opened to list of chain clients. */
      28             :     virtual void Construct(node::NodeContext& node) const = 0;
      29             : 
      30             :     // Dash Specific WalletInitInterface
      31             :     virtual void AutoLockMasternodeCollaterals(interfaces::WalletLoader& wallet_loader) const = 0;
      32             :     virtual void InitCoinJoinSettings(interfaces::CoinJoin::Loader& coinjoin_loader, interfaces::WalletLoader& wallet_loader) const = 0;
      33             :     virtual void InitAutoBackup() const = 0;
      34             : 
      35           0 :     virtual ~WalletInitInterface() {}
      36             : };
      37             : 
      38             : extern const WalletInitInterface& g_wallet_init_interface;
      39             : 
      40             : #endif // BITCOIN_WALLETINITINTERFACE_H

Generated by: LCOV version 1.16