use ethers::prelude::*;
use super::networks::{self, NetworkConfig};
use crate::error::CryptoError;
pub fn create_provider(network: &NetworkConfig) -> Result<Provider<Http>, CryptoError> {
Provider::<Http>::try_from(network.rpc_url.as_str()).map_err(|e| {
CryptoError::SerializationError(format!(
"Failed to create provider for {}: {}",
network.name, e
))
})
}
pub fn create_gnosis_provider() -> Result<Provider<Http>, CryptoError> {
create_provider(&networks::gnosis())
}
pub fn create_peaq_provider() -> Result<Provider<Http>, CryptoError> {
create_provider(&networks::peaq())
}
pub fn create_agung_provider() -> Result<Provider<Http>, CryptoError> {
create_provider(&networks::agung())
}