LCOV - code coverage report
Current view: top level - src/wallet - walletutil.cpp (source / functions) Hit Total Coverage
Test: total_coverage.info Lines: 14 21 66.7 %
Date: 2026-06-25 07:23:43 Functions: 2 3 66.7 %

          Line data    Source code
       1             : // Copyright (c) 2017-2021 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/walletutil.h>
       6             : 
       7             : #include <logging.h>
       8             : #include <util/system.h>
       9             : 
      10             : namespace wallet {
      11        5905 : fs::path GetWalletDir()
      12             : {
      13        5905 :     fs::path path;
      14             : 
      15        5905 :     if (gArgs.IsArgSet("-walletdir")) {
      16          60 :         path = gArgs.GetPathArg("-walletdir");
      17          60 :         if (!fs::is_directory(path)) {
      18             :             // If the path specified doesn't exist, we return the deliberately
      19             :             // invalid empty string.
      20           0 :             path = "";
      21           0 :         }
      22          60 :     } else {
      23        5845 :         path = gArgs.GetDataDirNet();
      24             :         // If a wallets directory exists, use that, otherwise default to GetDataDir
      25        5845 :         if (fs::is_directory(path / "wallets")) {
      26        4285 :             path /= "wallets";
      27        4285 :         }
      28             :     }
      29             : 
      30        5905 :     return path;
      31        5905 : }
      32             : 
      33       42909 : bool IsFeatureSupported(int wallet_version, int feature_version)
      34             : {
      35       42909 :     return wallet_version >= feature_version;
      36             : }
      37             : 
      38           0 : WalletFeature GetClosestWalletFeature(int version)
      39             : {
      40             :     static constexpr std::array wallet_features{FEATURE_LATEST, FEATURE_HD, FEATURE_COMPRPUBKEY, FEATURE_WALLETCRYPT, FEATURE_BASE};
      41           0 :     for (const WalletFeature& wf : wallet_features) {
      42           0 :         if (version >= wf) return wf;
      43             :     }
      44           0 :     return static_cast<WalletFeature>(0);
      45           0 : }
      46             : } // namespace wallet

Generated by: LCOV version 1.16