1
2use std::fmt;
3
4use bitcoin::secp256k1::PublicKey;
5
6
7
8#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, thiserror::Error)]
10#[error("incorrect signing key: required={required:?}, provided={provided}")]
11pub struct IncorrectSigningKeyError {
12 pub required: Option<PublicKey>,
14 pub provided: PublicKey,
16}
17
18impl fmt::Debug for IncorrectSigningKeyError {
19 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
20 f.debug_struct("IncorrectSigningKeyError")
21 .field("required", &self.required.map(|pk| pk.to_string()).unwrap_or("None".into()))
22 .field("provided", &self.provided.to_string())
23 .finish()
24 }
25}