solana_primitives/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
5pub enum SolanaError {
6 #[error("Invalid public key: {0}")]
7 InvalidPubkey(String),
8 #[error("Invalid signature: {0}")]
9 InvalidSignature(String),
10 #[error("Invalid instruction data")]
11 InvalidInstructionData,
12 #[error("Invalid message")]
13 InvalidMessage,
14 #[error("Invalid transaction")]
15 InvalidTransaction,
16 #[error("Serialization error: {0}")]
17 SerializationError(String),
18 #[error("Deserialization error: {0}")]
19 DeserializationError(String),
20 #[error("{0}")]
21 GenericError(String),
22}
23
24impl From<&str> for SolanaError {
25 fn from(s: &str) -> Self {
26 SolanaError::GenericError(s.to_string())
27 }
28}
29
30impl From<String> for SolanaError {
31 fn from(s: String) -> Self {
32 SolanaError::GenericError(s)
33 }
34}
35
36pub type Result<T> = std::result::Result<T, SolanaError>;