use crate::bls12381::min_sig::BLS12381KeyPair;
use crate::hash::{HashFunction, Sha256};
use crate::signature_service::SignatureService;
use crate::traits::{KeyPair, VerifyingKey};
use rand::rngs::StdRng;
use rand::SeedableRng;
#[tokio::test]
async fn signature_service() {
let mut rng = StdRng::from_seed([0; 32]);
let kp = BLS12381KeyPair::generate(&mut rng);
let pk = kp.public().clone();
let service = SignatureService::new(kp);
let message: &[u8] = b"Hello, world!";
let digest = Sha256::digest(message);
let signature = service.request_signature(digest).await;
assert!(pk.verify(digest.as_ref(), &signature).is_ok());
}