Skip to main content

nostro2_signer/
errors.rs

1//! Error types for the nostro2-signer crate
2//!
3//! This module contains all error types that can be returned by keypair and signing operations.
4
5/// Errors that can occur when working with Nostr keypairs and cryptographic operations
6#[derive(Debug, thiserror::Error)]
7pub enum NostrKeypairError {
8    #[error("Invalid key")]
9    InvalidKey,
10    #[error("Bech32 decode error {0}")]
11    Bech32DecodeError(#[from] bech32::DecodeError),
12    #[error("Bech32 encode error {0}")]
13    Bech32EncodeError(#[from] bech32::EncodeError),
14    #[error("Hex decode error {0}")]
15    HexDecodeError(#[from] hex::FromHexError),
16    #[error("Invalid hrp")]
17    HrpParseError,
18    #[error("Nostr error {0}")]
19    Nip01Error(#[from] nostro2::errors::NostrErrors),
20    #[error("Nip04 error {0}")]
21    Nip04Error(#[from] nostro2_nips::Nip04Error),
22    #[error("Nip44 error {0}")]
23    Nip44Error(#[from] nostro2_nips::Nip44Error),
24    #[error("Nip59 error {0}")]
25    Nip59Error(#[from] nostro2_nips::Nip59Error),
26    #[error("K256 error {0}")]
27    K256Error(#[from] k256::elliptic_curve::Error),
28    #[error("Conversion error {0}")]
29    ConversionError(#[from] std::convert::Infallible),
30    #[error("Shared secret error")]
31    SharedSecretError,
32    #[error("Not extractable")]
33    NotExtractable,
34    #[error("BIP39 error {0}")]
35    Bip39Error(#[from] bip39::Error),
36}