diff --git a/src/blockdata/script.rs b/src/blockdata/script.rs index ec7a1b6..924b07e 100644 --- a/src/blockdata/script.rs +++ b/src/blockdata/script.rs @@ -36,6 +36,7 @@ use crypto::sha1::Sha1; use crypto::sha2::Sha256; use secp256k1::Secp256k1; +use secp256k1::Signature; use secp256k1::key::PublicKey; use blockdata::opcodes; @@ -1465,7 +1466,8 @@ fn check_signature(sig_slice: &[u8], pk_slice: &[u8], script: Vec, serialize(&Sha256dHash::from_data(data_to_sign.as_slice())).unwrap() }; - Secp256k1::verify(signature_hash.as_slice(), sig_slice, &pubkey).map_err(|e| EcdsaError(e)) + let sig = try!(Signature::from_slice(sig_slice).map_err(EcdsaError)); + Secp256k1::verify(signature_hash.as_slice(), &sig, &pubkey).map_err(EcdsaError) } // Macro to translate English stack instructions into Rust code. diff --git a/src/lib.rs b/src/lib.rs index f7d2fd7..4a26682 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -58,8 +58,8 @@ extern crate sync; extern crate test; extern crate time; -extern crate secp256k1 = "bitcoin-secp256k1-rs"; -extern crate crypto = "rust-crypto"; +extern crate "bitcoin-secp256k1-rs" as secp256k1; +extern crate "rust-crypto" as crypto; mod internal_macros; pub mod macros;