pub mod error;
pub mod helpers;
use crate::helpers::Receiver;
use tetsy_jsonrpc_derive::rpc;
use futures::{future::BoxFuture, compat::Compat};
use self::error::Result as SystemResult;
pub use self::helpers::{SystemInfo, Health, PeerInfo, NodeRole, SyncState};
pub use self::gen_client::Client as SystemClient;
#[rpc]
pub trait SystemApi<Hash, Number> {
#[rpc(name = "system_name")]
fn system_name(&self) -> SystemResult<String>;
#[rpc(name = "system_version")]
fn system_version(&self) -> SystemResult<String>;
#[rpc(name = "system_chain")]
fn system_chain(&self) -> SystemResult<String>;
#[rpc(name = "system_chainType")]
fn system_type(&self) -> SystemResult<tp_chain_spec::ChainType>;
#[rpc(name = "system_properties")]
fn system_properties(&self) -> SystemResult<tp_chain_spec::Properties>;
#[rpc(name = "system_health", returns = "Health")]
fn system_health(&self) -> Receiver<Health>;
#[rpc(name = "system_localPeerId", returns = "String")]
fn system_local_peer_id(&self) -> Receiver<String>;
#[rpc(name = "system_localListenAddresses", returns = "Vec<String>")]
fn system_local_listen_addresses(&self) -> Receiver<Vec<String>>;
#[rpc(name = "system_peers", returns = "Vec<PeerInfo<Hash, Number>>")]
fn system_peers(&self)
-> Compat<BoxFuture<'static, tetsy_jsonrpc_core::Result<Vec<PeerInfo<Hash, Number>>>>>;
#[rpc(name = "system_networkState", returns = "tetsy_jsonrpc_core::Value")]
fn system_network_state(&self)
-> Compat<BoxFuture<'static, tetsy_jsonrpc_core::Result<tetsy_jsonrpc_core::Value>>>;
#[rpc(name = "system_addReservedPeer", returns = "()")]
fn system_add_reserved_peer(&self, peer: String)
-> Compat<BoxFuture<'static, Result<(), tetsy_jsonrpc_core::Error>>>;
#[rpc(name = "system_removeReservedPeer", returns = "()")]
fn system_remove_reserved_peer(&self, peer_id: String)
-> Compat<BoxFuture<'static, Result<(), tetsy_jsonrpc_core::Error>>>;
#[rpc(name = "system_nodeRoles", returns = "Vec<NodeRole>")]
fn system_node_roles(&self) -> Receiver<Vec<NodeRole>>;
#[rpc(name = "system_syncState", returns = "SyncState<Number>")]
fn system_sync_state(&self) -> Receiver<SyncState<Number>>;
#[rpc(name = "system_addLogFilter", returns = "()")]
fn system_add_log_filter(&self, directives: String)
-> Result<(), tetsy_jsonrpc_core::Error>;
#[rpc(name = "system_resetLogFilter", returns = "()")]
fn system_reset_log_filter(&self)
-> Result<(), tetsy_jsonrpc_core::Error>;
}