apex_sdk/
lib.rs

1//! # Apex SDK
2//!
3//! The industry's first unified Rust SDK for Substrate & EVM blockchain development.
4//!
5//! ## Features
6//!
7//! - **Unified Interface**: Single API for both Substrate and EVM blockchains
8//! - **Compile-Time Type Safety**: Catch errors before deployment
9//! - **Native Performance**: Rust-based implementation
10//! - **Cross-Chain Ready**: Built-in cross-chain communication support
11//!
12//! ## Example
13//!
14//! ```rust,no_run
15//! use apex_sdk::prelude::*;
16//!
17//! #[tokio::main]
18//! async fn main() -> anyhow::Result<()> {
19//!     let sdk = ApexSDK::builder()
20//!         .with_substrate_endpoint("wss://polkadot.api.onfinality.io/public-ws")
21//!         .with_evm_endpoint("https://mainnet.infura.io/v3/YOUR_KEY")
22//!         .build()
23//!         .await?;
24//!     
25//!     Ok(())
26//! }
27//! ```
28
29pub mod advanced;
30pub mod builder;
31pub mod error;
32pub mod error_recovery;
33pub mod performance;
34pub mod sdk;
35pub mod transaction;
36
37pub use apex_sdk_core as core;
38pub use apex_sdk_evm as evm;
39pub use apex_sdk_substrate as substrate;
40pub use apex_sdk_types as types;
41
42pub use advanced::{
43    BlockInfo, BlockSubscription, EventSubscription, ParallelExecutor, TransactionBatch,
44};
45pub use builder::ApexSDKBuilder;
46pub use error::{Error, Result};
47pub use error_recovery::{with_retry, CircuitBreaker, RetryConfig};
48pub use performance::{
49    batch_execute, parallel_execute, AsyncMemo, BatchConfig, ConnectionPool, RateLimiter,
50};
51pub use sdk::ApexSDK;
52pub use transaction::{Transaction, TransactionBuilder, TransactionResult};
53
54/// Common imports for convenience
55pub mod prelude {
56    pub use crate::builder::ApexSDKBuilder;
57    pub use crate::error::{Error, Result};
58    pub use crate::error_recovery::{with_retry, CircuitBreaker, RetryConfig};
59    pub use crate::sdk::ApexSDK;
60    pub use crate::transaction::{Transaction, TransactionBuilder, TransactionResult};
61    pub use apex_sdk_types::{Address, Chain, ChainType, TransactionStatus};
62}