14
14
15
15
#include < optional>
16
16
17
- static void WalletBalance (benchmark::Bench& bench, const bool set_dirty, const bool add_watchonly, const bool add_mine)
17
+ static void WalletBalance (benchmark::Bench& bench, const bool set_dirty, const bool add_mine)
18
18
{
19
19
const auto test_setup = MakeNoLogFileContext<const TestingSetup>();
20
20
21
21
const auto & ADDRESS_WATCHONLY = ADDRESS_BCRT1_UNSPENDABLE;
22
22
23
23
CWallet wallet{test_setup->m_node .chain .get (), " " , CreateMockWalletDatabase ()};
24
24
{
25
- wallet.SetupLegacyScriptPubKeyMan ();
25
+ LOCK (wallet.cs_wallet );
26
+ wallet.SetWalletFlag (WALLET_FLAG_DESCRIPTORS);
27
+ wallet.SetupDescriptorScriptPubKeyMans ();
26
28
if (wallet.LoadWallet () != DBErrors::LOAD_OK) assert (false );
27
29
}
28
30
auto handler = test_setup->m_node .chain ->handleNotifications ({&wallet, [](CWallet*) {}});
29
31
30
32
const std::optional<std::string> address_mine{add_mine ? std::optional<std::string>{getnewaddress (wallet)} : std::nullopt};
31
- if (add_watchonly) importaddress (wallet, ADDRESS_WATCHONLY);
32
33
33
34
for (int i = 0 ; i < 100 ; ++i) {
34
35
generatetoaddress (test_setup->m_node , address_mine.value_or (ADDRESS_WATCHONLY));
@@ -42,14 +43,13 @@ static void WalletBalance(benchmark::Bench& bench, const bool set_dirty, const b
42
43
if (set_dirty) wallet.MarkDirty ();
43
44
bal = GetBalance (wallet);
44
45
if (add_mine) assert (bal.m_mine_trusted > 0 );
45
- if (add_watchonly) assert (bal.m_watchonly_trusted > 0 );
46
46
});
47
47
}
48
48
49
- static void WalletBalanceDirty (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ true , /* add_watchonly */ true , /* add_mine */ true ); }
50
- static void WalletBalanceClean (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ false , /* add_watchonly */ true , /* add_mine */ true ); }
51
- static void WalletBalanceMine (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ false , /* add_watchonly */ false , /* add_mine */ true ); }
52
- static void WalletBalanceWatch (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ false , /* add_watchonly */ true , /* add_mine */ false ); }
49
+ static void WalletBalanceDirty (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ true , /* add_mine */ true ); }
50
+ static void WalletBalanceClean (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ false , /* add_mine */ true ); }
51
+ static void WalletBalanceMine (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ false , /* add_mine */ true ); }
52
+ static void WalletBalanceWatch (benchmark::Bench& bench) { WalletBalance (bench, /* set_dirty */ false , /* add_mine */ false ); }
53
53
54
54
BENCHMARK (WalletBalanceDirty);
55
55
BENCHMARK (WalletBalanceClean);
0 commit comments