lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

error.rs (2051B)


      1 use thiserror::Error;
      2 
      3 #[derive(Debug, Error, Clone, PartialEq, Eq)]
      4 pub enum RadrootsNostrConnectError {
      5     #[error("NIP-46 request encryption failed: {reason}")]
      6     Encrypt { reason: String },
      7     #[error("NIP-46 response decryption failed: {reason}")]
      8     Decrypt { reason: String },
      9     #[error("NIP-46 event signing failed: {reason}")]
     10     Sign { reason: String },
     11     #[error("NIP-46 transport failed: {reason}")]
     12     Transport { reason: String },
     13     #[error("NIP-46 request timed out")]
     14     RequestTimedOut,
     15     #[error("invalid NIP-46 method `{0}`")]
     16     InvalidMethod(String),
     17     #[error("invalid NIP-46 permission `{0}`")]
     18     InvalidPermission(String),
     19     #[error("invalid public key `{value}`: {reason}")]
     20     InvalidPublicKey { value: String, reason: String },
     21     #[error("invalid relay url `{value}`: {reason}")]
     22     InvalidRelayUrl { value: String, reason: String },
     23     #[error("invalid url `{value}`: {reason}")]
     24     InvalidUrl { value: String, reason: String },
     25     #[error("invalid URI scheme `{0}`")]
     26     InvalidUriScheme(String),
     27     #[error("invalid NIP-46 uri")]
     28     InvalidUri,
     29     #[error("missing public key in URI authority")]
     30     MissingPublicKey,
     31     #[error("missing relay in URI")]
     32     MissingRelay,
     33     #[error("missing secret in nostrconnect uri")]
     34     MissingSecret,
     35     #[error("missing response result")]
     36     MissingResult,
     37     #[error("invalid parameter count for method `{method}`: expected {expected}, got {received}")]
     38     InvalidParams {
     39         method: String,
     40         expected: &'static str,
     41         received: usize,
     42     },
     43     #[error("invalid request payload for method `{method}`: {reason}")]
     44     InvalidRequestPayload { method: String, reason: String },
     45     #[error("invalid response payload for method `{method}`: {reason}")]
     46     InvalidResponsePayload { method: String, reason: String },
     47     #[error("JSON error: {0}")]
     48     Json(String),
     49 }
     50 
     51 impl From<serde_json::Error> for RadrootsNostrConnectError {
     52     fn from(value: serde_json::Error) -> Self {
     53         Self::Json(value.to_string())
     54     }
     55 }