[#TaprootSpendData-scripts]
= xref:TaprootSpendData.adoc[TaprootSpendData]::scripts
:relfileprefix: ../
:mrdocs:

Map from (script, leaf&lowbar;version) to (sets of) control blocks&period; More than one control block for a given script is only possible if it appears in multiple branches of the tree&period; We keep them all so that inference can reconstruct the full tree&period; Within each set, the control blocks are sorted by size, so that the signing logic can easily prefer the cheapest one&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::map&lt;std::pair&lt;std::vector&lt;unsigned char&gt;, int&gt;, std::set&lt;std::vector&lt;unsigned char&gt;, ShortestVectorFirstComparator&gt;&gt; scripts;
----


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