#![cfg_attr(not(any(feature = "std", feature = "http", feature = "wasi")), no_std)]
#![cfg_attr(target_family = "wasm", allow(clippy::arc_with_non_send_sync))]
#[cfg(all(
feature = "http",
not(any(
all(feature = "std", not(target_family = "wasm")),
all(feature = "wasm", target_family = "wasm", target_os = "unknown")
))
))]
compile_error!("feature `http` requires a runtime: enable `std` on native targets or wasm on wasm32");
extern crate alloc;
mod builder;
mod client;
mod config;
mod error;
mod marker;
pub mod math;
mod model;
mod rep;
mod runtime;
mod swap;
mod sync;
mod transport;
mod user;
#[cfg(feature = "codec")]
mod codec;
#[cfg(feature = "std")]
mod genesis;
#[cfg(feature = "http")]
mod network;
#[cfg(feature = "codec")]
#[allow(clippy::all, dead_code, unused_imports, missing_docs)]
pub mod generated {
include!(concat!(env!("OUT_DIR"), "/codegen_types.rs"));
#[cfg(feature = "http")]
include!(concat!(env!("OUT_DIR"), "/codegen_client.rs"));
}
pub use builder::TransactionBuilder;
pub use client::KeetaClient;
pub use config::ClientConfig;
pub use error::ClientError;
pub use keetanetwork_error::{KeetaNetError, NodeErrorType};
pub use keetanetwork_vote::{Vote, VoteQuote, VoteStaple};
pub use marker::{MaybeSend, MaybeSync};
pub use model::{
AccountInfo, AccountOrPending, AccountState, Acl, Certificate, ChainPage, ChainQuery, HistoryEntry, HistoryQuery,
LedgerChecksum, PendingAccount, Representative, TokenBalance, TransmitOptions,
};
pub use rep::RepPart;
pub use runtime::{BoxFuture, Runtime, TaskHandle};
pub use swap::{AcceptSwapRequest, CreateSwapRequest, SwapExpectation, SwapTokenAmount};
pub use transport::{LedgerSide, NodeTransport, TransportFactory};
pub use user::UserClient;
#[cfg(feature = "http")]
pub use {
network::{Network, NetworkConfig},
rep::RepEndpoint,
reqwest,
transport::{ApiError, GeneratedTransport, GeneratedTransportFactory},
};
#[cfg(feature = "std")]
pub use {
genesis::{BaseNetworkInfo, BaseTokenInfo, InitializeNetwork},
model::RepStatus,
runtime::TokioRuntime,
};
#[cfg(all(feature = "wasm", target_family = "wasm", target_os = "unknown"))]
pub use runtime::WasmRuntime;
#[cfg(all(feature = "wasi", target_os = "wasi"))]
pub use {
runtime::WasiRuntime,
transport::{WasiTransport, WasiTransportFactory},
};