use aigc_chain as chain;
use aigc_core as core;
use aigc_p2p as p2p;
use aigc_pool as pool;
use aigc_util as util;
#[macro_use]
extern crate failure_derive;
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
#[macro_use]
extern crate log;
#[macro_use]
mod web;
pub mod auth;
pub mod client;
mod foreign;
mod foreign_rpc;
mod handlers;
pub mod json_rpc;
mod owner;
mod owner_rpc;
mod rest;
mod router;
pub mod types;
pub use crate::auth::{
BasicAuthMiddleware, BasicAuthURIMiddleware, AIGC_BASIC_REALM, AIGC_FOREIGN_BASIC_REALM,
};
pub use crate::foreign::Foreign;
pub use crate::foreign_rpc::ForeignRpc;
pub use crate::handlers::node_apis;
pub use crate::owner::Owner;
pub use crate::owner_rpc::OwnerRpc;
pub use crate::rest::*;
pub use crate::router::*;
pub use crate::types::*;
pub use crate::web::*;