#![recursion_limit = "256"]
#![deny(
non_upper_case_globals,
non_camel_case_types,
non_snake_case,
unused_mut,
dead_code,
//missing_docs
)]
#[macro_use]
extern crate amplify;
#[macro_use]
extern crate strict_encoding;
#[cfg(feature = "serde")]
#[allow(unused_imports)]
#[macro_use]
extern crate serde_crate as serde;
#[cfg(feature = "serde")]
#[cfg_attr(feature = "shell", macro_use)]
extern crate serde_with;
#[cfg(feature = "clap")]
#[macro_use]
extern crate clap;
#[cfg_attr(feature = "_rpc", macro_use)]
extern crate log;
#[cfg(feature = "zmq")]
extern crate zmq2 as zmq;
#[cfg(feature = "cli")]
pub mod cli;
pub mod error;
#[cfg(feature = "_rpc")]
pub mod esb;
#[cfg(feature = "shell")]
mod format;
#[cfg(feature = "node")]
mod launcher;
#[cfg(feature = "node")]
pub mod node;
#[cfg(feature = "peer")]
pub mod peer;
#[cfg(feature = "_rpc")]
pub mod rpc;
#[cfg(feature = "shell")]
pub mod shell;
pub mod util;
#[cfg(feature = "zmq")]
use once_cell::sync::Lazy;
#[cfg(feature = "shell")]
pub use crate::format::{BinaryFormat, FileFormat, FormatParseError, StructuredFormat};
#[cfg(feature = "node")]
pub use crate::launcher::{DaemonHandle, Launcher, LauncherError};
#[cfg(feature = "zmq")]
pub static ZMQ_CONTEXT: Lazy<zmq::Context> = Lazy::new(zmq::Context::new);