diff options
author | Glenn Willen <gwillen@nerdnet.org> | 2018-10-26 15:26:16 -0700 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2018-12-03 10:35:34 -0800 |
commit | 70ee1f8709a54a9aeac004d8589faa08f665587a (patch) | |
tree | e4354a95bd1d8e8737fb5dd50e11fc3e436308fb /src/script | |
parent | a9eab081d5a31cec3138685fef21e428f833db03 (diff) |
New PartiallySignedTransaction constructor from CTransction
New constructor that creates a PartiallySignedTransaction from a
CTransaction, automatically sizing the inputs and outputs vectors for
convenience.
Github-Pull: #14588
Rebased-From: 65166d4cf828909dc4bc49dd68a58103d015f1fd
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/sign.cpp | 6 | ||||
-rw-r--r-- | src/script/sign.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/script/sign.cpp b/src/script/sign.cpp index 1ab5051ff7..190c0bf687 100644 --- a/src/script/sign.cpp +++ b/src/script/sign.cpp @@ -491,6 +491,12 @@ bool IsSolvable(const SigningProvider& provider, const CScript& script) return false; } +PartiallySignedTransaction::PartiallySignedTransaction(const CTransaction& tx) : tx(tx) +{ + inputs.resize(tx.vin.size()); + outputs.resize(tx.vout.size()); +} + bool PartiallySignedTransaction::IsNull() const { return !tx && inputs.empty() && outputs.empty() && unknown.empty(); diff --git a/src/script/sign.h b/src/script/sign.h index 2b45df85a0..79cd6dc53f 100644 --- a/src/script/sign.h +++ b/src/script/sign.h @@ -550,6 +550,7 @@ struct PartiallySignedTransaction bool IsSane() const; PartiallySignedTransaction() {} PartiallySignedTransaction(const PartiallySignedTransaction& psbt_in) : tx(psbt_in.tx), inputs(psbt_in.inputs), outputs(psbt_in.outputs), unknown(psbt_in.unknown) {} + explicit PartiallySignedTransaction(const CTransaction& tx); // Only checks if they refer to the same transaction friend bool operator==(const PartiallySignedTransaction& a, const PartiallySignedTransaction &b) |