solana_binary_encoder/sanitize.rs
1
2use thiserror::Error;
3
4#[derive(PartialEq, Debug, Error, Eq, Clone)]
5pub enum SanitizeError {
6 #[error("index out of bounds")]
7 IndexOutOfBounds,
8 // #[error("value out of bounds")]
9 // ValueOutOfBounds,
10 #[error("invalid value")]
11 InvalidValue,
12}
13
14/// A trait for sanitizing values and members of over-the-wire messages.
15pub trait Sanitize {
16 fn sanitize(&self) -> Result<(), SanitizeError> {
17 Ok(())
18 }
19}
20
21impl<T: Sanitize> Sanitize for Vec<T> {
22 fn sanitize(&self) -> Result<(), SanitizeError> {
23 for x in self.iter() {
24 x.sanitize()?;
25 }
26 Ok(())
27 }
28}