[#Descriptor-ToNormalizedString]
= xref:Descriptor.adoc[Descriptor]::ToNormalizedString
:relfileprefix: ../
:mrdocs:

Convert the descriptor to a normalized string&period; Normalized descriptors have the xpub at the last hardened step&period; This fails if the provided provider does not have the private keys to derive that xpub&period;

== Synopsis

Declared in `&lt;script&sol;descriptor&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
virtual
bool
ToNormalizedString(
    xref:SigningProvider.adoc[SigningProvider] const& provider,
    std::string& out,
    xref:DescriptorCache.adoc[DescriptorCache] const* cache = nullptr) const = 0;
----

== Return Value

True if the normalized string could be produced&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *provider* [in]
| The SigningProvider to query for private keys&period;
| *out* [out]
| The resulting normalized descriptor string&period;
| *cache* [in]
| Optional cache supplying the xpub at the last hardened step&period;
|===


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