1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// Copyright (c) Subzero Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
//! RPC client and utilities for communicating with the Rialo blockchain.
//!
//! This module provides functionality for making JSON-RPC calls to Rialo nodes,
//! including transaction submission, account queries, and blockchain state retrieval.
//!
//! # Submodules
//!
//! - [`client`]: HTTP-based RPC client implementation (requires `rpc-client` feature)
//! - [`mock_client`]: Mock RPC client for testing (requires `bincode` feature)
//! - [`traits`]: Core `RpcClient` trait defining the RPC interface
//! - [`types`]: Type definitions for RPC requests and responses
//! - [`airdrop`]: Airdrop utilities for development environments (non-WASM only)
//! - [`transaction_utils`]: Transaction confirmation helpers (non-WASM only)
//!
//! # Example
//!
//! ```rust,no_run
//! use rialo_cdk::rpc::{HttpRpcClient, RpcClient};
//!
//! #[tokio::main]
//! async fn main() -> rialo_cdk::Result<()> {
//! let client = HttpRpcClient::new("http://127.0.0.1:4104".to_string());
//!
//! let block_height = client.get_block_height().await?;
//! println!("Current block height: {}", block_height);
//!
//! Ok(())
//! }
//! ```
// Transaction and airdrop utilities (non-WASM only)
// Re-export utility functions
pub use *;
pub use HttpRpcClient;
pub use RpcClient;
pub use *;
pub use *;