1#[derive(Debug, Error)]
17pub enum GroupError {
18 #[error("{}: {}", _0, _1)]
19 Crate(&'static str, String),
20
21 #[error("{}", _0)]
22 FieldError(snarkvm_fields::FieldError),
23
24 #[error("Invalid group element")]
25 InvalidGroupElement,
26
27 #[error("Attempting to parse an invalid string into a group element")]
28 InvalidString,
29
30 #[error("{}", _0)]
31 Message(String),
32
33 #[error("Attempting to parse an empty string into a group element")]
34 ParsingEmptyString,
35
36 #[error("Attempting to parse a non-digit character into a group element")]
37 ParsingNonDigitCharacter,
38}
39
40impl From<snarkvm_fields::FieldError> for GroupError {
41 fn from(error: snarkvm_fields::FieldError) -> Self {
42 GroupError::FieldError(error)
43 }
44}
45
46impl From<std::io::Error> for GroupError {
47 fn from(error: std::io::Error) -> Self {
48 GroupError::Crate("std::io", format!("{error:?}"))
49 }
50}
51
52impl From<GroupError> for std::io::Error {
53 fn from(error: GroupError) -> Self {
54 std::io::Error::other(format!("{error}"))
55 }
56}