| 574 | } |
| 575 | |
| 576 | void PSBTInput::FromSignatureData(const SignatureData& sigdata) |
| 577 | { |
| 578 | if (sigdata.complete) { |
| 579 | partial_sigs.clear(); |
| 580 | hd_keypaths.clear(); |
| 581 | redeem_script.clear(); |
| 582 | witness_script.clear(); |
| 583 | |
| 584 | if (!sigdata.scriptSig.empty()) { |
| 585 | final_script_sig = sigdata.scriptSig; |
| 586 | } |
| 587 | if (!sigdata.scriptWitness.IsNull()) { |
| 588 | final_script_witness = sigdata.scriptWitness; |
| 589 | } |
| 590 | return; |
| 591 | } |
| 592 | |
| 593 | partial_sigs.insert(sigdata.signatures.begin(), sigdata.signatures.end()); |
| 594 | if (redeem_script.empty() && !sigdata.redeem_script.empty()) { |
| 595 | redeem_script = sigdata.redeem_script; |
| 596 | } |
| 597 | if (witness_script.empty() && !sigdata.witness_script.empty()) { |
| 598 | witness_script = sigdata.witness_script; |
| 599 | } |
| 600 | } |
| 601 | |
| 602 | void PSBTInput::Merge(const PSBTInput& input) |
| 603 | { |