extern crate miden_node_tracing as tracing;
pub mod block_cache;
pub mod clap;
pub mod cors;
#[cfg(feature = "testing")]
pub mod fee;
pub mod formatting;
pub mod fs;
pub mod genesis;
pub mod grpc;
pub mod limiter;
pub mod lru_cache;
pub mod retry;
pub mod shutdown;
pub mod tasks;
pub trait FlattenResult<V, OuterError, InnerError>
where
InnerError: Into<OuterError>,
{
fn flatten_result(self) -> Result<V, OuterError>;
}
impl<V, OuterError, InnerError> FlattenResult<V, OuterError, InnerError>
for Result<Result<V, InnerError>, OuterError>
where
OuterError: From<InnerError>,
{
fn flatten_result(self) -> Result<V, OuterError> {
match self {
Ok(Ok(value)) => Ok(value),
Ok(Err(inner)) => Err(inner.into()),
Err(outer) => Err(outer),
}
}
}