From 204524117c1df0265aeb03ee60016c2db069cd23 Mon Sep 17 00:00:00 2001 From: Andrew Poelstra Date: Sun, 31 Aug 2014 22:33:19 -0500 Subject: [PATCH] Make Secp256k1::verify() static This avoids the overhead of creating and seeding a Fortuna just to do verification. --- src/secp256k1.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/secp256k1.rs b/src/secp256k1.rs index c843b9c..00134d0 100644 --- a/src/secp256k1.rs +++ b/src/secp256k1.rs @@ -205,7 +205,8 @@ impl Secp256k1 { /// Checks that `sig` is a valid ECDSA signature for `msg` using the public /// key `pubkey`. Returns `Ok(true)` on success. - pub fn verify(&self, msg: &[u8], sig: &[u8], pk: &key::PublicKey) -> Result<()> { + pub fn verify(msg: &[u8], sig: &[u8], pk: &key::PublicKey) -> Result<()> { + init(); // This is a static function, so we have to init let res = unsafe { ffi::secp256k1_ecdsa_verify(msg.as_ptr(), msg.len() as c_int, sig.as_ptr(), sig.len() as c_int,