diff --git a/substrate/primitives/runtime/src/traits.rs b/substrate/primitives/runtime/src/traits.rs index 1ff27123810b5c4088ed450f68ced1d6a1e34ef2..17dc7ce50ea8b90254c41c388b2adf550730cef4 100644 --- a/substrate/primitives/runtime/src/traits.rs +++ b/substrate/primitives/runtime/src/traits.rs @@ -2299,11 +2299,27 @@ pub trait BlockNumberProvider { mod tests { use super::*; use crate::codec::{Decode, Encode, Input}; + #[cfg(feature = "bls-experimental")] + use sp_core::{bls377, bls381}; use sp_core::{ crypto::{Pair, UncheckedFrom}, - ecdsa, + ecdsa, ed25519, sr25519, }; + macro_rules! signature_verify_test { + ($algorithm:ident) => { + let msg = &b"test-message"[..]; + let wrong_msg = &b"test-msg"[..]; + let (pair, _) = $algorithm::Pair::generate(); + + let signature = pair.sign(&msg); + assert!($algorithm::Pair::verify(&signature, msg, &pair.public())); + + assert!(signature.verify(msg, &pair.public())); + assert!(!signature.verify(wrong_msg, &pair.public())); + }; + } + mod t { use sp_application_crypto::{app_crypto, sr25519}; use sp_core::crypto::KeyTypeId; @@ -2413,15 +2429,28 @@ mod tests { assert_eq!(buffer, [0, 0]); } + #[test] + fn ed25519_verify_works() { + signature_verify_test!(ed25519); + } + + #[test] + fn sr25519_verify_works() { + signature_verify_test!(sr25519); + } + #[test] fn ecdsa_verify_works() { - let msg = &b"test-message"[..]; - let (pair, _) = ecdsa::Pair::generate(); + signature_verify_test!(ecdsa); + } - let signature = pair.sign(&msg); - assert!(ecdsa::Pair::verify(&signature, msg, &pair.public())); + #[cfg(feature = "bls-experimental")] + fn bls377_verify_works() { + signature_verify_test!(bls377) + } - assert!(signature.verify(msg, &pair.public())); - assert!(signature.verify(msg, &pair.public())); + #[cfg(feature = "bls-experimental")] + fn bls381_verify_works() { + signature_verify_test!(bls381) } } diff --git a/substrate/test-utils/runtime/Cargo.toml b/substrate/test-utils/runtime/Cargo.toml index 320d0e07deceb18c2f0627bc7ce9567c38c903c0..43ab0da98bd6a905c5890048834e9566848cf289 100644 --- a/substrate/test-utils/runtime/Cargo.toml +++ b/substrate/test-utils/runtime/Cargo.toml @@ -83,7 +83,6 @@ std = [ "log/std", "sp-offchain/std", "sp-core/std", - "sp-core/std", "sp-std/std", "sp-io/std", "frame-support/std",