1use thiserror::Error;
4
5#[derive(Debug, Clone, PartialEq, Eq, Error)]
7pub enum HdError {
8 #[error("Invalid seed length: expected 64 bytes, got {0}")]
10 InvalidSeedLength(usize),
11
12 #[error("Invalid derived key (zero or >= curve order)")]
14 InvalidDerivedKey,
15
16 #[error("Invalid derivation path: {0}")]
18 InvalidPath(String),
19
20 #[error("Hardened derivation requires private key")]
22 HardenedFromPublic,
23
24 #[error("Invalid extended key format")]
26 InvalidExtendedKey,
27
28 #[error("Invalid checksum")]
30 InvalidChecksum,
31
32 #[error("Invalid child number: {0}")]
34 InvalidChildNumber(u32),
35
36 #[error("Key derivation failed")]
38 DerivationFailed,
39
40 #[error("Invalid version bytes")]
42 InvalidVersion,
43}