| 267 | } |
| 268 | |
| 269 | bool PSBTInput::GetUTXO(CTxOut& utxo) const |
| 270 | { |
| 271 | if (non_witness_utxo) { |
| 272 | if (prev_out >= non_witness_utxo->vout.size()) { |
| 273 | return false; |
| 274 | } |
| 275 | if (non_witness_utxo->GetHash() != prev_txid) { |
| 276 | return false; |
| 277 | } |
| 278 | utxo = non_witness_utxo->vout[prev_out]; |
| 279 | } else if (!witness_utxo.IsNull()) { |
| 280 | utxo = witness_utxo; |
| 281 | } else { |
| 282 | return false; |
| 283 | } |
| 284 | return true; |
| 285 | } |
| 286 | |
| 287 | COutPoint PSBTInput::GetOutPoint() const |
| 288 | { |