[#wallet-DescriptorScriptPubKeyMan-GenerateNewSingleSig]
= xref:wallet.adoc[wallet]::xref:wallet/DescriptorScriptPubKeyMan.adoc[DescriptorScriptPubKeyMan]::GenerateNewSingleSig
:relfileprefix: ../../
:mrdocs:

Generates a new single&hyphen;signature DescriptorScriptPubKeyMan from a master key&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
std::unique&lowbar;ptr&lt;DescriptorScriptPubKeyMan&gt;
GenerateNewSingleSig(
    xref:wallet/WalletStorage.adoc[WalletStorage]& storage,
    xref:wallet/WalletBatch.adoc[WalletBatch]& batch,
    int64&lowbar;t keypool&lowbar;size,
    xref:CExtKey.adoc[CExtKey] const& master&lowbar;key,
    xref:OutputType.adoc[OutputType] addr&lowbar;type,
    bool internal);
----

== Return Value

The new DescriptorScriptPubKeyMan&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *storage*
| The wallet storage this spkm is bound to&period;
| *batch*
| The database batch to write the new spkm through&period;
| *keypool&lowbar;size*
| The number of keys&sol;scripts to keep pre&hyphen;generated&period;
| *master&lowbar;key*
| The master key to derive the descriptor from&period;
| *addr&lowbar;type*
| The output type of the addresses to generate&period;
| *internal*
| Whether the descriptor is for the internal (change) chain&period;
|===


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