onemoney_protocol/lib.rs
1//! # OneMoney Rust SDK
2//!
3//! Official Rust SDK for OneMoney L1 blockchain REST API.
4//!
5//! ## Quick Start
6//!
7//! ```rust
8//! use onemoney_protocol::{Client, ClientBuilder, Network};
9//!
10//! #[tokio::main]
11//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
12//! // Create clients for different networks
13//! let mainnet_client = Client::mainnet()?; // Mainnet
14//! let testnet_client = Client::testnet()?; // Testnet
15//! let local_client = Client::local()?; // Local development
16//!
17//! // Or use the builder pattern
18//! let client = ClientBuilder::new()
19//! .network(Network::Testnet)
20//! .timeout(std::time::Duration::from_secs(30))
21//! .build()?;
22//!
23//!
24//! Ok(())
25//! }
26//! ```
27
28pub mod api;
29pub mod client;
30pub mod crypto;
31pub mod error;
32pub mod transport;
33pub mod types;
34pub mod utils;
35
36// Re-export payload types from requests module
37pub use client::{Client, ClientBuilder, Network};
38pub use crypto::{Signable, sign_transaction_payload, *};
39pub use error::{ConfigError, CryptoError, Error, Result};
40pub use requests::{
41 PaymentPayload, TokenAuthorityPayload, TokenBlacklistPayload, TokenBurnPayload,
42 TokenMetadataUpdatePayload, TokenMintPayload, TokenPausePayload, TokenWhitelistPayload,
43};
44pub use transport::*;
45pub use types::*;
46pub use utils::*;