1extern crate miden_node_tracing as tracing;
3
4pub mod block_cache;
5pub mod clap;
6pub mod cors;
7#[cfg(feature = "testing")]
8pub mod fee;
9pub mod formatting;
10pub mod fs;
11pub mod genesis;
12pub mod grpc;
13pub mod limiter;
14pub mod lru_cache;
15pub mod retry;
16pub mod shutdown;
17pub mod tasks;
18
19pub trait FlattenResult<V, OuterError, InnerError>
23where
24 InnerError: Into<OuterError>,
25{
26 fn flatten_result(self) -> Result<V, OuterError>;
27}
28
29impl<V, OuterError, InnerError> FlattenResult<V, OuterError, InnerError>
30 for Result<Result<V, InnerError>, OuterError>
31where
32 OuterError: From<InnerError>,
33{
34 fn flatten_result(self) -> Result<V, OuterError> {
35 match self {
36 Ok(Ok(value)) => Ok(value),
37 Ok(Err(inner)) => Err(inner.into()),
38 Err(outer) => Err(outer),
39 }
40 }
41}