mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-05 14:06:27 -05:00
tests, gui: Use DescriptorScriptPubKeyMan in GUI tests
This commit is contained in:
parent
9bf0243872
commit
811319fea4
2 changed files with 18 additions and 5 deletions
|
@ -64,8 +64,12 @@ void TestAddAddressesToSendBook(interfaces::Node& node)
|
||||||
test.m_node.wallet_client = wallet_client.get();
|
test.m_node.wallet_client = wallet_client.get();
|
||||||
node.setContext(&test.m_node);
|
node.setContext(&test.m_node);
|
||||||
std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", CreateMockWalletDatabase());
|
std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", CreateMockWalletDatabase());
|
||||||
wallet->SetupLegacyScriptPubKeyMan();
|
|
||||||
wallet->LoadWallet();
|
wallet->LoadWallet();
|
||||||
|
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||||
|
{
|
||||||
|
LOCK(wallet->cs_wallet);
|
||||||
|
wallet->SetupDescriptorScriptPubKeyMans();
|
||||||
|
}
|
||||||
|
|
||||||
auto build_address = [&wallet]() {
|
auto build_address = [&wallet]() {
|
||||||
CKey key;
|
CKey key;
|
||||||
|
|
|
@ -143,11 +143,20 @@ void TestGUI(interfaces::Node& node)
|
||||||
node.setContext(&test.m_node);
|
node.setContext(&test.m_node);
|
||||||
std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", CreateMockWalletDatabase());
|
std::shared_ptr<CWallet> wallet = std::make_shared<CWallet>(node.context()->chain.get(), "", CreateMockWalletDatabase());
|
||||||
wallet->LoadWallet();
|
wallet->LoadWallet();
|
||||||
|
wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
|
||||||
{
|
{
|
||||||
auto spk_man = wallet->GetOrCreateLegacyScriptPubKeyMan();
|
LOCK(wallet->cs_wallet);
|
||||||
LOCK2(wallet->cs_wallet, spk_man->cs_KeyStore);
|
wallet->SetupDescriptorScriptPubKeyMans();
|
||||||
wallet->SetAddressBook(GetDestinationForKey(test.coinbaseKey.GetPubKey(), wallet->m_default_address_type), "", "receive");
|
|
||||||
spk_man->AddKeyPubKey(test.coinbaseKey, test.coinbaseKey.GetPubKey());
|
// Add the coinbase key
|
||||||
|
FlatSigningProvider provider;
|
||||||
|
std::string error;
|
||||||
|
std::unique_ptr<Descriptor> desc = Parse("combo(" + EncodeSecret(test.coinbaseKey) + ")", provider, error, /* require_checksum=*/ false);
|
||||||
|
assert(desc);
|
||||||
|
WalletDescriptor w_desc(std::move(desc), 0, 0, 1, 1);
|
||||||
|
if (!wallet->AddWalletDescriptor(w_desc, provider, "", false)) assert(false);
|
||||||
|
CTxDestination dest = GetDestinationForKey(test.coinbaseKey.GetPubKey(), wallet->m_default_address_type);
|
||||||
|
wallet->SetAddressBook(dest, "", "receive");
|
||||||
wallet->SetLastBlockProcessed(105, node.context()->chainman->ActiveChain().Tip()->GetBlockHash());
|
wallet->SetLastBlockProcessed(105, node.context()->chainman->ActiveChain().Tip()->GetBlockHash());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue