aboutsummaryrefslogtreecommitdiff
path: root/src/script/sign.h
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2018-07-31 17:57:15 -0700
committerAndrew Chow <achow101-github@achow101.com>2019-02-16 00:04:27 -0500
commitcb40b3abd4514361a024a1e7a1a281da9261261b (patch)
tree0bfab83a9b752625a3ee28022318a96a7df5c0a9 /src/script/sign.h
parent08f749c9147a5f3fdbbd880e0974b97084429002 (diff)
Figure out what is missing during signing
When signing an input, figure out what was requested for but was unable to be found and store it in a SignatureData. Return this information in SignPSBTInput.
Diffstat (limited to 'src/script/sign.h')
-rw-r--r--src/script/sign.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/script/sign.h b/src/script/sign.h
index 64eb3eb8e5..e229c375c7 100644
--- a/src/script/sign.h
+++ b/src/script/sign.h
@@ -117,6 +117,10 @@ struct SignatureData {
CScriptWitness scriptWitness; ///< The scriptWitness of an input. Contains complete signatures or the traditional partial signatures format. scriptWitness is part of a transaction input per BIP 144.
std::map<CKeyID, SigPair> signatures; ///< BIP 174 style partial signatures for the input. May contain all signatures necessary for producing a final scriptSig or scriptWitness.
std::map<CKeyID, std::pair<CPubKey, KeyOriginInfo>> misc_pubkeys;
+ std::vector<CKeyID> missing_pubkeys; ///< KeyIDs of pubkeys which could not be found
+ std::vector<CKeyID> missing_sigs; ///< KeyIDs of pubkeys for signatures which could not be found
+ uint160 missing_redeem_script; ///< ScriptID of the missing redeemScript (if any)
+ uint256 missing_witness_script; ///< SHA256 of the missing witnessScript (if any)
SignatureData() {}
explicit SignatureData(const CScript& script) : scriptSig(script) {}