dpp/bls/
mod.rs

1#[cfg(feature = "bls-signatures")]
2pub mod native_bls;
3
4use crate::{ProtocolError, PublicKeyValidationError};
5
6pub trait BlsModule {
7    fn validate_public_key(&self, pk: &[u8]) -> Result<(), PublicKeyValidationError>;
8    fn verify_signature(
9        &self,
10        signature: &[u8],
11        data: &[u8],
12        public_key: &[u8],
13    ) -> Result<bool, ProtocolError>;
14    fn private_key_to_public_key(&self, private_key: &[u8]) -> Result<Vec<u8>, ProtocolError>;
15    fn sign(&self, data: &[u8], private_key: &[u8]) -> Result<Vec<u8>, ProtocolError>;
16}