pub mod group_key_reveal;
pub mod proof;
pub mod taproot_proof;
pub mod tx;
pub type Result<T> = core::result::Result<T, Error>;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum Error {
GroupKeyReveal(group_key_reveal::Error),
Proof(proof::Error),
TaprootProof(taproot_proof::Error),
Tx(tx::Error),
}
impl From<group_key_reveal::Error> for Error {
fn from(err: group_key_reveal::Error) -> Self {
Self::GroupKeyReveal(err)
}
}
impl From<proof::Error> for Error {
fn from(err: proof::Error) -> Self {
Self::Proof(err)
}
}
impl From<taproot_proof::Error> for Error {
fn from(err: taproot_proof::Error) -> Self {
Self::TaprootProof(err)
}
}
impl From<tx::Error> for Error {
fn from(err: tx::Error) -> Self {
Self::Tx(err)
}
}
impl core::fmt::Display for Error {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Error::GroupKeyReveal(err) => core::fmt::Display::fmt(err, f),
Error::Proof(err) => core::fmt::Display::fmt(err, f),
Error::TaprootProof(err) => core::fmt::Display::fmt(err, f),
Error::Tx(err) => core::fmt::Display::fmt(err, f),
}
}
}