crate::ix!();
pub fn finalizepsbt(psbtx: &mut PartiallySignedTransaction) -> bool {
let mut complete: bool = true;
let txdata: PrecomputedTransactionData
= precompute_psbt_data(psbtx);
let len = psbtx.tx.as_ref().unwrap().vin.len();
for i in 0..len {
complete &= sign_psbt_input(
&DUMMY_SIGNING_PROVIDER,
psbtx,
i as i32,
&txdata,
Some(SIGHASH_ALL as i32),
None
);
}
complete
}
pub fn finalize_and_extractpsbt<'a>(
psbtx: &'a mut PartiallySignedTransaction,
mut result: &'a mut MutableTransaction) -> bool {
if !finalizepsbt(psbtx) {
return false;
}
result = psbtx.tx.as_mut().unwrap();
for i in 0..result.vin.len() {
result.vin[i].script_sig = psbtx.inputs[i].final_script_sig.clone();
result.vin[i].script_witness = psbtx.inputs[i].final_script_witness.clone();
}
true
}