use thiserror::Error;
pub type Result<T> = std::result::Result<T, ZkpError>;
#[non_exhaustive]
#[derive(Debug, Error)]
pub enum ZkpError {
#[error("Invalid commitment: {0}")]
InvalidCommitment(String),
#[error("Invalid public key")]
InvalidPublicKey,
#[error("Invalid scalar value")]
InvalidScalar,
#[error("Serialization error: {0}")]
SerializationError(String),
}