Skip to content

Commit a184212

Browse files
authored
Merge pull request #212 from fanatid/verify-doctest
Add doctest to Secp256k1::verify
2 parents e6a82fa + 0dcc59c commit a184212

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

src/lib.rs

+23
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,29 @@ impl<C: Verification> Secp256k1<C> {
667667
/// be used for Bitcoin consensus checking since there may exist signatures
668668
/// which OpenSSL would verify but not libsecp256k1, or vice-versa. Requires a
669669
/// verify-capable context.
670+
///
671+
/// ```rust
672+
/// # extern crate secp256k1;
673+
/// # #[cfg(feature="rand")]
674+
/// # extern crate rand;
675+
/// #
676+
/// # fn main() {
677+
/// # #[cfg(feature="rand")] {
678+
/// # use rand::OsRng;
679+
/// # use secp256k1::{Secp256k1, Message, Error};
680+
/// #
681+
/// # let secp = Secp256k1::new();
682+
/// # let mut rng = OsRng::new().expect("OsRng");
683+
/// # let (secret_key, public_key) = secp.generate_keypair(&mut rng);
684+
/// #
685+
/// let message = Message::from_slice(&[0xab; 32]).expect("32 bytes");
686+
/// let sig = secp.sign(&message, &secret_key);
687+
/// assert_eq!(secp.verify(&message, &sig, &public_key), Ok(()));
688+
///
689+
/// let message = Message::from_slice(&[0xcd; 32]).expect("32 bytes");
690+
/// assert_eq!(secp.verify(&message, &sig, &public_key), Err(Error::IncorrectSignature));
691+
/// # } }
692+
/// ```
670693
#[inline]
671694
pub fn verify(&self, msg: &Message, sig: &Signature, pk: &key::PublicKey) -> Result<(), Error> {
672695
unsafe {

0 commit comments

Comments
 (0)