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::*;