lisk_api_rust_client/api/
mod.rs1pub mod accounts;
2pub mod blocks;
3pub mod dapps;
4pub mod delegates;
5pub mod models;
6pub mod node;
7pub mod peers;
8pub mod transactions;
9pub mod voters;
10pub mod votes;
11
12use self::accounts::Accounts;
13use self::blocks::Blocks;
14use self::dapps::Dapps;
15use self::delegates::Delegates;
16use self::models::Response;
17use self::node::Node;
18use self::peers::Peers;
19use self::transactions::Transactions;
20use self::voters::Voters;
21use self::votes::Votes;
22
23use super::error::Error;
24use http::client::Client;
25
26pub type Result<T> = std::result::Result<Response<T>, Error>;
27
28pub struct Api {
29 pub client: Client,
30 pub node: Node,
31 pub blocks: Blocks,
32 pub dapps: Dapps,
33 pub peers: Peers,
34 pub accounts: Accounts,
35 pub delegates: Delegates,
36 pub transactions: Transactions,
37 pub voters: Voters,
38 pub votes: Votes,
39}
40
41impl Api {
42 pub fn new(host: &str) -> Api {
43 Api::new_with_client(&Client::new(host))
44 }
45
46 pub fn new_with_client(client: &Client) -> Api {
47 let client = client.clone();
48
49 Api {
50 node: Node::new(client.clone()),
51 blocks: Blocks::new(client.clone()),
52 dapps: Dapps::new(client.clone()),
53 peers: Peers::new(client.clone()),
54 accounts: Accounts::new(client.clone()),
55 delegates: Delegates::new(client.clone()),
56 transactions: Transactions::new(client.clone()),
57 voters: Voters::new(client.clone()),
58 votes: Votes::new(client.clone()),
59 client,
60 }
61 }
62}