use reqwest::Url;
use crate::primitives::ChainId;
#[derive(Clone, Debug)]
pub struct ProviderConfig {
pub provider_url: Url,
pub chain_id: ChainId,
pub deployed_on_chain_id: ChainId,
pub max_requests: u64,
}
#[cfg(feature = "test_utils")]
pub const TEST_MAX_REQUESTS: u64 = 100;
#[cfg(feature = "test_utils")]
use lazy_static::lazy_static;
#[cfg(feature = "test_utils")]
lazy_static! {
static ref TEST_RPC_URL: String = std::env::var("PROVIDER_URL_ETHEREUM_SEPOLIA")
.expect("Environment variable PROVIDER_URL_ETHEREUM_SEPOLIA not set");
}
#[cfg(feature = "test_utils")]
impl Default for ProviderConfig {
fn default() -> Self {
Self {
provider_url: TEST_RPC_URL.parse().unwrap(),
chain_id: ChainId::EthereumSepolia,
deployed_on_chain_id: ChainId::EthereumSepolia,
max_requests: TEST_MAX_REQUESTS,
}
}
}