Removed validation, since pubkey won't match address for P2SH

This commit is contained in:
CalDescent 2022-05-17 18:53:04 +01:00
parent 5a4fd01f35
commit 1a8686863b

View File

@ -181,17 +181,18 @@ impl TransparentInputs {
} }
let pubkey = secp256k1::PublicKey::from_secret_key(&self.secp, &sk).serialize(); let pubkey = secp256k1::PublicKey::from_secret_key(&self.secp, &sk).serialize();
match coin.script_pubkey.address() { // Disabled as P2SH address isn't linked with redeemer's public key
Some(TransparentAddress::PublicKey(hash)) => { // match coin.script_pubkey.address() {
use ripemd160::Ripemd160; // Some(TransparentAddress::PublicKey(hash)) => {
use sha2::{Digest, Sha256}; // use ripemd160::Ripemd160;
// use sha2::{Digest, Sha256};
if &hash[..] != &Ripemd160::digest(&Sha256::digest(&pubkey))[..] { // if &hash[..] != &Ripemd160::digest(&Sha256::digest(&pubkey))[..] {
return Err(Error::InvalidAddress); // return Err(Error::InvalidAddress);
} // }
} // }
_ => return Err(Error::InvalidAddress), // _ => return Err(Error::InvalidAddress),
} // }
mtx.vin.push(TxIn::new(utxo)); mtx.vin.push(TxIn::new(utxo));
self.inputs.push(TransparentInputInfo { sk, pubkey, coin, secret, redeem_script }); self.inputs.push(TransparentInputInfo { sk, pubkey, coin, secret, redeem_script });