[#PrecomputedTransactionData]
= PrecomputedTransactionData
:mrdocs:

Cached transaction data reused across signature&hyphen;hash computations for a single transaction&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct PrecomputedTransactionData;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:PrecomputedTransactionData/2constructor-02.adoc[`PrecomputedTransactionData`]         [.small]#[constructor]#
| Constructors
| xref:PrecomputedTransactionData/Init.adoc[`Init`] 
| Initialize this PrecomputedTransactionData with transaction data&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:PrecomputedTransactionData/hashOutputs.adoc[`hashOutputs`] 
| BIP143 double&hyphen;SHA256 hash of all outputs&period;
| xref:PrecomputedTransactionData/hashPrevouts.adoc[`hashPrevouts`] 
| BIP143 double&hyphen;SHA256 hash of all input prevouts&period;
| xref:PrecomputedTransactionData/hashSequence.adoc[`hashSequence`] 
| BIP143 double&hyphen;SHA256 hash of all input sequences&period;
| xref:PrecomputedTransactionData/m_bip143_segwit_ready.adoc[`m&lowbar;bip143&lowbar;segwit&lowbar;ready`] 
| Whether the 3 fields above are initialized&period;
| xref:PrecomputedTransactionData/m_bip341_taproot_ready.adoc[`m&lowbar;bip341&lowbar;taproot&lowbar;ready`] 
| Whether the 5 fields above are initialized&period;
| xref:PrecomputedTransactionData/m_outputs_single_hash.adoc[`m&lowbar;outputs&lowbar;single&lowbar;hash`] 
| BIP341 single&hyphen;SHA256 hash of all outputs&period;
| xref:PrecomputedTransactionData/m_prevouts_single_hash.adoc[`m&lowbar;prevouts&lowbar;single&lowbar;hash`] 
| BIP341 single&hyphen;SHA256 hash of all input prevouts&period;
| xref:PrecomputedTransactionData/m_sequences_single_hash.adoc[`m&lowbar;sequences&lowbar;single&lowbar;hash`] 
| BIP341 single&hyphen;SHA256 hash of all input sequences&period;
| xref:PrecomputedTransactionData/m_spent_amounts_single_hash.adoc[`m&lowbar;spent&lowbar;amounts&lowbar;single&lowbar;hash`] 
| BIP341 single&hyphen;SHA256 hash of all spent output amounts&period;
| xref:PrecomputedTransactionData/m_spent_outputs.adoc[`m&lowbar;spent&lowbar;outputs`] 
| The outputs being spent by this transaction, one per input&period;
| xref:PrecomputedTransactionData/m_spent_outputs_ready.adoc[`m&lowbar;spent&lowbar;outputs&lowbar;ready`] 
| Whether m&lowbar;spent&lowbar;outputs is initialized&period;
| xref:PrecomputedTransactionData/m_spent_scripts_single_hash.adoc[`m&lowbar;spent&lowbar;scripts&lowbar;single&lowbar;hash`] 
| BIP341 single&hyphen;SHA256 hash of all spent output scriptPubKeys&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:PrecomputePSBTData.adoc[`PrecomputePSBTData`]
| Compute a PrecomputedTransactionData object from a psbt&period;
|===


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