aboutsummaryrefslogtreecommitdiff
path: root/src/script/sign.h
diff options
context:
space:
mode:
authorAndrew Chow <achow101-github@achow101.com>2018-06-27 16:56:30 -0700
committerAndrew Chow <achow101-github@achow101.com>2018-07-13 14:27:31 -0700
commit12bcc64f277f642ece03c25653e726f2276f0d51 (patch)
tree94a1f3ba80ee473286ab601ffe21cd2f4c0acf30 /src/script/sign.h
parent41c607f09badb2c3ed58ff6fb17a8ebbef2cdabd (diff)
downloadbitcoin-12bcc64f277f642ece03c25653e726f2276f0d51.tar.xz
Add pubkeys and whether input was witness to SignatureData
Stores pubkeys in SignatureData and retrieves them when using GetPubKey(). Stores whether the signatures in a SignatureData are for a witness input.
Diffstat (limited to 'src/script/sign.h')
-rw-r--r--src/script/sign.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/script/sign.h b/src/script/sign.h
index d1cf918610..5384f97539 100644
--- a/src/script/sign.h
+++ b/src/script/sign.h
@@ -66,11 +66,13 @@ typedef std::pair<CPubKey, std::vector<unsigned char>> SigPair;
// in order to construct final scriptSigs and scriptWitnesses.
struct SignatureData {
bool complete = false; ///< Stores whether the scriptSig and scriptWitness are complete
+ bool witness = false; ///< Stores whether the input this SigData corresponds to is a witness input
CScript scriptSig; ///< The scriptSig of an input. Contains complete signatures or the traditional partial signatures format
CScript redeem_script; ///< The redeemScript (if any) for the input
CScript witness_script; ///< The witnessScript (if any) for the input. witnessScripts are used in P2WSH outputs.
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, CPubKey> misc_pubkeys;
SignatureData() {}
explicit SignatureData(const CScript& script) : scriptSig(script) {}