pub fn recover(mut self, message: &Message) -> Result<PublicKey, Error> {
            let signature = self.to_secp();
            let message = message.to_secp();

            let pk = RECOVER_SECP
                .recover(&message, &signature)
                .map(|pk| PublicKey::from_secp(&pk))?;

            Ok(pk)
        }
/// Recover the public key from a signature performed with
/// [`Signature::sign`]
///
/// It takes the signature as owned because this operation is not idempotent. The taken
/// signature will not be recoverable. Signatures are meant to be single use, so this
/// avoids unnecessary copy.
Recover the public key from a signature performed with
[`Signature::sign`]

It takes the signature as owned because this operation is not idempotent. The taken
signature will not be recoverable. Signatures are meant to be single use, so this
avoids unnecessary copy.
Recover the public key from a signature performed with [ ` Signature :: sign ` ] It takes the signature as owned because this operation is not idempotent . The taken signature will not be recoverable . Signatures are meant to be single use so this avoids unnecessary copy .
pub fn recover(mut self, message: &Message) -> Result<PublicKey, Error> {
            let signature = self.to_secp();
            let message = message.to_secp();
            let pk = RECOVER_SECP
                .recover(&message, &signature)
                .map(|pk| PublicKey::from_secp(&pk))?;
            Ok(pk)
        }
pub fn recover ( mut self , message : & Message ) -> Result < PublicKey , Error > { let signature = self . to_secp ( ) ; let message = message . to_secp ( ) ; let pk = RECOVER_SECP . recover ( & message , & signature ) . map ( | pk | PublicKey :: from_secp ( & pk ) ) ? ; Ok ( pk ) }
Recover the public key from a signature performed with
[`Signature::sign`]
Recover the public key from a signature performed with [ ` Signature :: sign ` ]
mut self
message
&Message