@@ -2327,55 +2327,7 @@ bool DescriptorScriptPubKeyMan::SetupDescriptorGeneration(WalletBatch& batch, co
23272327 return false ;
23282328 }
23292329
2330- int64_t creation_time = GetTime ();
2331-
2332- std::string xpub = EncodeExtPubKey (master_key.Neuter ());
2333-
2334- // Build descriptor string
2335- std::string desc_prefix;
2336- std::string desc_suffix = " /*)" ;
2337- switch (addr_type) {
2338- case OutputType::LEGACY: {
2339- desc_prefix = " pkh(" + xpub + " /44h" ;
2340- break ;
2341- }
2342- case OutputType::P2SH_SEGWIT: {
2343- desc_prefix = " sh(wpkh(" + xpub + " /49h" ;
2344- desc_suffix += " )" ;
2345- break ;
2346- }
2347- case OutputType::BECH32: {
2348- desc_prefix = " wpkh(" + xpub + " /84h" ;
2349- break ;
2350- }
2351- case OutputType::BECH32M: {
2352- desc_prefix = " tr(" + xpub + " /86h" ;
2353- break ;
2354- }
2355- case OutputType::UNKNOWN: {
2356- // We should never have a DescriptorScriptPubKeyMan for an UNKNOWN OutputType,
2357- // so if we get to this point something is wrong
2358- assert (false );
2359- }
2360- } // no default case, so the compiler can warn about missing cases
2361- assert (!desc_prefix.empty ());
2362-
2363- // Mainnet derives at 0', testnet and regtest derive at 1'
2364- if (Params ().IsTestChain ()) {
2365- desc_prefix += " /1h" ;
2366- } else {
2367- desc_prefix += " /0h" ;
2368- }
2369-
2370- std::string internal_path = internal ? " /1" : " /0" ;
2371- std::string desc_str = desc_prefix + " /0h" + internal_path + desc_suffix;
2372-
2373- // Make the descriptor
2374- FlatSigningProvider keys;
2375- std::string error;
2376- std::unique_ptr<Descriptor> desc = Parse (desc_str, keys, error, false );
2377- WalletDescriptor w_desc (std::move (desc), creation_time, 0 , 0 , 0 );
2378- m_wallet_descriptor = w_desc;
2330+ m_wallet_descriptor = GenerateWalletDescriptor (master_key.Neuter (), addr_type, internal);
23792331
23802332 // Store the master private key, and descriptor
23812333 if (!AddDescriptorKeyWithDB (batch, master_key.key , master_key.key .GetPubKey ())) {
0 commit comments