pub struct ClientConfig {
/// Primary RPC endpoint
pub rpc_url: String,
/// Fallback RPC endpoints for failover
pub rpc_urls: Vec<String>,
/// Network (mainnet, testnet, regtest)
pub network: String,
/// Default gas limit
pub default_gas_limit: u64,
/// Request timeout in milliseconds
pub timeout_ms: u64,
/// Max requests per second (rate limiting)
pub max_requests_per_second: u32,
}
impl Default for ClientConfig {
fn default() -> Self {
Self {
rpc_url: "http://localhost:8545".to_string(),
rpc_urls: Vec::new(),
network: "regtest".to_string(),
default_gas_limit: 2_000_000,
timeout_ms: 30000,
max_requests_per_second: 100,
}
}
}