pub trait BlsModule {
// Required methods
fn validate_public_key(
&self,
pk: &[u8],
) -> Result<(), PublicKeyValidationError>;
fn verify_signature(
&self,
signature: &[u8],
data: &[u8],
public_key: &[u8],
) -> Result<bool, ProtocolError>;
fn private_key_to_public_key(
&self,
private_key: &[u8],
) -> Result<Vec<u8>, ProtocolError>;
fn sign(
&self,
data: &[u8],
private_key: &[u8],
) -> Result<Vec<u8>, ProtocolError>;
}Required Methods§
fn validate_public_key(&self, pk: &[u8]) -> Result<(), PublicKeyValidationError>
fn verify_signature( &self, signature: &[u8], data: &[u8], public_key: &[u8], ) -> Result<bool, ProtocolError>
fn private_key_to_public_key( &self, private_key: &[u8], ) -> Result<Vec<u8>, ProtocolError>
fn sign( &self, data: &[u8], private_key: &[u8], ) -> Result<Vec<u8>, ProtocolError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".