mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 23:29:12 +01:00
Merge bitcoin/bitcoin#26889: refactor: wallet, remove global 'ArgsManager' dependency
52f4d567d6refactor: remove <util/system.h> include from wallet.h (furszy)6c9b342c30refactor: wallet, remove global 'ArgsManager' access (furszy)d8f5fc4462wallet: set '-walletnotify' script instead of access global args manager (furszy)3477a28dd3wallet: set keypool_size instead of access global args manager (furszy) Pull request description: Structurally, the wallet class shouldn't access the global `ArgsManager` class, its internal behavior shouldn't be coupled to a global command line args parsing object. So this PR migrates the only two places where we depend on it: (1) the keypool size, and (2) the "-walletnotify" script. And cleans up the, now unneeded, wallet `ArgsManager` ref member. Extra note: In the process of removing the args ref member, discovered and fixed files that were invalidly depending on the wallet header including `util/system.h`. ACKs for top commit: achow101: ACK52f4d567d6TheCharlatan: Re-ACK52f4d567d6hebasto: re-ACK52f4d567d6Tree-SHA512: 0cffd99b4dd4864bf618aa45aeaabbef2b6441d27b6dbb03489c4e013330877682ff17b418d07aa25fbe1040bdf2c67d7559bdeb84128c5437bf0e6247719016
This commit is contained in:
@@ -294,7 +294,7 @@ BOOST_AUTO_TEST_CASE(bnb_search_test)
|
||||
coin_selection_params_bnb.m_subtract_fee_outputs = true;
|
||||
|
||||
{
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -316,7 +316,7 @@ BOOST_AUTO_TEST_CASE(bnb_search_test)
|
||||
}
|
||||
|
||||
{
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -339,7 +339,7 @@ BOOST_AUTO_TEST_CASE(bnb_search_test)
|
||||
BOOST_CHECK(result10);
|
||||
}
|
||||
{
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -404,7 +404,7 @@ BOOST_AUTO_TEST_CASE(knapsack_solver_test)
|
||||
FastRandomContext rand{};
|
||||
const auto temp1{[&rand](std::vector<OutputGroup>& g, const CAmount& v, CAmount c) { return KnapsackSolver(g, v, c, rand); }};
|
||||
const auto KnapsackSolver{temp1};
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -714,7 +714,7 @@ BOOST_AUTO_TEST_CASE(knapsack_solver_test)
|
||||
BOOST_AUTO_TEST_CASE(ApproximateBestSubset)
|
||||
{
|
||||
FastRandomContext rand{};
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -736,7 +736,7 @@ BOOST_AUTO_TEST_CASE(ApproximateBestSubset)
|
||||
// Tests that with the ideal conditions, the coin selector will always be able to find a solution that can pay the target value
|
||||
BOOST_AUTO_TEST_CASE(SelectCoins_test)
|
||||
{
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -921,9 +921,9 @@ BOOST_AUTO_TEST_CASE(effective_value_test)
|
||||
BOOST_CHECK_EQUAL(output5.GetEffectiveValue(), nValue); // The effective value should be equal to the absolute value if input_bytes is -1
|
||||
}
|
||||
|
||||
static util::Result<SelectionResult> select_coins(const CAmount& target, const CoinSelectionParams& cs_params, const CCoinControl& cc, std::function<CoinsResult(CWallet&)> coin_setup, interfaces::Chain* chain, const ArgsManager& args)
|
||||
static util::Result<SelectionResult> select_coins(const CAmount& target, const CoinSelectionParams& cs_params, const CCoinControl& cc, std::function<CoinsResult(CWallet&)> coin_setup, interfaces::Chain* chain)
|
||||
{
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(chain, "", args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(chain, "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -984,7 +984,7 @@ BOOST_AUTO_TEST_CASE(check_max_weight)
|
||||
add_coin(available_coins, wallet, CAmount(50 * COIN), CFeeRate(0), 144, false, 0, true);
|
||||
return available_coins;
|
||||
},
|
||||
chain, m_args);
|
||||
chain);
|
||||
|
||||
BOOST_CHECK(result);
|
||||
BOOST_CHECK(has_coin(result->GetInputSet(), CAmount(50 * COIN)));
|
||||
@@ -1009,7 +1009,7 @@ BOOST_AUTO_TEST_CASE(check_max_weight)
|
||||
}
|
||||
return available_coins;
|
||||
},
|
||||
chain, m_args);
|
||||
chain);
|
||||
|
||||
BOOST_CHECK(has_coin(result->GetInputSet(), CAmount(0.0625 * COIN)));
|
||||
BOOST_CHECK(has_coin(result->GetInputSet(), CAmount(0.025 * COIN)));
|
||||
@@ -1030,7 +1030,7 @@ BOOST_AUTO_TEST_CASE(check_max_weight)
|
||||
}
|
||||
return available_coins;
|
||||
},
|
||||
chain, m_args);
|
||||
chain);
|
||||
|
||||
// No results
|
||||
// 1515 inputs * 68 bytes = 103,020 bytes
|
||||
@@ -1045,7 +1045,7 @@ BOOST_AUTO_TEST_CASE(SelectCoins_effective_value_test)
|
||||
// This test creates a coin whose value is higher than the target but whose effective value is lower than the target.
|
||||
// The coin is selected using coin control, with m_allow_other_inputs = false. SelectCoins should fail due to insufficient funds.
|
||||
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> wallet = std::make_unique<CWallet>(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
wallet->LoadWallet();
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -1053,7 +1053,7 @@ BOOST_AUTO_TEST_CASE(SelectCoins_effective_value_test)
|
||||
|
||||
CoinsResult available_coins;
|
||||
{
|
||||
std::unique_ptr<CWallet> dummyWallet = std::make_unique<CWallet>(m_node.chain.get(), "dummy", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> dummyWallet = std::make_unique<CWallet>(m_node.chain.get(), "dummy", CreateMockWalletDatabase());
|
||||
dummyWallet->LoadWallet();
|
||||
LOCK(dummyWallet->cs_wallet);
|
||||
dummyWallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
@@ -1094,7 +1094,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_coinsresult_test, BasicTestingSetup)
|
||||
// Test case to verify CoinsResult object sanity.
|
||||
CoinsResult available_coins;
|
||||
{
|
||||
std::unique_ptr<CWallet> dummyWallet = std::make_unique<CWallet>(m_node.chain.get(), "dummy", m_args, CreateMockWalletDatabase());
|
||||
std::unique_ptr<CWallet> dummyWallet = std::make_unique<CWallet>(m_node.chain.get(), "dummy", CreateMockWalletDatabase());
|
||||
BOOST_CHECK_EQUAL(dummyWallet->LoadWallet(), DBErrors::LOAD_OK);
|
||||
LOCK(dummyWallet->cs_wallet);
|
||||
dummyWallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
|
||||
@@ -55,7 +55,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PK compressed - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
scriptPubKey = GetScriptForRawPubKey(pubkeys[0]);
|
||||
@@ -74,7 +74,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PK compressed - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "pk(" + EncodeSecret(keys[0]) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -86,7 +86,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PK uncompressed - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
scriptPubKey = GetScriptForRawPubKey(uncompressedPubkey);
|
||||
@@ -105,7 +105,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PK uncompressed - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "pk(" + EncodeSecret(uncompressedKey) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -117,7 +117,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PKH compressed - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
scriptPubKey = GetScriptForDestination(PKHash(pubkeys[0]));
|
||||
@@ -136,7 +136,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PKH compressed - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "pkh(" + EncodeSecret(keys[0]) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -148,7 +148,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PKH uncompressed - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
scriptPubKey = GetScriptForDestination(PKHash(uncompressedPubkey));
|
||||
@@ -167,7 +167,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2PKH uncompressed - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "pkh(" + EncodeSecret(uncompressedKey) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -179,7 +179,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2SH - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -206,7 +206,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2SH - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "sh(pkh(" + EncodeSecret(keys[0]) + "))";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -219,7 +219,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// (P2PKH inside) P2SH inside P2SH (invalid) - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -238,7 +238,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// (P2PKH inside) P2SH inside P2SH (invalid) - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "sh(sh(" + EncodeSecret(keys[0]) + "))";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, false);
|
||||
@@ -247,7 +247,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// (P2PKH inside) P2SH inside P2WSH (invalid) - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -266,7 +266,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// (P2PKH inside) P2SH inside P2WSH (invalid) - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "wsh(sh(" + EncodeSecret(keys[0]) + "))";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, false);
|
||||
@@ -275,7 +275,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WPKH inside P2WSH (invalid) - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -292,7 +292,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WPKH inside P2WSH (invalid) - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "wsh(wpkh(" + EncodeSecret(keys[0]) + "))";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, false);
|
||||
@@ -301,7 +301,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// (P2PKH inside) P2WSH inside P2WSH (invalid) - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -320,7 +320,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// (P2PKH inside) P2WSH inside P2WSH (invalid) - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "wsh(wsh(" + EncodeSecret(keys[0]) + "))";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, false);
|
||||
@@ -329,7 +329,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WPKH compressed - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(keys[0]));
|
||||
@@ -345,7 +345,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WPKH compressed - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "wpkh(" + EncodeSecret(keys[0]) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -357,7 +357,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WPKH uncompressed - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(uncompressedKey));
|
||||
@@ -378,7 +378,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WPKH uncompressed (invalid) - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "wpkh(" + EncodeSecret(uncompressedKey) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, false);
|
||||
@@ -387,7 +387,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// scriptPubKey multisig - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -422,7 +422,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// scriptPubKey multisig - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
std::string desc_str = "multi(2, " + EncodeSecret(uncompressedKey) + ", " + EncodeSecret(keys[1]) + ")";
|
||||
|
||||
auto spk_manager = CreateDescriptor(keystore, desc_str, true);
|
||||
@@ -434,7 +434,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2SH multisig - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(uncompressedKey));
|
||||
@@ -457,7 +457,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2SH multisig - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
std::string desc_str = "sh(multi(2, " + EncodeSecret(uncompressedKey) + ", " + EncodeSecret(keys[1]) + "))";
|
||||
|
||||
@@ -471,7 +471,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WSH multisig with compressed keys - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(keys[0]));
|
||||
@@ -500,7 +500,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WSH multisig with compressed keys - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
std::string desc_str = "wsh(multi(2, " + EncodeSecret(keys[0]) + ", " + EncodeSecret(keys[1]) + "))";
|
||||
|
||||
@@ -514,7 +514,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WSH multisig with uncompressed key - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(uncompressedKey));
|
||||
@@ -543,7 +543,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WSH multisig with uncompressed key (invalid) - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
std::string desc_str = "wsh(multi(2, " + EncodeSecret(uncompressedKey) + ", " + EncodeSecret(keys[1]) + "))";
|
||||
|
||||
@@ -553,7 +553,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WSH multisig wrapped in P2SH - Legacy
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
|
||||
@@ -583,7 +583,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// P2WSH multisig wrapped in P2SH - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
std::string desc_str = "sh(wsh(multi(2, " + EncodeSecret(keys[0]) + ", " + EncodeSecret(keys[1]) + ")))";
|
||||
|
||||
@@ -598,7 +598,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// Combo - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
std::string desc_str = "combo(" + EncodeSecret(keys[0]) + ")";
|
||||
|
||||
@@ -642,7 +642,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// Taproot - Descriptor
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
std::string desc_str = "tr(" + EncodeSecret(keys[0]) + ")";
|
||||
|
||||
@@ -660,7 +660,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// OP_RETURN
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(keys[0]));
|
||||
@@ -675,7 +675,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// witness unspendable
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(keys[0]));
|
||||
@@ -690,7 +690,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// witness unknown
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(keys[0]));
|
||||
@@ -705,7 +705,7 @@ BOOST_AUTO_TEST_CASE(ismine_standard)
|
||||
|
||||
// Nonstandard
|
||||
{
|
||||
CWallet keystore(chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet keystore(chain.get(), "", CreateDummyWalletDatabase());
|
||||
keystore.SetupLegacyScriptPubKeyMan();
|
||||
LOCK(keystore.GetLegacyScriptPubKeyMan()->cs_KeyStore);
|
||||
BOOST_CHECK(keystore.GetLegacyScriptPubKeyMan()->AddKey(keys[0]));
|
||||
|
||||
@@ -18,7 +18,7 @@ BOOST_FIXTURE_TEST_SUITE(scriptpubkeyman_tests, BasicTestingSetup)
|
||||
BOOST_AUTO_TEST_CASE(CanProvide)
|
||||
{
|
||||
// Set up wallet and keyman variables.
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet wallet(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
LegacyScriptPubKeyMan& keyman = *wallet.GetOrCreateLegacyScriptPubKeyMan();
|
||||
|
||||
// Make a 1 of 2 multisig script
|
||||
|
||||
@@ -18,7 +18,7 @@ BOOST_FIXTURE_TEST_SUITE(spend_tests, WalletTestingSetup)
|
||||
BOOST_FIXTURE_TEST_CASE(SubtractFee, TestChain100Setup)
|
||||
{
|
||||
CreateAndProcessBlock({}, GetScriptForRawPubKey(coinbaseKey.GetPubKey()));
|
||||
auto wallet = CreateSyncedWallet(*m_node.chain, WITH_LOCK(Assert(m_node.chainman)->GetMutex(), return m_node.chainman->ActiveChain()), m_args, coinbaseKey);
|
||||
auto wallet = CreateSyncedWallet(*m_node.chain, WITH_LOCK(Assert(m_node.chainman)->GetMutex(), return m_node.chainman->ActiveChain()), coinbaseKey);
|
||||
|
||||
// Check that a subtract-from-recipient transaction slightly less than the
|
||||
// coinbase input amount does not create a change output (because it would
|
||||
@@ -118,7 +118,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_duplicated_preset_inputs_test, TestChain100Setup)
|
||||
|
||||
// Add 4 spendable UTXO, 50 BTC each, to the wallet (total balance 200 BTC)
|
||||
for (int i = 0; i < 4; i++) CreateAndProcessBlock({}, GetScriptForRawPubKey(coinbaseKey.GetPubKey()));
|
||||
auto wallet = CreateSyncedWallet(*m_node.chain, WITH_LOCK(Assert(m_node.chainman)->GetMutex(), return m_node.chainman->ActiveChain()), m_args, coinbaseKey);
|
||||
auto wallet = CreateSyncedWallet(*m_node.chain, WITH_LOCK(Assert(m_node.chainman)->GetMutex(), return m_node.chainman->ActiveChain()), coinbaseKey);
|
||||
|
||||
LOCK(wallet->cs_wallet);
|
||||
auto available_coins = AvailableCoins(*wallet);
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
#include <memory>
|
||||
|
||||
namespace wallet {
|
||||
std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain, CChain& cchain, ArgsManager& args, const CKey& key)
|
||||
std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain, CChain& cchain, const CKey& key)
|
||||
{
|
||||
auto wallet = std::make_unique<CWallet>(&chain, "", args, CreateMockWalletDatabase());
|
||||
auto wallet = std::make_unique<CWallet>(&chain, "", CreateMockWalletDatabase());
|
||||
{
|
||||
LOCK2(wallet->cs_wallet, ::cs_main);
|
||||
wallet->SetLastBlockProcessed(cchain.Height(), cchain.Tip()->GetBlockHash());
|
||||
|
||||
@@ -21,7 +21,7 @@ class CWallet;
|
||||
struct DatabaseOptions;
|
||||
class WalletDatabase;
|
||||
|
||||
std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain, CChain& cchain, ArgsManager& args, const CKey& key);
|
||||
std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain, CChain& cchain, const CKey& key);
|
||||
|
||||
// Creates a copy of the provided database
|
||||
std::unique_ptr<WalletDatabase> DuplicateMockDatabase(WalletDatabase& database, DatabaseOptions& options);
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace wallet {
|
||||
WalletTestingSetup::WalletTestingSetup(const std::string& chainName)
|
||||
: TestingSetup(chainName),
|
||||
m_wallet_loader{interfaces::MakeWalletLoader(*m_node.chain, *Assert(m_node.args))},
|
||||
m_wallet(m_node.chain.get(), "", m_args, CreateMockWalletDatabase())
|
||||
m_wallet(m_node.chain.get(), "", CreateMockWalletDatabase())
|
||||
{
|
||||
m_wallet.LoadWallet();
|
||||
m_chain_notifications_handler = m_node.chain->handleNotifications({ &m_wallet, [](CWallet*) {} });
|
||||
|
||||
@@ -98,7 +98,7 @@ BOOST_FIXTURE_TEST_CASE(scan_for_wallet_transactions, TestChain100Setup)
|
||||
|
||||
// Verify ScanForWalletTransactions fails to read an unknown start block.
|
||||
{
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet wallet(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
{
|
||||
LOCK(wallet.cs_wallet);
|
||||
LOCK(Assert(m_node.chainman)->GetMutex());
|
||||
@@ -119,7 +119,7 @@ BOOST_FIXTURE_TEST_CASE(scan_for_wallet_transactions, TestChain100Setup)
|
||||
// Verify ScanForWalletTransactions picks up transactions in both the old
|
||||
// and new block files.
|
||||
{
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, CreateMockWalletDatabase());
|
||||
CWallet wallet(m_node.chain.get(), "", CreateMockWalletDatabase());
|
||||
{
|
||||
LOCK(wallet.cs_wallet);
|
||||
LOCK(Assert(m_node.chainman)->GetMutex());
|
||||
@@ -164,7 +164,7 @@ BOOST_FIXTURE_TEST_CASE(scan_for_wallet_transactions, TestChain100Setup)
|
||||
// Verify ScanForWalletTransactions only picks transactions in the new block
|
||||
// file.
|
||||
{
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet wallet(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
{
|
||||
LOCK(wallet.cs_wallet);
|
||||
LOCK(Assert(m_node.chainman)->GetMutex());
|
||||
@@ -192,7 +192,7 @@ BOOST_FIXTURE_TEST_CASE(scan_for_wallet_transactions, TestChain100Setup)
|
||||
|
||||
// Verify ScanForWalletTransactions scans no blocks.
|
||||
{
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet wallet(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
{
|
||||
LOCK(wallet.cs_wallet);
|
||||
LOCK(Assert(m_node.chainman)->GetMutex());
|
||||
@@ -232,7 +232,7 @@ BOOST_FIXTURE_TEST_CASE(importmulti_rescan, TestChain100Setup)
|
||||
// before the missing block, and success for a key whose creation time is
|
||||
// after.
|
||||
{
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
wallet->SetupLegacyScriptPubKeyMan();
|
||||
WITH_LOCK(wallet->cs_wallet, wallet->SetLastBlockProcessed(newTip->nHeight, newTip->GetBlockHash()));
|
||||
WalletContext context;
|
||||
@@ -298,7 +298,7 @@ BOOST_FIXTURE_TEST_CASE(importwallet_rescan, TestChain100Setup)
|
||||
{
|
||||
WalletContext context;
|
||||
context.args = &m_args;
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
{
|
||||
auto spk_man = wallet->GetOrCreateLegacyScriptPubKeyMan();
|
||||
LOCK2(wallet->cs_wallet, spk_man->cs_KeyStore);
|
||||
@@ -321,7 +321,7 @@ BOOST_FIXTURE_TEST_CASE(importwallet_rescan, TestChain100Setup)
|
||||
// Call importwallet RPC and verify all blocks with timestamps >= BLOCK_TIME
|
||||
// were scanned, and no prior blocks were scanned.
|
||||
{
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetupLegacyScriptPubKeyMan();
|
||||
|
||||
@@ -355,7 +355,7 @@ BOOST_FIXTURE_TEST_CASE(importwallet_rescan, TestChain100Setup)
|
||||
// debit functions.
|
||||
BOOST_FIXTURE_TEST_CASE(coin_mark_dirty_immature_credit, TestChain100Setup)
|
||||
{
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
CWallet wallet(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
|
||||
LOCK(wallet.cs_wallet);
|
||||
LOCK(Assert(m_node.chainman)->GetMutex());
|
||||
@@ -527,7 +527,7 @@ public:
|
||||
ListCoinsTestingSetup()
|
||||
{
|
||||
CreateAndProcessBlock({}, GetScriptForRawPubKey(coinbaseKey.GetPubKey()));
|
||||
wallet = CreateSyncedWallet(*m_node.chain, WITH_LOCK(Assert(m_node.chainman)->GetMutex(), return m_node.chainman->ActiveChain()), m_args, coinbaseKey);
|
||||
wallet = CreateSyncedWallet(*m_node.chain, WITH_LOCK(Assert(m_node.chainman)->GetMutex(), return m_node.chainman->ActiveChain()), coinbaseKey);
|
||||
}
|
||||
|
||||
~ListCoinsTestingSetup()
|
||||
@@ -665,7 +665,7 @@ BOOST_FIXTURE_TEST_CASE(BasicOutputTypesTest, ListCoinsTest)
|
||||
BOOST_FIXTURE_TEST_CASE(wallet_disableprivkeys, TestChain100Setup)
|
||||
{
|
||||
{
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
wallet->SetupLegacyScriptPubKeyMan();
|
||||
wallet->SetMinVersion(FEATURE_LATEST);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DISABLE_PRIVATE_KEYS);
|
||||
@@ -673,7 +673,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_disableprivkeys, TestChain100Setup)
|
||||
BOOST_CHECK(!wallet->GetNewDestination(OutputType::BECH32, ""));
|
||||
}
|
||||
{
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", m_args, CreateDummyWalletDatabase());
|
||||
const std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(m_node.chain.get(), "", CreateDummyWalletDatabase());
|
||||
LOCK(wallet->cs_wallet);
|
||||
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
wallet->SetMinVersion(FEATURE_LATEST);
|
||||
@@ -961,7 +961,7 @@ public:
|
||||
*/
|
||||
BOOST_FIXTURE_TEST_CASE(wallet_sync_tx_invalid_state_test, TestingSetup)
|
||||
{
|
||||
CWallet wallet(m_node.chain.get(), "", m_args, std::make_unique<FailDatabase>());
|
||||
CWallet wallet(m_node.chain.get(), "", std::make_unique<FailDatabase>());
|
||||
{
|
||||
LOCK(wallet.cs_wallet);
|
||||
wallet.SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||
|
||||
@@ -46,7 +46,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_load_unknown_descriptor, TestingSetup)
|
||||
|
||||
{
|
||||
// Now try to load the wallet and verify the error.
|
||||
const std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", m_args, std::move(database)));
|
||||
const std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", std::move(database)));
|
||||
BOOST_CHECK_EQUAL(wallet->LoadWallet(), DBErrors::UNKNOWN_DESCRIPTOR);
|
||||
}
|
||||
}
|
||||
@@ -84,7 +84,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_load_verif_crypted_key_checksum, TestingSetup)
|
||||
|
||||
{ // Context setup.
|
||||
// Create and encrypt legacy wallet
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", m_args, CreateMockWalletDatabase()));
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", CreateMockWalletDatabase()));
|
||||
LOCK(wallet->cs_wallet);
|
||||
auto legacy_spkm = wallet->GetOrCreateLegacyScriptPubKeyMan();
|
||||
BOOST_CHECK(legacy_spkm->SetupGeneration(true));
|
||||
@@ -112,7 +112,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_load_verif_crypted_key_checksum, TestingSetup)
|
||||
// the records every time that 'CWallet::Unlock' gets called, which is not good.
|
||||
|
||||
// Load the wallet and check that is encrypted
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", m_args, get_db(dbs)));
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", get_db(dbs)));
|
||||
BOOST_CHECK_EQUAL(wallet->LoadWallet(), DBErrors::LOAD_OK);
|
||||
BOOST_CHECK(wallet->IsCrypted());
|
||||
BOOST_CHECK(HasAnyRecordOfType(wallet->GetDatabase(), DBKeys::CRYPTED_KEY));
|
||||
@@ -138,7 +138,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_load_verif_crypted_key_checksum, TestingSetup)
|
||||
}
|
||||
|
||||
// Load the wallet and check that is encrypted
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", m_args, std::move(db)));
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", std::move(db)));
|
||||
BOOST_CHECK_EQUAL(wallet->LoadWallet(), DBErrors::LOAD_OK);
|
||||
BOOST_CHECK(wallet->IsCrypted());
|
||||
BOOST_CHECK(HasAnyRecordOfType(wallet->GetDatabase(), DBKeys::CRYPTED_KEY));
|
||||
@@ -166,7 +166,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_load_verif_crypted_key_checksum, TestingSetup)
|
||||
BOOST_CHECK(batch->Write(key, value, /*fOverwrite=*/true));
|
||||
}
|
||||
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", m_args, std::move(db)));
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", std::move(db)));
|
||||
BOOST_CHECK_EQUAL(wallet->LoadWallet(), DBErrors::CORRUPT);
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ BOOST_FIXTURE_TEST_CASE(wallet_load_verif_crypted_key_checksum, TestingSetup)
|
||||
BOOST_CHECK(db->MakeBatch(false)->Write(key, value, /*fOverwrite=*/true));
|
||||
}
|
||||
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", m_args, std::move(db)));
|
||||
std::shared_ptr<CWallet> wallet(new CWallet(m_node.chain.get(), "", std::move(db)));
|
||||
BOOST_CHECK_EQUAL(wallet->LoadWallet(), DBErrors::CORRUPT);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user