MCPcopy Create free account
hub / github.com/ElementsProject/elements / CreateSyncedWallet

Function CreateSyncedWallet

src/wallet/test/util.cpp:19–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17
18namespace wallet {
19std::unique_ptr<CWallet> CreateSyncedWallet(interfaces::Chain& chain, CChain& cchain, ArgsManager& args, const CKey& key)
20{
21 auto wallet = std::make_unique<CWallet>(&chain, "", args, CreateMockWalletDatabase());
22 {
23 LOCK2(wallet->cs_wallet, ::cs_main);
24 wallet->SetLastBlockProcessed(cchain.Height(), cchain.Tip()->GetBlockHash());
25 }
26 wallet->LoadWallet();
27 {
28 LOCK(wallet->cs_wallet);
29 wallet->SetWalletFlag(WALLET_FLAG_DESCRIPTORS);
30 wallet->SetupDescriptorScriptPubKeyMans();
31
32 FlatSigningProvider provider;
33 std::string error;
34 std::unique_ptr<Descriptor> desc = Parse("combo(" + EncodeSecret(key) + ")", provider, error, /* require_checksum=*/ false);
35 assert(desc);
36 WalletDescriptor w_desc(std::move(desc), 0, 0, 1, 1);
37 if (!wallet->AddWalletDescriptor(w_desc, provider, "", false)) assert(false);
38 }
39 WalletRescanReserver reserver(*wallet);
40 reserver.reserve();
41 CWallet::ScanResult result = wallet->ScanForWalletTransactions(cchain.Genesis()->GetBlockHash(), 0 /* start_height */, {} /* max_height */, reserver, false /* update */);
42 BOOST_CHECK_EQUAL(result.status, CWallet::ScanResult::SUCCESS);
43 BOOST_CHECK_EQUAL(result.last_scanned_block, cchain.Tip()->GetBlockHash());
44 BOOST_CHECK_EQUAL(*result.last_scanned_height, cchain.Height());
45 BOOST_CHECK(result.last_failed_block.IsNull());
46 return wallet;
47}
48} // namespace wallet

Callers 2

ListCoinsTestingSetupMethod · 0.85
BOOST_FIXTURE_TEST_CASEFunction · 0.85

Calls 14

CreateMockWalletDatabaseFunction · 0.85
ParseFunction · 0.85
EncodeSecretFunction · 0.85
HeightMethod · 0.80
SetWalletFlagMethod · 0.80
AddWalletDescriptorMethod · 0.80
GenesisMethod · 0.80
GetBlockHashMethod · 0.45
TipMethod · 0.45
LoadWalletMethod · 0.45

Tested by

no test coverage detected