Use EcdsaSig in PSBT partial signatures instead of Vec<u8>
This commit is contained in:
parent
141dbbd1b9
commit
2b530000d3
|
@ -14,7 +14,7 @@
|
|||
|
||||
use prelude::*;
|
||||
|
||||
use io;
|
||||
use ::{EcdsaSig, io};
|
||||
|
||||
use blockdata::script::Script;
|
||||
use blockdata::transaction::{EcdsaSigHashType, Transaction, TxOut};
|
||||
|
@ -87,9 +87,8 @@ pub struct Input {
|
|||
/// including P2SH embedded ones.
|
||||
pub witness_utxo: Option<TxOut>,
|
||||
/// A map from public keys to their corresponding signature as would be
|
||||
/// pushed to the stack from a scriptSig or witness.
|
||||
#[cfg_attr(feature = "serde", serde(with = "::serde_utils::btreemap_byte_values"))]
|
||||
pub partial_sigs: BTreeMap<PublicKey, Vec<u8>>,
|
||||
/// pushed to the stack from a scriptSig or witness for a non-taproot inputs.
|
||||
pub partial_sigs: BTreeMap<PublicKey, EcdsaSig>,
|
||||
/// The sighash type to be used for this input. Signatures for this input
|
||||
/// must use the sighash type.
|
||||
pub sighash_type: Option<EcdsaSigHashType>,
|
||||
|
@ -163,7 +162,7 @@ impl Map for Input {
|
|||
}
|
||||
PSBT_IN_PARTIAL_SIG => {
|
||||
impl_psbt_insert_pair! {
|
||||
self.partial_sigs <= <raw_key: PublicKey>|<raw_value: Vec<u8>>
|
||||
self.partial_sigs <= <raw_key: PublicKey>|<raw_value: EcdsaSig>
|
||||
}
|
||||
}
|
||||
PSBT_IN_SIGHASH_TYPE => {
|
||||
|
@ -267,7 +266,7 @@ impl Map for Input {
|
|||
}
|
||||
|
||||
impl_psbt_get_pair! {
|
||||
rv.push(self.partial_sigs as <PSBT_IN_PARTIAL_SIG, PublicKey>|<Vec<u8>>)
|
||||
rv.push(self.partial_sigs as <PSBT_IN_PARTIAL_SIG, PublicKey>|<EcdsaSig>)
|
||||
}
|
||||
|
||||
impl_psbt_get_pair! {
|
||||
|
|
|
@ -477,7 +477,7 @@ mod tests {
|
|||
witness_script: None,
|
||||
partial_sigs: vec![(
|
||||
"0339880dc92394b7355e3d0439fa283c31de7590812ea011c4245c0674a685e883".parse().unwrap(),
|
||||
vec![8, 5, 4],
|
||||
"304402204f67e2afb76142d44fae58a2495d33a3419daa26cd0db8d04f3452b63289ac0f022010762a9fb67e94cc5cad9026f6dc99ff7f070f4278d30fbc7d0c869dd38c7fe701".parse().unwrap(),
|
||||
)].into_iter().collect(),
|
||||
bip32_derivation: keypaths.clone(),
|
||||
final_script_witness: Some(vec![vec![1, 3], vec![5]]),
|
||||
|
|
Loading…
Reference in New Issue