[#wallet-MigrateLegacyToDescriptor-06]
= xref:wallet.adoc[wallet]::MigrateLegacyToDescriptor
:relfileprefix: ../
:mrdocs:

Do all steps to migrate a legacy wallet to a descriptor wallet

== Synopsis

Declared in `&lt;wallet&sol;wallet&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;nodiscard&rsqb;&rsqb;
xref:util/Result.adoc[util::Result&lt;MigrationResult&gt;]
MigrateLegacyToDescriptor(
    std::string const& wallet&lowbar;name,
    xref:SecureString.adoc[SecureString] const& passphrase,
    xref:wallet/WalletContext.adoc[WalletContext]& context,
    bool load&lowbar;wallet = true);
----

== Return Value

The migration result, or an error on failure&period;

[NOTE]
====
The return value https://en.cppreference.com/cpp/language/attributes/nodiscard[should not be discarded^].
====
== Parameters

[cols="1,4"]
|===
| Name| Description
| *wallet&lowbar;name*
| The name of the wallet to migrate&period;
| *passphrase*
| The passphrase to unlock an encrypted wallet&period;
| *context*
| The wallet context to migrate within&period;
| *load&lowbar;wallet*
| Whether to load the migrated wallet afterward&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
