diff --git a/src/core/validations/cast.rs b/src/core/validations/cast.rs index c2175c21..26760d2c 100644 --- a/src/core/validations/cast.rs +++ b/src/core/validations/cast.rs @@ -31,7 +31,7 @@ pub fn validate_cast_add_body( Ok(CastType::TenKCast) if text_bytes.len() <= 1024 => { return Err(ValidationError::TextTooLongFor10kCast); } - Err(_) => { + Err(e) => { return Err(ValidationError::InvalidCastType); } _ => {} diff --git a/src/core/validations/error.rs b/src/core/validations/error.rs index c1c23883..34853ac0 100644 --- a/src/core/validations/error.rs +++ b/src/core/validations/error.rs @@ -154,4 +154,10 @@ pub enum ValidationError { InvalidStorageUnitType, #[error("num storage units too large")] ExceededMaxStorageUnits, + #[error("Failed to decode protobuf data: {0}")] + DecodeError(String), + #[error("Failed to verify signature: {0}")] + SignatureVerificationError(String), + #[error("Failed to verify claim signature: {0}")] + ClaimSignatureVerificationError(String), } diff --git a/src/core/validations/message.rs b/src/core/validations/message.rs index 19e4641a..b146a42e 100644 --- a/src/core/validations/message.rs +++ b/src/core/validations/message.rs @@ -101,8 +101,8 @@ pub fn validate_message( Ok(data) => { message_data = data.clone(); } - Err(_) => { - return Err(ValidationError::InvalidData); + Err(e) => { + return Err(ValidationError::DecodeError(e.to_string())); } } } else { diff --git a/src/core/validations/verification.rs b/src/core/validations/verification.rs index 81a0306b..206819c0 100644 --- a/src/core/validations/verification.rs +++ b/src/core/validations/verification.rs @@ -315,7 +315,7 @@ where Verification::Valid => Ok(()), Verification::Invalid => Err(ValidationError::InvalidClaimSignature), }, - Err(_) => Err(ValidationError::InvalidClaimSignature), + Err(e) => Err(ValidationError::ClaimSignatureVerificationError(e.to_string())), } } @@ -456,7 +456,7 @@ fn validate_verification_add_sol_address_signature( match public_key.unwrap().verify_strict(&full_message, &signature) { Ok(_) => Ok(()), - Err(_) => Err(ValidationError::InvalidSignature), + Err(e) => Err(ValidationError::SignatureVerificationError(e.to_string())), } }