Skip to content

Commit c1a54ec

Browse files
authored
Merge pull request #137 from darosior/psbt_satisfy_everyone
psbt: satisfy any ToPublicKey key
2 parents f36e4f9 + 726df9b commit c1a54ec

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/psbt/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ use bitcoin::util::psbt;
2525
use bitcoin::util::psbt::PartiallySignedTransaction as Psbt;
2626
use bitcoin::{self, secp256k1};
2727

28-
use miniscript::{Legacy, Segwitv0};
2928
use BitcoinSig;
3029
use Miniscript;
3130
use Satisfier;
31+
use {Legacy, MiniscriptKey, Segwitv0, ToPublicKey};
3232

3333
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
3434
pub enum Error {
@@ -94,9 +94,9 @@ impl fmt::Display for Error {
9494
}
9595
}
9696

97-
impl Satisfier<bitcoin::PublicKey> for psbt::Input {
98-
fn lookup_sig(&self, pk: &bitcoin::PublicKey) -> Option<BitcoinSig> {
99-
if let Some(rawsig) = self.partial_sigs.get(pk) {
97+
impl<Pk: MiniscriptKey + ToPublicKey> Satisfier<Pk> for psbt::Input {
98+
fn lookup_sig(&self, pk: &Pk) -> Option<BitcoinSig> {
99+
if let Some(rawsig) = self.partial_sigs.get(&pk.to_public_key()) {
100100
let (flag, sig) = rawsig.split_last().unwrap();
101101
let flag = bitcoin::SigHashType::from_u32(*flag as u32);
102102
let sig = match secp256k1::Signature::from_der(sig) {

0 commit comments

Comments
 (0)