diff options
| author | Andrew Chow <[email protected]> | 2018-07-31 17:56:47 -0700 |
|---|---|---|
| committer | Andrew Chow <[email protected]> | 2019-02-16 00:04:27 -0500 |
| commit | 77542cf2a5f8abb97dd46f782c1b0199cc062033 (patch) | |
| tree | 9afe02a12ae92cb9594d46f3d3e682f26c26551c /src/psbt.cpp | |
| parent | Figure out what is missing during signing (diff) | |
| download | discoin-77542cf2a5f8abb97dd46f782c1b0199cc062033.tar.xz discoin-77542cf2a5f8abb97dd46f782c1b0199cc062033.zip | |
Move PSBT UTXO fetching to a separate method
Diffstat (limited to 'src/psbt.cpp')
| -rw-r--r-- | src/psbt.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/psbt.cpp b/src/psbt.cpp index 0734edcf8..32fb459de 100644 --- a/src/psbt.cpp +++ b/src/psbt.cpp @@ -62,6 +62,20 @@ bool PartiallySignedTransaction::AddOutput(const CTxOut& txout, const PSBTOutput return true; } +bool PartiallySignedTransaction::GetInputUTXO(CTxOut& utxo, int input_index) const +{ + PSBTInput input = inputs[input_index]; + int prevout_index = tx->vin[input_index].prevout.n; + if (input.non_witness_utxo) { + utxo = input.non_witness_utxo->vout[prevout_index]; + } else if (!input.witness_utxo.IsNull()) { + utxo = input.witness_utxo; + } else { + return false; + } + return true; +} + bool PSBTInput::IsNull() const { return !non_witness_utxo && witness_utxo.IsNull() && partial_sigs.empty() && unknown.empty() && hd_keypaths.empty() && redeem_script.empty() && witness_script.empty(); |