@@ -133,7 +133,7 @@ impl RecoverableSignature {
133133/// verify-capable context. 
134134#[ inline]  
135135    #[ cfg( feature = "global-context" ) ]  
136-     pub  fn  recover ( & self ,  msg :  & Message )  -> Result < key:: PublicKey ,  Error >  { 
136+     pub  fn  recover ( & self ,  msg :  impl   Into < Message > )  -> Result < key:: PublicKey ,  Error >  { 
137137        crate :: SECP256K1 . recover_ecdsa ( msg,  self ) 
138138    } 
139139} 
@@ -154,10 +154,11 @@ impl From<ffi::RecoverableSignature> for RecoverableSignature {
154154impl < C :  Signing >  Secp256k1 < C >  { 
155155    fn  sign_ecdsa_recoverable_with_noncedata_pointer ( 
156156        & self , 
157-         msg :  & Message , 
157+         msg :  impl   Into < Message > , 
158158        sk :  & key:: SecretKey , 
159159        noncedata_ptr :  * const  super_ffi:: types:: c_void , 
160160    )  -> RecoverableSignature  { 
161+         let  msg = msg. into ( ) ; 
161162        let  mut  ret = ffi:: RecoverableSignature :: new ( ) ; 
162163        unsafe  { 
163164            // We can assume the return value because it's not possible to construct 
@@ -182,7 +183,7 @@ impl<C: Signing> Secp256k1<C> {
182183/// Requires a signing-capable context. 
183184pub  fn  sign_ecdsa_recoverable ( 
184185        & self , 
185-         msg :  & Message , 
186+         msg :  impl   Into < Message > , 
186187        sk :  & key:: SecretKey , 
187188    )  -> RecoverableSignature  { 
188189        self . sign_ecdsa_recoverable_with_noncedata_pointer ( msg,  sk,  ptr:: null ( ) ) 
@@ -195,7 +196,7 @@ impl<C: Signing> Secp256k1<C> {
195196/// Requires a signing-capable context. 
196197pub  fn  sign_ecdsa_recoverable_with_noncedata ( 
197198        & self , 
198-         msg :  & Message , 
199+         msg :  impl   Into < Message > , 
199200        sk :  & key:: SecretKey , 
200201        noncedata :  & [ u8 ;  32 ] , 
201202    )  -> RecoverableSignature  { 
@@ -209,9 +210,10 @@ impl<C: Verification> Secp256k1<C> {
209210/// `msg`. Requires a verify-capable context. 
210211pub  fn  recover_ecdsa ( 
211212        & self , 
212-         msg :  & Message , 
213+         msg :  impl   Into < Message > , 
213214        sig :  & RecoverableSignature , 
214215    )  -> Result < key:: PublicKey ,  Error >  { 
216+         let  msg = msg. into ( ) ; 
215217        unsafe  { 
216218            let  mut  pk = super_ffi:: PublicKey :: new ( ) ; 
217219            if  ffi:: secp256k1_ecdsa_recover ( 
@@ -252,15 +254,15 @@ mod tests {
252254        let  ( sk,  pk)  = full. generate_keypair ( & mut  rand:: thread_rng ( ) ) ; 
253255
254256        // Try signing 
255-         assert_eq ! ( sign. sign_ecdsa_recoverable( & msg,  & sk) ,  full. sign_ecdsa_recoverable( & msg,  & sk) ) ; 
256-         let  sigr = full. sign_ecdsa_recoverable ( & msg,  & sk) ; 
257+         assert_eq ! ( sign. sign_ecdsa_recoverable( msg,  & sk) ,  full. sign_ecdsa_recoverable( msg,  & sk) ) ; 
258+         let  sigr = full. sign_ecdsa_recoverable ( msg,  & sk) ; 
257259
258260        // Try pk recovery 
259-         assert ! ( vrfy. recover_ecdsa( & msg,  & sigr) . is_ok( ) ) ; 
260-         assert ! ( full. recover_ecdsa( & msg,  & sigr) . is_ok( ) ) ; 
261+         assert ! ( vrfy. recover_ecdsa( msg,  & sigr) . is_ok( ) ) ; 
262+         assert ! ( full. recover_ecdsa( msg,  & sigr) . is_ok( ) ) ; 
261263
262-         assert_eq ! ( vrfy. recover_ecdsa( & msg,  & sigr) ,  full. recover_ecdsa( & msg,  & sigr) ) ; 
263-         assert_eq ! ( full. recover_ecdsa( & msg,  & sigr) ,  Ok ( pk) ) ; 
264+         assert_eq ! ( vrfy. recover_ecdsa( msg,  & sigr) ,  full. recover_ecdsa( msg,  & sigr) ) ; 
265+         assert_eq ! ( full. recover_ecdsa( msg,  & sigr) ,  Ok ( pk) ) ; 
264266    } 
265267
266268    #[ test]  
@@ -280,7 +282,7 @@ mod tests {
280282        let  sk = SecretKey :: from_slice ( & ONE ) . unwrap ( ) ; 
281283        let  msg = Message :: from_digest_slice ( & ONE ) . unwrap ( ) ; 
282284
283-         let  sig = s. sign_ecdsa_recoverable ( & msg,  & sk) ; 
285+         let  sig = s. sign_ecdsa_recoverable ( msg,  & sk) ; 
284286
285287        assert_eq ! ( Ok ( sig) ,  RecoverableSignature :: from_compact( & [ 
286288            0x66 ,  0x73 ,  0xff ,  0xad ,  0x21 ,  0x47 ,  0x74 ,  0x1f , 
@@ -306,7 +308,7 @@ mod tests {
306308        let  msg = Message :: from_digest_slice ( & ONE ) . unwrap ( ) ; 
307309        let  noncedata = [ 42u8 ;  32 ] ; 
308310
309-         let  sig = s. sign_ecdsa_recoverable_with_noncedata ( & msg,  & sk,  & noncedata) ; 
311+         let  sig = s. sign_ecdsa_recoverable_with_noncedata ( msg,  & sk,  & noncedata) ; 
310312
311313        assert_eq ! ( Ok ( sig) ,  RecoverableSignature :: from_compact( & [ 
312314            0xb5 ,  0x0b ,  0xb6 ,  0x79 ,  0x5f ,  0x31 ,  0x74 ,  0x8a , 
@@ -331,14 +333,14 @@ mod tests {
331333
332334        let  ( sk,  pk)  = s. generate_keypair ( & mut  rand:: thread_rng ( ) ) ; 
333335
334-         let  sigr = s. sign_ecdsa_recoverable ( & msg,  & sk) ; 
336+         let  sigr = s. sign_ecdsa_recoverable ( msg,  & sk) ; 
335337        let  sig = sigr. to_standard ( ) ; 
336338
337339        let  msg = crate :: random_32_bytes ( & mut  rand:: thread_rng ( ) ) ; 
338340        let  msg = Message :: from_digest_slice ( & msg) . unwrap ( ) ; 
339-         assert_eq ! ( s. verify_ecdsa( & msg,  & sig,  & pk) ,  Err ( Error :: IncorrectSignature ) ) ; 
341+         assert_eq ! ( s. verify_ecdsa( msg,  & sig,  & pk) ,  Err ( Error :: IncorrectSignature ) ) ; 
340342
341-         let  recovered_key = s. recover_ecdsa ( & msg,  & sigr) . unwrap ( ) ; 
343+         let  recovered_key = s. recover_ecdsa ( msg,  & sigr) . unwrap ( ) ; 
342344        assert ! ( recovered_key != pk) ; 
343345    } 
344346
@@ -353,9 +355,9 @@ mod tests {
353355
354356        let  ( sk,  pk)  = s. generate_keypair ( & mut  rand:: thread_rng ( ) ) ; 
355357
356-         let  sig = s. sign_ecdsa_recoverable ( & msg,  & sk) ; 
358+         let  sig = s. sign_ecdsa_recoverable ( msg,  & sk) ; 
357359
358-         assert_eq ! ( s. recover_ecdsa( & msg,  & sig) ,  Ok ( pk) ) ; 
360+         assert_eq ! ( s. recover_ecdsa( msg,  & sig) ,  Ok ( pk) ) ; 
359361    } 
360362
361363    #[ test]  
@@ -371,9 +373,9 @@ mod tests {
371373
372374        let  ( sk,  pk)  = s. generate_keypair ( & mut  rand:: thread_rng ( ) ) ; 
373375
374-         let  sig = s. sign_ecdsa_recoverable_with_noncedata ( & msg,  & sk,  & noncedata) ; 
376+         let  sig = s. sign_ecdsa_recoverable_with_noncedata ( msg,  & sk,  & noncedata) ; 
375377
376-         assert_eq ! ( s. recover_ecdsa( & msg,  & sig) ,  Ok ( pk) ) ; 
378+         assert_eq ! ( s. recover_ecdsa( msg,  & sig) ,  Ok ( pk) ) ; 
377379    } 
378380
379381    #[ test]  
@@ -386,10 +388,10 @@ mod tests {
386388
387389        // Zero is not a valid sig 
388390        let  sig = RecoverableSignature :: from_compact ( & [ 0 ;  64 ] ,  RecoveryId :: Zero ) . unwrap ( ) ; 
389-         assert_eq ! ( s. recover_ecdsa( & msg,  & sig) ,  Err ( Error :: InvalidSignature ) ) ; 
391+         assert_eq ! ( s. recover_ecdsa( msg,  & sig) ,  Err ( Error :: InvalidSignature ) ) ; 
390392        // ...but 111..111 is 
391393        let  sig = RecoverableSignature :: from_compact ( & [ 1 ;  64 ] ,  RecoveryId :: Zero ) . unwrap ( ) ; 
392-         assert ! ( s. recover_ecdsa( & msg,  & sig) . is_ok( ) ) ; 
394+         assert ! ( s. recover_ecdsa( msg,  & sig) . is_ok( ) ) ; 
393395    } 
394396
395397    #[ test]  
0 commit comments