prova_agent_sdk/
errors.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum ProvaError {
5 #[error("Agent not found: {0}")]
6 AgentNotFound(String),
7
8 #[error("Agent has been revoked: {0}")]
9 AgentRevoked(String),
10
11 #[error("Attestation not found: {0}")]
12 AttestationNotFound(String),
13
14 #[error("Invalid cryptographic signature")]
15 InvalidSignature,
16
17 #[error("Batch size exceeds limit of {0}")]
18 BatchLimitExceeded(usize),
19
20 #[error("Unauthorized: {0}")]
21 Unauthorized(String),
22
23 #[error("RPC error: {0}")]
24 RpcError(String),
25
26 #[error("Serialization error: {0}")]
27 SerializationError(#[from] serde_json::Error),
28
29 #[error("Transaction error: {0}")]
30 TransactionError(String),
31
32 #[error("Invalid input: {0}")]
33 InvalidInput(String),
34
35 #[error("Account deserialization error: {0}")]
36 AccountError(String),
37}
38
39impl From<solana_client::client_error::ClientError> for ProvaError {
40 fn from(e: solana_client::client_error::ClientError) -> Self {
41 ProvaError::RpcError(e.to_string())
42 }
43}
44
45impl From<solana_sdk::signer::SignerError> for ProvaError {
46 fn from(e: solana_sdk::signer::SignerError) -> Self {
47 ProvaError::TransactionError(e.to_string())
48 }
49}